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)