ensl.org/spec/models/ban_spec.rb
Ari Timonen e59e8ac8e7 Lots of rails 4 updates
- Add .params to models and update controllers
- Add afk time to gather
- Reannotate models
- Fix rspec problem by using latest rspec plugins from github
2020-03-18 05:38:17 +02:00

86 lines
1.9 KiB
Ruby

# == Schema Information
#
# Table name: bans
#
# id :integer not null, primary key
# addr :string(255)
# ban_type :integer
# expiry :datetime
# ip :string(255)
# reason :string(255)
# steamid :string(255)
# created_at :datetime
# updated_at :datetime
# creator_id :integer
# server_id :integer
# user_id :integer
#
# Indexes
#
# index_bans_on_creator_id (creator_id)
# index_bans_on_server_id (server_id)
# index_bans_on_user_id (user_id)
#
require "rails_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