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)