|
|
|
|
@ -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 |
|
|
|
|
|