Sha256: 210fe93cbde83abd9834d4340690d02cb7f8bd9c486e21ff1cddf7827da94b10
Contents?: true
Size: 1.82 KB
Versions: 4
Compression:
Stored size: 1.82 KB
Contents
require_relative 'spec_helper' describe Lanes::User do before do @user = Lanes::User.new( login: 'test', email: 'bob@test.com', name: 'Bob', password: 'testtest') end it "validates attributes" do user = Lanes::User.new refute_saves user, 'login' user.assign_attributes login: 'test', email: 'bob', name: 'Bob' refute_saves user, 'email' user.email = 'bob@test.com' refute_saves user, 'password' user.password = 'password' assert_saves user end it "sets roles" do @user.role_names = ['administrator'] assert_saves @user assert_equal [ 'administrator' ], @user.role_names end it "can has built-in roles" do @support = Lanes::User.new( login: 'test', email: 'support@test.com', name: 'support Bob', password: 'testtest', role_names:['support']) @admin = Lanes::User.new( login: 'test', email: 'admin@test.com', name: 'admin Bob', password: 'testtest', role_names:['administrator']) assert @admin.can_read?(@support) assert @admin.can_write?(@support) assert @support.can_read?(@admin) refute @support.can_write?(@admin) end it "can be set from attribute data" do attrs = { login: 'test', email: 'bob', name: 'Bob', password:'password' } assert_equal attrs, @user.set_attribute_data( attrs, lanes_users(:admin) ) end it "users can update themselves" do user = lanes_users(:support) admin = lanes_users(:admin) attrs = { id: 34, login: 'test', email: 'bob', name: 'Bob', password:'password' } assert_empty admin.set_attribute_data( attrs, user ) attrs[:id] = user.id assert_equal( {email: 'bob', name: 'Bob', password:'password'}, user.set_attribute_data(attrs, user) ) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.0.5 | spec/user_spec.rb |
lanes-0.0.3 | spec/user_spec.rb |
lanes-0.0.2 | spec/user_spec.rb |
lanes-0.0.1 | spec/user_spec.rb |