diff --git a/app/views/form/page.html.erb b/app/views/form/page.html.erb index b5ce2ead7..d83f5b762 100644 --- a/app/views/form/page.html.erb +++ b/app/views/form/page.html.erb @@ -63,12 +63,15 @@ <%= f.hidden_field :interruption_page_referrer_type, value: @interruption_page_referrer_type %>
- <% if !@page.interruption_screen? && if request.query_parameters["referrer"] != "check_answers" %> + <% if !@page.interruption_screen? && if request.query_parameters["referrer"] != "check_answers" && request.query_parameters["referrer"] != "duplicate_logs" %> <%= f.govuk_submit "Save and continue" %> <%= govuk_link_to( (@page.skip_text || "Skip for now"), (@page.skip_href(@log) || send(@log.form.next_page_redirect_path(@page, @log, current_user), @log)), ) %> + <% elsif request.query_parameters["referrer"] == "duplicate_logs" %> + <%= f.govuk_submit "Save changes" %> + <%= govuk_link_to "Cancel", send("#{@log.class.name.underscore}_duplicate_logs_path", @log, original_log_id: request.query_parameters["original_log_id"]) %> <% else %> <%= f.govuk_submit "Save changes" %> <%= govuk_link_to "Cancel", send(@log.form.cancel_path(@page, @log), @log) %> diff --git a/spec/features/form/form_navigation_spec.rb b/spec/features/form/form_navigation_spec.rb index 9a9f14383..a62be2a89 100644 --- a/spec/features/form/form_navigation_spec.rb +++ b/spec/features/form/form_navigation_spec.rb @@ -176,4 +176,18 @@ RSpec.describe "Form Navigation" do end end end + + describe "fixing duplicate logs" do + it "shows a correct cancel link" do + visit("lettings-logs/#{id}/tenant-code-test?first_remaining_duplicate_id=x&original_log_id=#{id}&referrer=duplicate_logs") + click_link(text: "Cancel") + expect(page).to have_current_path("/lettings-logs/#{id}/duplicate-logs?original_log_id=#{id}") + end + + it "shows a correct Save Changes buttons" do + visit("lettings-logs/#{id}/tenant-code-test?first_remaining_duplicate_id=#{id}&original_log_id=#{id}&referrer=duplicate_logs") + click_button(text: "Save changes") + expect(page).to have_current_path("/lettings-logs/#{id}/duplicate-logs?original_log_id=#{id}") + end + end end diff --git a/spec/features/lettings_log_spec.rb b/spec/features/lettings_log_spec.rb index 077fe89e7..872174ca4 100644 --- a/spec/features/lettings_log_spec.rb +++ b/spec/features/lettings_log_spec.rb @@ -510,7 +510,7 @@ RSpec.describe "Lettings Log Features" do expect(page).to have_current_path("/lettings-logs/#{lettings_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}") click_link("Change", href: "/lettings-logs/#{duplicate_log.id}/tenant-code?first_remaining_duplicate_id=#{lettings_log.id}&original_log_id=#{lettings_log.id}&referrer=duplicate_logs") fill_in("lettings-log-tenancycode-field", with: "something else") - click_button("Save and continue") + click_button("Save changes") expect(page).to have_current_path("/lettings-logs/#{lettings_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}&referrer=duplicate_logs") expect(page).to have_link("Back to Log #{lettings_log.id}", href: "/lettings-logs/#{lettings_log.id}") expect(page).to have_css(".govuk-notification-banner.govuk-notification-banner--success") @@ -521,7 +521,7 @@ RSpec.describe "Lettings Log Features" do it "allows deduplicating logs by changing the answers on the original log" do click_link("Change", href: "/lettings-logs/#{lettings_log.id}/tenant-code?first_remaining_duplicate_id=#{duplicate_log.id}&original_log_id=#{lettings_log.id}&referrer=duplicate_logs") fill_in("lettings-log-tenancycode-field", with: "something else") - click_button("Save and continue") + click_button("Save changes") expect(page).to have_current_path("/lettings-logs/#{duplicate_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}&referrer=duplicate_logs") expect(page).to have_link("Back to Log #{lettings_log.id}", href: "/lettings-logs/#{lettings_log.id}") expect(page).to have_css(".govuk-notification-banner.govuk-notification-banner--success")