Browse Source

Update tests

pull/2134/head
Kat 2 years ago
parent
commit
bf124bdeab
  1. 2
      app/controllers/form_controller.rb
  2. 14
      spec/features/form/form_navigation_spec.rb
  3. 8
      spec/requests/form_controller_spec.rb

2
app/controllers/form_controller.rb

@ -292,6 +292,8 @@ private
def remove_fixed_duplicate_log_references(log) def remove_fixed_duplicate_log_references(log)
duplicate_log_reference = DuplicateLogReference.find_by(log_id: log.id, log_type: log.class.name) duplicate_log_reference = DuplicateLogReference.find_by(log_id: log.id, log_type: log.class.name)
return unless duplicate_log_reference
duplicate_log_reference_id = duplicate_log_reference.duplicate_log_reference_id duplicate_log_reference_id = duplicate_log_reference.duplicate_log_reference_id
duplicate_log_reference.destroy! if duplicate_log_reference.present? duplicate_log_reference.destroy! if duplicate_log_reference.present?
DuplicateLogReference.find_by(duplicate_log_reference_id:).destroy! if DuplicateLogReference.where(duplicate_log_reference_id:).count == 1 DuplicateLogReference.find_by(duplicate_log_reference_id:).destroy! if DuplicateLogReference.where(duplicate_log_reference_id:).count == 1

14
spec/features/form/form_navigation_spec.rb

@ -178,16 +178,28 @@ RSpec.describe "Form Navigation" do
end end
describe "fixing duplicate logs" do describe "fixing duplicate logs" do
let(:lettings_log) { create(:lettings_log, :duplicate, created_by: user) }
let(:second_log) { create(:lettings_log, :duplicate, created_by: user) }
before do
create(:duplicate_log_reference, log_id: id, log_type: "LettingsLog")
create(:duplicate_log_reference, log_id: second_log.id, log_type: "LettingsLog")
end
it "shows a correct cancel link" 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") expect(DuplicateLogReference.count).to eq(2)
visit("lettings-logs/#{id}/tenant-code-test?first_remaining_duplicate_id=#{second_log.id}&original_log_id=#{id}&referrer=duplicate_logs")
click_link(text: "Cancel") click_link(text: "Cancel")
expect(page).to have_current_path("/lettings-logs/#{id}/duplicate-logs?original_log_id=#{id}") expect(page).to have_current_path("/lettings-logs/#{id}/duplicate-logs?original_log_id=#{id}")
expect(DuplicateLogReference.count).to eq(2)
end end
it "shows a correct Save Changes buttons" do it "shows a correct Save Changes buttons" do
expect(DuplicateLogReference.count).to eq(2)
visit("lettings-logs/#{id}/tenant-code-test?first_remaining_duplicate_id=#{id}&original_log_id=#{id}&referrer=duplicate_logs") visit("lettings-logs/#{id}/tenant-code-test?first_remaining_duplicate_id=#{id}&original_log_id=#{id}&referrer=duplicate_logs")
click_button(text: "Save changes") click_button(text: "Save changes")
expect(page).to have_current_path("/lettings-logs/#{id}/duplicate-logs?original_log_id=#{id}&referrer=duplicate_logs") expect(page).to have_current_path("/lettings-logs/#{id}/duplicate-logs?original_log_id=#{id}&referrer=duplicate_logs")
expect(DuplicateLogReference.count).to eq(2)
end end
end end
end end

8
spec/requests/form_controller_spec.rb

@ -897,11 +897,14 @@ RSpec.describe FormController, type: :request do
end end
before do before do
duplicate_log_reference_id = create(:duplicate_log_reference, log_id: lettings_log.id, log_type: "LettingsLog").duplicate_log_reference_id
create(:duplicate_log_reference, log_id: duplicate_log.id, log_type: "LettingsLog", duplicate_log_reference_id:)
post "/lettings-logs/#{lettings_log.id}/lead-tenant-age", params:, headers: headers.merge({ "HTTP_REFERER" => referrer }) post "/lettings-logs/#{lettings_log.id}/lead-tenant-age", params:, headers: headers.merge({ "HTTP_REFERER" => referrer })
end end
it "redirects back to the duplicates page for remaining duplicates" do it "redirects back to the duplicates page for remaining duplicates" do
expect(response).to redirect_to("/lettings-logs/#{duplicate_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}") expect(response).to redirect_to("/lettings-logs/#{duplicate_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}")
expect(DuplicateLogReference.count).to eq(0)
end end
context "and the answer didn't change" do context "and the answer didn't change" do
@ -918,6 +921,7 @@ RSpec.describe FormController, type: :request do
it "redirects back to the duplicates page for remaining duplicates" do it "redirects back to the duplicates page for remaining duplicates" do
expect(response).to redirect_to("/lettings-logs/#{lettings_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}") expect(response).to redirect_to("/lettings-logs/#{lettings_log.id}/duplicate-logs?original_log_id=#{lettings_log.id}")
expect(DuplicateLogReference.count).to eq(2)
end end
end end
end end
@ -938,11 +942,14 @@ RSpec.describe FormController, type: :request do
end end
before do before do
duplicate_log_reference_id = create(:duplicate_log_reference, log_id: sales_log.id, log_type: "SalesLog").duplicate_log_reference_id
create(:duplicate_log_reference, log_id: duplicate_log.id, log_type: "SalesLog", duplicate_log_reference_id:)
post "/sales-logs/#{sales_log.id}/buyer-1-age", params:, headers: headers.merge({ "HTTP_REFERER" => referrer }) post "/sales-logs/#{sales_log.id}/buyer-1-age", params:, headers: headers.merge({ "HTTP_REFERER" => referrer })
end end
it "redirects back to the duplicates page for remaining duplicates" do it "redirects back to the duplicates page for remaining duplicates" do
expect(response).to redirect_to("/sales-logs/#{duplicate_log.id}/duplicate-logs?original_log_id=#{sales_log.id}") expect(response).to redirect_to("/sales-logs/#{duplicate_log.id}/duplicate-logs?original_log_id=#{sales_log.id}")
expect(DuplicateLogReference.count).to eq(0)
end end
context "and the answer didn't change" do context "and the answer didn't change" do
@ -959,6 +966,7 @@ RSpec.describe FormController, type: :request do
it "redirects back to the duplicates page for remaining duplicates" do it "redirects back to the duplicates page for remaining duplicates" do
expect(response).to redirect_to("/sales-logs/#{sales_log.id}/duplicate-logs?original_log_id=#{sales_log.id}") expect(response).to redirect_to("/sales-logs/#{sales_log.id}/duplicate-logs?original_log_id=#{sales_log.id}")
expect(DuplicateLogReference.count).to eq(2)
end end
end end
end end

Loading…
Cancel
Save