fix specs
This commit is contained in:
@@ -48,10 +48,8 @@ class ContractsController < ApplicationController
|
|||||||
# Native release contracts must be generated on-the-fly; non-native releases have a contract attachment
|
# Native release contracts must be generated on-the-fly; non-native releases have a contract attachment
|
||||||
if releasable.native?
|
if releasable.native?
|
||||||
send_file contract.to_pdf, download_attributes
|
send_file contract.to_pdf, download_attributes
|
||||||
elsif policy(contract).show?
|
|
||||||
redirect_to releasable.contract.service_url
|
|
||||||
else
|
else
|
||||||
raise Pundit::NotAuthorizedError
|
redirect_to releasable.contract.service_url
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ class MedicalReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def show?
|
def show?
|
||||||
true
|
user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def update?
|
def update?
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe MedicalReleasePolicy do
|
describe MedicalReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user) }
|
||||||
|
let(:user_context) { create(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -9,8 +10,28 @@ describe MedicalReleasePolicy do
|
|||||||
it { is_expected.to permit(:create) }
|
it { is_expected.to permit(:create) }
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :show? do
|
context "for an account manager" do
|
||||||
it { is_expected.to permit(:show) }
|
let(:user) { create(:user, :account_manager) }
|
||||||
|
|
||||||
|
permissions :show? do
|
||||||
|
it { is_expected.to permit(user_context, :show) }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :show? do
|
||||||
|
it { is_expected.not_to permit(user_context, :show) }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for a manager" do
|
||||||
|
let(:user) { create(:user, :manager) }
|
||||||
|
|
||||||
|
permissions :show? do
|
||||||
|
it { is_expected.not_to permit(user_context, :show) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :update? do
|
permissions :update? do
|
||||||
|
|||||||
Reference in New Issue
Block a user