Browse Source

write a happy path feature test for the entire journey

pull/1657/head
Arthur Campbell 3 years ago
parent
commit
92a96a9f3c
  1. 42
      spec/features/lettings_log_spec.rb

42
spec/features/lettings_log_spec.rb

@ -220,6 +220,48 @@ RSpec.describe "Lettings Log Features" do
end
end
end
context "when deleting multiple logs" do
let!(:postcode) { "SW1A 1AA" }
let!(:lettings_log_1) { create(:lettings_log, :setup_completed, created_by: support_user, postcode_full: postcode) }
let!(:lettings_log_2) { create(:lettings_log, :in_progress, created_by: support_user, postcode_full: postcode) }
it "is possible to delete multiple logs" do
create_list(:lettings_log, 5, :in_progress)
visit lettings_logs_path
expect(page).to have_selector "article.app-log-summary", count: 7
expect(page).not_to have_link "Delete logs"
within ".app-filter" do
check "status-in-progress-field"
choose "user-yours-field"
click_button
end
expect(page).to have_selector "article.app-log-summary", count: 2
expect(page).to have_link "Delete logs"
click_link "Delete logs"
expect(page).to have_current_path delete_logs_lettings_logs_path
rows = page.find_all "tbody tr"
expect(rows.count).to be 2
id_to_delete, id_to_keep = rows.map { |row| row.first("td").text.to_i }
expect([id_to_delete, id_to_keep]).to match_array [lettings_log_1.id, lettings_log_2.id]
check "forms-delete-logs-form-logs-to-delete-#{id_to_delete}-field"
uncheck "forms-delete-logs-form-logs-to-delete-#{id_to_keep}-field"
click_button "Continue"
expect(page).to have_current_path delete_logs_confirmation_lettings_logs_path, ignore_query: true
expect(page.text).to include "You've selected 1 log to delete"
expect(page.find("input#ids", visible: false).value.to_i).to be id_to_delete
click_button "Delete logs"
expect(page).to have_current_path lettings_logs_path
expect(page).to have_selector "article.app-log-summary", count: 1
expect(page.find("article.app-log-summary h2").text).to eq "Log #{id_to_keep}"
deleted_log = LettingsLog.find(id_to_delete)
expect(deleted_log.status).to eq "deleted"
expect(deleted_log.discarded_at).not_to be nil
end
end
end
context "when the signed is user is not a Support user" do

Loading…
Cancel
Save