From 167b90bd9d0f6266cc28906b9dc6be8f14bd422d Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 5 Jul 2023 15:27:41 +0100 Subject: [PATCH] Update delete button to use delete controller --- app/views/logs/delete_duplicates.html.erb | 11 ++++++----- spec/features/lettings_log_spec.rb | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/views/logs/delete_duplicates.html.erb b/app/views/logs/delete_duplicates.html.erb index 8f6c6015e..23104e7b8 100644 --- a/app/views/logs/delete_duplicates.html.erb +++ b/app/views/logs/delete_duplicates.html.erb @@ -1,5 +1,5 @@ <% content_for :before_content do %> - <% content_for :title, "Are you sure you want to delete #{@duplicate_logs.count == 1 ? "this duplicate log" : "these duplicate logs"}?" %> + <% content_for :title, "Are you sure you want to delete #{@duplicate_logs.count == 1 ? 'this duplicate log' : 'these duplicate logs'}?" %> <%= govuk_back_link href: @log.lettings? ? lettings_logs_path(@log) : sales_logs_path(@log) %> <% end %> @@ -16,13 +16,14 @@

<% @duplicate_logs.each do |duplicate_log| %> - <%= govuk_link_to "Log #{duplicate_log.id}", lettings_log_path(duplicate_log)%> + <%= govuk_link_to "Log #{duplicate_log.id}", lettings_log_path(duplicate_log) %> <% end %>
- <%= govuk_button_to( - @duplicate_logs.count == 1 ? "Delete this log" : "Delete these logs" - ) %> + <%= govuk_button_to @duplicate_logs.count == 1 ? "Delete this log" : "Delete these logs", + delete_logs_lettings_logs_path, + method: "delete", + params: { ids: @duplicate_logs.map(&:id) } %> <%= govuk_button_link_to( "Cancel", @log.lettings? ? lettings_log_path(@log) : sales_log_path(@log), diff --git a/spec/features/lettings_log_spec.rb b/spec/features/lettings_log_spec.rb index 993c7e82c..da0520b98 100644 --- a/spec/features/lettings_log_spec.rb +++ b/spec/features/lettings_log_spec.rb @@ -389,5 +389,22 @@ RSpec.describe "Lettings Log Features" do expect(page).to have_current_path("/lettings-logs") end end + + context "when there are duplicate logs" do + let(:lettings_log) { create(:lettings_log, :completed, owning_organisation: user.organisation, created_by: user) } + let!(:duplicate_log) do + duplicate = lettings_log.dup + duplicate.id = nil + duplicate.save! + duplicate + end + + it "is possible to delete duplicate logs" do + visit lettings_log_delete_duplicates_path(lettings_log) + click_button "Delete this log" + duplicate_log.reload + expect(duplicate_log.status).to eq("deleted") + end + end end end