diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index 7d7654fbe..d2bbe76fa 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -719,7 +719,7 @@ RSpec.describe SchemesController, type: :request do patch "/schemes/#{scheme_to_update.id}", params: end - it "renders confirm secondary group after successful update" do + it "renders confirm support page after successful update" do follow_redirect! expect(response).to have_http_status(:ok) expect(page).to have_content("What support does this scheme provide?") @@ -745,6 +745,43 @@ RSpec.describe SchemesController, type: :request do end end end + + context "when updating support" do + let(:params) { { scheme: { intended_stay: "Medium stay", support_type: "Resettlement support", page: "support" } } } + + before do + sign_in user + patch "/schemes/#{scheme_to_update.id}", params: + end + + it "renders confirm secondary group after successful update" do + follow_redirect! + expect(response).to have_http_status(:ok) + expect(page).to have_content("Check your changes before updating this scheme") + end + + it "updates a scheme with valid params" do + follow_redirect! + expect(scheme_to_update.reload.intended_stay).to eq("Medium stay") + expect(scheme_to_update.reload.support_type).to eq("Resettlement support") + end + + context "when updating from check answers page" do + let(:params) { { scheme: { intended_stay: "Medium stay", support_type: "Resettlement support", page: "support", check_answers: "true" } } } + + it "renders check answers page after successful update" do + follow_redirect! + expect(response).to have_http_status(:ok) + expect(page).to have_content("Check your changes before updating this scheme") + end + + it "updates a scheme with valid params" do + follow_redirect! + expect(scheme_to_update.reload.intended_stay).to eq("Medium stay") + expect(scheme_to_update.reload.support_type).to eq("Resettlement support") + end + end + end end end end