From eca7d38cbe1dbe7b88b530b67f328d6f128a3889 Mon Sep 17 00:00:00 2001 From: JG Date: Tue, 28 Jun 2022 11:44:23 +0100 Subject: [PATCH] testing primary client group update via check answers page --- spec/requests/schemes_controller_spec.rb | 44 +++++++++++++++++------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index 26cea8c4b..5954a4f16 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -625,22 +625,40 @@ RSpec.describe SchemesController, type: :request do context "when signed in as a data coordinator" do let(:user) { FactoryBot.create(:user, :data_coordinator) } let(:scheme_to_update) { FactoryBot.create(:scheme, :organisation => user.organisation) } - let(:params) { { scheme: { primary_client_group: "Homeless families with support needs", page: "primary-client-group" } } } - before do - sign_in user - patch "/schemes/#{scheme_to_update.id}", params: - end + context "when updating primary client group" do + let(:params) { { scheme: { primary_client_group: "Homeless families with support needs", page: "primary-client-group" } } } - it "renders the primary client group after successful update" do - follow_redirect! - expect(response).to have_http_status(:ok) - expect(page).to have_content("Does this scheme provide for another client group?") - end + before do + sign_in user + patch "/schemes/#{scheme_to_update.id}", params: + end - it "updates a scheme with valid params" do - follow_redirect! - expect(scheme_to_update.reload.primary_client_group).to eq("Homeless families with support needs") + it "renders confirm secondary group after successful update" do + follow_redirect! + expect(response).to have_http_status(:ok) + expect(page).to have_content("Does this scheme provide for another client group?") + end + + it "updates a scheme with valid params" do + follow_redirect! + expect(scheme_to_update.reload.primary_client_group).to eq("Homeless families with support needs") + end + + context "when updating from check answers page" do + let(:params) { { scheme: { primary_client_group: "Homeless families with support needs", page: "primary-client-group", 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.primary_client_group).to eq("Homeless families with support needs") + end + end end end end