68 lines
1.6 KiB
Ruby
68 lines
1.6 KiB
Ruby
require "rails_helper"
|
|
|
|
describe BroadcastPolicy do
|
|
subject { described_class }
|
|
|
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
|
|
|
context "for an associate" do
|
|
let(:user) { create(:user, :associate, admin: false) }
|
|
|
|
permissions :index? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :create? do
|
|
it { is_expected.not_to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :show? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :destroy? do
|
|
it { is_expected.not_to permit(user_context, subject) }
|
|
end
|
|
end
|
|
|
|
context "for a project manager" do
|
|
let(:user) { create(:user, :manager, admin: false) }
|
|
|
|
permissions :index? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :create? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :show? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :destroy? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
end
|
|
|
|
context "for account managers" do
|
|
let(:user) { create(:user, :account_manager, admin: false) }
|
|
|
|
permissions :index? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :create? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :show? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
|
|
permissions :destroy? do
|
|
it { is_expected.to permit(user_context, subject) }
|
|
end
|
|
end
|
|
end
|