Sha256: 4dcf157cf450b0f6e957e6652537777bc97bfb88c66dcb6718ff5f80c799e625
Contents?: true
Size: 1.75 KB
Versions: 2
Compression:
Stored size: 1.75 KB
Contents
require 'rails_helper' RSpec.describe Role, type: :model do before :all do end let(:user) { User.make! } let(:company) { Company.make! } let(:project) { Project.make! } it "allows user assignment to super user" do ur = Role.new(user: user, ownable: SuperUser.new ) ur.valid?.should be_truthy end it "allows user assignment to company admin" do ur = Role.create(user:user, ownable: company) ur.valid?.should be_truthy end it "invalidates a user role with an invalid ownable like 'Role'" do ur = Role.create(user:user, ownable: Role.new) ur.valid?.should be_falsey end context "User helper methods" do it "should register a user as a super user" do user.superuser?.should == false ur = Role.create!(user:user, ownable: SuperUser.new) user.reload user.superuser?.should == true end it "should register a company admin" do user.admin?(company).should == false ur = Role.create!(user:user, ownable: company) user.reload user.admin?(company).should == true end it "should register a project administrator" do user.admin?(project).should == false ur = Role.create!(user:user, ownable: project) user.reload user.admin?(project).should == true end it "should register a user a company admin if admin of any company" do user.company_admin?.should == false ur = Role.create!(user:user, ownable: company) user.reload user.company_admin?.should == true end it "should register a user as a project admin if admin of any project" do user.project_admin?.should == false ur = Role.create!(user:user, ownable: project) user.reload user.project_admin?.should == true end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
introspective_grape-0.0.4 | spec/models/role_spec.rb |
introspective_grape-0.0.3 | spec/models/role_spec.rb |