From 75da739690c7060b12d10e8c740917d4529b8065 Mon Sep 17 00:00:00 2001 From: Xihai Luo Date: Fri, 22 Apr 2022 16:46:02 -0400 Subject: [PATCH] add test for phone number field in volunteers/edit view spec --- spec/views/volunteers/edit.html.erb_spec.rb | 29 ++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/spec/views/volunteers/edit.html.erb_spec.rb b/spec/views/volunteers/edit.html.erb_spec.rb index 916463e35c..06169779eb 100644 --- a/spec/views/volunteers/edit.html.erb_spec.rb +++ b/spec/views/volunteers/edit.html.erb_spec.rb @@ -1,7 +1,8 @@ require "rails_helper" RSpec.describe "volunteers/edit", type: :view do - let(:volunteer) { create :volunteer } + let(:org) { create :casa_org } + let(:volunteer) { create :volunteer, casa_org: org } it "allows an administrator to edit a volunteers email address" do administrator = build_stubbed :casa_admin @@ -42,6 +43,32 @@ expect(rendered).to_not have_field("volunteer_email", readonly: true) end + it "allows a supervisor in the same org to edit a volunteers phone number" do + supervisor = build_stubbed :supervisor, casa_org: org + enable_pundit(view, supervisor) + allow(view).to receive(:current_user).and_return(supervisor) + + assign :volunteer, volunteer + assign :supervisors, [] + + render template: "volunteers/edit" + + expect(rendered).to have_field("volunteer_phone_number") + end + + it "does not allow a supervisor from a different org to edit a volunteers phone number" do + different_supervisor = build_stubbed :supervisor + enable_pundit(view, different_supervisor) + allow(view).to receive(:current_user).and_return(different_supervisor) + + assign :volunteer, volunteer + assign :supervisors, [] + + render template: "volunteers/edit" + + expect(rendered).not_to have_field("volunteer_phone_number") + end + it "does not allow a supervisor to edit a volunteers email address" do supervisor = build_stubbed :supervisor enable_pundit(view, supervisor)