From 11e599bd73e251f2be6c642c73ddc64c211f45b1 Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 4 Mar 2024 12:09:31 +0000 Subject: [PATCH] Add delete button to CYA --- app/views/schemes/check_answers.html.erb | 4 ++++ spec/requests/schemes_controller_spec.rb | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/app/views/schemes/check_answers.html.erb b/app/views/schemes/check_answers.html.erb index 71e23b25c..a98c86a51 100644 --- a/app/views/schemes/check_answers.html.erb +++ b/app/views/schemes/check_answers.html.erb @@ -23,4 +23,8 @@ <% if SchemePolicy.new(current_user, @scheme).create? %> <%= f.govuk_submit button_label %> <% end %> + + <% if SchemePolicy.new(current_user, @scheme).delete? %> + <%= delete_scheme_link(@scheme) %> + <% end %> <% end %> diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index c67760177..4bc0151a2 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -2201,6 +2201,7 @@ RSpec.describe SchemesController, type: :request do let!(:scheme) { create(:scheme) } before do + create(:location, scheme:) allow(user).to receive(:need_two_factor_authentication?).and_return(false) sign_in user get "/schemes/#{scheme.id}/check-answers" @@ -2210,6 +2211,22 @@ RSpec.describe SchemesController, type: :request do expect(response).to have_http_status(:ok) expect(page).to have_content("Check your changes before creating this scheme") end + + context "with an active scheme" do + it "does not render delete this scheme" do + expect(scheme.status).to eq(:active) + expect(page).not_to have_link("Delete this scheme", href: "/schemes/#{scheme.id}/delete-confirmation") + end + end + + context "with an incomplete scheme" do + let(:scheme) { create(:scheme, :incomplete) } + + it "renders delete this scheme" do + expect(scheme.reload.status).to eq(:incomplete) + expect(page).to have_link("Delete this scheme", href: "/schemes/#{scheme.id}/delete-confirmation") + end + end end end