Sha256: 2f6ca00b8ef8decab9334b2b161c62d6a6bc3d3d2ac1712a257ceda6229a5139

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'

describe User do
  before(:all) { Role.create :name => "admin" }

  context "#create" do
    let(:user) { Factory.build(:user) }

    it "should not be anonymous" do
      user.should_not be_anonymous
    end
  end

  context "anonymous!" do
    let(:user) { User.anonymous! }

    it "should create a new user" do
      user.new_record?.should be_false
    end

    it "should create a user with an example.net email" do
      user.email.should =~ /@example.net$/
    end

    it "should be anonymous" do
      user.should be_anonymous
    end
  end

  context "#save" do
    let(:user) { Factory.build(:user) }

    context "when there are no admin users" do
      it "should assign the user an admin role" do
        user.save
        user.has_role?("admin").should be_true
      end
    end
    context "when there are existing admin users" do
      before { Factory(:admin_user) }
      it "should not assign the user an admin role" do
        user.save
        user.has_role?('anonymous?').should be_false
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
MyCommerceapi-1.0.0 auth/spec/models/user_spec.rb
MyCommerce-0.0.3 auth/spec/models/user_spec.rb