ensl.org/spec/models/ban_spec.rb
Luke Barratt 04c66e1bea Upgrade ruby to 2.2.2. Bump rails to 3.2.22
- Upgrade RSpec to 3.3
- Auto formatted existing specs
- Fixes broken test assertions
- Update capistrano rbenv_ruby to target 2.2.2
- Added test-unit as test dependency as it has been removed form ruby 2.2
2015-08-15 12:50:28 +01:00

78 lines
1.7 KiB
Ruby

# == Schema Information
#
# Table name: bans
#
# id :integer not null, primary key
# steamid :string(255)
# user_id :integer
# addr :string(255)
# server_id :integer
# expiry :datetime
# reason :string(255)
# created_at :datetime
# updated_at :datetime
# ban_type :integer
# ip :string(255)
#
require 'spec_helper'
describe Ban do
let!(:user) { create :user }
let(:ban) { Ban.new }
let!(:server) { create :server }
describe '#check_user' do
it "assigns user by user_name" do
ban.user_name = user.username
ban.check_user
expect(ban.user).to eq(user)
end
it "assigns user and server if user_name not present" do
ban.steamid = user.steamid
ban.addr = server.addr
ban.check_user
expect(ban.user).to eq(user)
expect(ban.server).to eq(server)
end
end
describe 'Permissions' do
let!(:user) { create :user }
let!(:admin) { create :user, :admin }
let!(:server_user) { create :user }
let(:ban) { Ban.new }
describe 'can_create?' do
it 'returns true for admins' do
expect(ban.can_create? admin).to be_truthy
end
it 'returns false for non-admins' do
expect(ban.can_create? user).to be_falsey
end
end
describe 'can_destroy?' do
it 'returns true for admin' do
expect(ban.can_destroy? admin).to be_truthy
end
it 'returns false for non-admins' do
expect(ban.can_destroy? user).to be_falsey
end
end
describe 'can_update?' do
it 'returns true for admin' do
expect(ban.can_update? admin).to be_truthy
end
it 'returns false for non-admins' do
expect(ban.can_update? user).to be_falsey
end
end
end
end