Sha256: 81ac8f9ced155ef539d327e3ab8162f90ed28f29f49b5fc58c65046c3ba777ae

Contents?: true

Size: 908 Bytes

Versions: 5

Compression:

Stored size: 908 Bytes

Contents

require 'rails_helper'

module Mks
  module Auth
    RSpec.describe UserRole, type: :model do
      it 'has a valid factory' do
        expect(create(:user_role)).to be_valid
      end

      it 'is invalid with no name' do
        expect(build(:user_role, name: nil)).not_to be_valid
      end

      it 'is invalid with duplicate name' do
        ur = create(:user_role)
        expect(build(:user_role, name: ur.name)).not_to be_valid
      end

      it 'converts name to symbol' do
        ur = create(:user_role)
        result = ur.name.underscore.to_sym
        expect(ur.sym_name).to eq result
      end

      it 'can access users' do
        u = create(:user, :with_role)
        role = u.roles.first
        expect(role.users.count).to eq 1
      end

      it 'can access menus' do
        ur = create(:user_role, :with_menus)
        expect(ur.menus.count).to eq 3
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mks_auth-1.0.14 spec/models/mks/auth/user_role_spec.rb
mks_auth-1.0.13 spec/models/mks/auth/user_role_spec.rb
mks_auth-1.0.12 spec/models/mks/auth/user_role_spec.rb
mks_auth-1.0.11 spec/models/mks/auth/user_role_spec.rb
mks_auth-1.0.10 spec/models/mks/auth/user_role_spec.rb