mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-28 05:21:19 +00:00
74 lines
1.6 KiB
Ruby
74 lines
1.6 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_true
|
||
|
end
|
||
|
it 'returns false for non-admins' do
|
||
|
expect(ban.can_create? user).to be_false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe 'can_destroy?' do
|
||
|
it 'returns true for admin' do
|
||
|
expect(ban.can_destroy? admin).to be_true
|
||
|
end
|
||
|
it 'returns false for non-admins' do
|
||
|
expect(ban.can_destroy? user).to be_false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe 'can_update?' do
|
||
|
it 'returns true for admin' do
|
||
|
expect(ban.can_update? admin).to be_true
|
||
|
end
|
||
|
it 'returns false for non-admins' do
|
||
|
expect(ban.can_update? user).to be_false
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|