From effbff766125a477833a0c0f8274d16eb00366b6 Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Thu, 25 Jul 2024 18:13:19 +0100 Subject: [PATCH] Ensure post not run twice in form controller tests --- spec/requests/form_controller_spec.rb | 38 ++++++++++++++------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/spec/requests/form_controller_spec.rb b/spec/requests/form_controller_spec.rb index 7d1933b30..ccc849d5e 100644 --- a/spec/requests/form_controller_spec.rb +++ b/spec/requests/form_controller_spec.rb @@ -763,28 +763,30 @@ RSpec.describe FormController, type: :request do } end - before do - post "/lettings-logs/#{lettings_log.id}/#{page_id.dasherize}", params: - end + context "when the log will not be a duplicate" do + before do + post "/lettings-logs/#{lettings_log.id}/#{page_id.dasherize}", params: + end - it "re-renders the same page with errors if validation fails" do - expect(response).to have_http_status(:redirect) - end + it "re-renders the same page with errors if validation fails" do + expect(response).to have_http_status(:redirect) + end - it "only updates answers that apply to the page being submitted" do - lettings_log.reload - expect(lettings_log.age1).to eq(answer) - expect(lettings_log.age2).to be nil - end + it "only updates answers that apply to the page being submitted" do + lettings_log.reload + expect(lettings_log.age1).to eq(answer) + expect(lettings_log.age2).to be nil + end - it "tracks who updated the record" do - lettings_log.reload - whodunnit_actor = lettings_log.versions.last.actor - expect(whodunnit_actor).to be_a(User) - expect(whodunnit_actor.id).to eq(user.id) + it "tracks who updated the record" do + lettings_log.reload + whodunnit_actor = lettings_log.versions.last.actor + expect(whodunnit_actor).to be_a(User) + expect(whodunnit_actor.id).to eq(user.id) + end end - context "and the answer makes the log a duplicate" do + context "when the answer makes the log a duplicate" do context "with one other log" do let(:new_duplicate) { create(:lettings_log) } @@ -880,7 +882,7 @@ RSpec.describe FormController, type: :request do end end - context "and the answer makes the log stop being a duplicate" do + context "when the answer makes the log stop being a duplicate" do context "when the log had one duplicate" do let(:old_duplicate_set_id) { 130 } let!(:old_duplicate) { create(:lettings_log, duplicate_set_id: old_duplicate_set_id) }