From 8e070f55ffc56ede828f8ea49f042763733159ce Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 24 Feb 2022 14:46:42 +1100 Subject: [PATCH] Spec fail on bad enterprise param It looks like some JS component can submit an invalid value here and it causes a server error. --- .../admin/enterprises_controller_spec.rb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/spec/controllers/admin/enterprises_controller_spec.rb b/spec/controllers/admin/enterprises_controller_spec.rb index 00bd934860..dbcfa16e2f 100644 --- a/spec/controllers/admin/enterprises_controller_spec.rb +++ b/spec/controllers/admin/enterprises_controller_spec.rb @@ -162,6 +162,30 @@ describe Admin::EnterprisesController, type: :controller do expect(distributor.users).to_not include user end + it "updates the contact for notifications" do + allow(controller).to receive_messages spree_current_user: distributor_manager + params = { + id: distributor, + receives_notifications: distributor_manager.id, + } + + expect { spree_post :update, params }. + to change { distributor.contact }.to(distributor_manager) + end + + it "updates the contact for notifications" do + pending "parameter sanitation: https://github.com/openfoodfoundation/openfoodnetwork/issues/8925" + + allow(controller).to receive_messages spree_current_user: distributor_manager + params = { + id: distributor, + receives_notifications: "? object:null ?", + } + + expect { spree_post :update, params }. + to_not change { distributor.contact } + end + it "updates enterprise preferences" do allow(controller).to receive_messages spree_current_user: distributor_manager update_params = { id: distributor,