diff --git a/app/policies/case_contact_policy.rb b/app/policies/case_contact_policy.rb index 491d7c6e58..ff3497d301 100644 --- a/app/policies/case_contact_policy.rb +++ b/app/policies/case_contact_policy.rb @@ -4,7 +4,7 @@ def new? end def show? - creator_or_admin? + creator_or_supervisor_or_admin? end def update? @@ -41,10 +41,6 @@ def resolve private - def creator_or_admin? - is_creator? || is_admin_same_org? - end - def creator_or_supervisor_or_admin? is_creator? || admin_or_supervisor_same_org? end diff --git a/spec/policies/case_contact_policy_spec.rb b/spec/policies/case_contact_policy_spec.rb index 5680247c39..e576cbabeb 100644 --- a/spec/policies/case_contact_policy_spec.rb +++ b/spec/policies/case_contact_policy_spec.rb @@ -50,11 +50,12 @@ expect(subject).not_to permit(casa_admin, other_org_case_contact) end - it "does not allow supervisors" do - expect(subject).not_to permit(supervisor, case_contact) - expect(subject).not_to permit(supervisor, draft_case_contact) - expect(subject).not_to permit(supervisor, same_case_volunteer_case_contact) - expect(subject).not_to permit(supervisor, unassigned_case_case_contact) + it "allows same org supervisors" do + expect(subject).to permit(supervisor, case_contact) + expect(subject).to permit(supervisor, draft_case_contact) + expect(subject).to permit(supervisor, same_case_volunteer_case_contact) + expect(subject).to permit(supervisor, unassigned_case_case_contact) + expect(subject).not_to permit(supervisor, other_org_case_contact) end diff --git a/spec/requests/case_contacts/form_spec.rb b/spec/requests/case_contacts/form_spec.rb index f2ebc6e29d..68355fb8e2 100644 --- a/spec/requests/case_contacts/form_spec.rb +++ b/spec/requests/case_contacts/form_spec.rb @@ -73,13 +73,14 @@ context "when user is supervisor" do let(:user) { supervisor } - it "does not permit volunteer's supervisor to view the form" do + it "allows volunteer's supervisor to view the form" do expect(supervisor.volunteers).to include(volunteer) expect(casa_case.volunteers).to include(volunteer) expect(case_contact.creator).to eq volunteer request - expect(response).to redirect_to(root_path) + expect(response).to have_http_status(:success) + expect(response).to render_template(:details) end end