Files
old-holivud2/spec/policies/material_release_policy_spec.rb
2020-09-01 17:15:16 +02:00

51 lines
1.2 KiB
Ruby

require "rails_helper"
describe MaterialReleasePolicy do
let(:user) { create(:user, :manager) }
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
subject { described_class }
permissions :create? do
it { is_expected.to permit(:create) }
end
permissions :show? do
it { is_expected.to permit(:show) }
end
permissions :update? do
context "for a native release" do
it { is_expected.not_to permit(user_context, build(:material_release, :native)) }
end
context "for a non-native release" do
it { is_expected.to permit(user_context, build(:material_release, :non_native)) }
end
end
permissions :edit_files? do
it { is_expected.to permit(:edit_photos) }
end
permissions :update_files? do
it { is_expected.to permit(:edit_photos) }
end
permissions :update_photos? do
it { is_expected.to permit(:update_photos) }
end
permissions :destroy? do
it { is_expected.to permit(user_context, :destroy) }
end
context "for an associate" do
let(:user) { create(:user, :associate) }
permissions :destroy? do
it { is_expected.not_to permit(user_context, :destroy) }
end
end
end