From c70dcafd8efd9ddb24d4db89afd8e2633c18e506 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Fri, 24 Mar 2023 10:33:20 +0000 Subject: [PATCH] feat: test when scheme is confirmed for support user --- spec/requests/schemes_controller_spec.rb | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index 0c1135500..59256c287 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -941,6 +941,36 @@ RSpec.describe SchemesController, type: :request do patch "/schemes/#{scheme_to_update.id}", params: end + + context "when confirming unfinished scheme" do + let(:params) { { scheme: { owning_organisation_id: user.organisation.id, arrangement_type: nil, confirmed: true, page: "check-answers" } } } + + it "does not allow the scheme to be confirmed" do + expect(response).to have_http_status(:unprocessable_entity) + expect(page).to have_content(I18n.t("activerecord.errors.models.scheme.attributes.arrangement_type.invalid")) + end + end + + context "when scheme is completed but not yet confirmed" do + let(:params) { { scheme: { page: "check-answers" } } } + + it "is not confirmed" do + expect(scheme_to_update.confirmed).to eq(nil) + end + + context "when confirming finished scheme" do + let(:params) { { scheme: { confirmed: true, page: "check-answers" } } } + + before do + scheme_to_update.reload + end + + it "confirms scheme" do + expect(scheme_to_update.confirmed).to eq(true) + end + end + end + context "when required params are missing" do let(:params) do { scheme: {