Browse Source

Rebase changes

pull/1752/head
Kat 3 years ago
parent
commit
a80f3fbd5f
  1. 12
      app/controllers/lettings_logs_controller.rb
  2. 12
      app/controllers/sales_logs_controller.rb
  3. 122
      spec/requests/duplicate_logs_controller_spec.rb

12
app/controllers/lettings_logs_controller.rb

@ -88,18 +88,6 @@ class LettingsLogsController < LogsController
render "logs/delete_confirmation" render "logs/delete_confirmation"
end end
def delete_duplicates
@log = LettingsLog.visible.find(params[:lettings_log_id])
authorize @log
@duplicate_logs = LettingsLog.duplicate_logs_for_organisation(current_user.organisation, @log)
if @duplicate_logs.empty?
render_not_found
else
render "logs/delete_duplicates"
end
end
def download_csv def download_csv
unpaginated_filtered_logs = filter_manager.filtered_logs(current_user.lettings_logs, search_term, session_filters) unpaginated_filtered_logs = filter_manager.filtered_logs(current_user.lettings_logs, search_term, session_filters)

12
app/controllers/sales_logs_controller.rb

@ -62,18 +62,6 @@ class SalesLogsController < LogsController
render "logs/delete_confirmation" render "logs/delete_confirmation"
end end
def delete_duplicates
@log = SalesLog.visible.find(params[:sales_log_id])
authorize @log
@duplicate_logs = SalesLog.duplicate_logs_for_organisation(current_user.organisation, @log)
if @duplicate_logs.empty?
render_not_found
else
render "logs/delete_duplicates"
end
end
def download_csv def download_csv
unpaginated_filtered_logs = filter_manager.filtered_logs(current_user.sales_logs, search_term, session_filters) unpaginated_filtered_logs = filter_manager.filtered_logs(current_user.sales_logs, search_term, session_filters)

122
spec/requests/duplicate_logs_controller_spec.rb

@ -2,14 +2,13 @@ require "rails_helper"
RSpec.describe DuplicateLogsController, type: :request do RSpec.describe DuplicateLogsController, type: :request do
let(:page) { Capybara::Node::Simple.new(response.body) } let(:page) { Capybara::Node::Simple.new(response.body) }
let(:user) { create(:user) } let(:user) { create(:user, :data_coordinator) }
context "when a user is signed in" do
let(:lettings_log) do let(:lettings_log) do
create( create(
:lettings_log, :lettings_log,
:completed, :completed,
created_by: user, created_by: user,
owning_organisation: user.organisation,
) )
end end
let(:sales_log) do let(:sales_log) do
@ -17,10 +16,11 @@ RSpec.describe DuplicateLogsController, type: :request do
:sales_log, :sales_log,
:completed, :completed,
created_by: user, created_by: user,
owning_organisation: user.organisation,
) )
end end
describe "GET" do describe "GET show" do
context "when user is not signed in" do context "when user is not signed in" do
it "redirects to sign in page" do it "redirects to sign in page" do
get "/lettings-logs/#{lettings_log.id}/duplicate-logs" get "/lettings-logs/#{lettings_log.id}/duplicate-logs"
@ -106,116 +106,13 @@ RSpec.describe DuplicateLogsController, type: :request do
expect(page).to have_link("Keep this log and delete duplicates", count: 3) expect(page).to have_link("Keep this log and delete duplicates", count: 3)
end end
end end
it "displays check your answers for each log with correct questions" do
expect(page).to have_content("Q1 - Stock owner", count: 3)
expect(page).to have_content("Q5 - Tenancy start date", count: 3)
expect(page).to have_content("Q7 - Tenant code", count: 3)
expect(page).to have_content("Q12 - Postcode", count: 3)
expect(page).to have_content("Q32 - Lead tenant’s age", count: 3)
expect(page).to have_content("Q33 - Lead tenant’s gender identity", count: 3)
expect(page).to have_content("Q37 - Lead tenant’s working situation", count: 3)
expect(page).to have_content("Household rent and charges", count: 3)
expect(page).to have_link("Change", count: 24)
end
it "displays buttons to delete" do
expect(page).to have_link("Keep this log and delete duplicates", count: 3)
end
end
context "when the user is from different organisation" do
let(:other_user) { create(:user) }
before do
allow(other_user).to receive(:need_two_factor_authentication?).and_return(false)
sign_in other_user
end
it "renders page not found" do
get "/lettings-logs/#{lettings_log.id}/duplicate-logs"
expect(response).to have_http_status(:not_found)
end
end
context "when user is signed in" do
before do
allow(user).to receive(:need_two_factor_authentication?).and_return(false)
sign_in user
end
context "with multiple duplicate lettings logs" do
let(:duplicate_logs) { create_list(:lettings_log, 2, :completed) }
before do
allow(LettingsLog).to receive(:duplicate_logs_for_organisation).and_return(duplicate_logs)
get "/lettings-logs/#{lettings_log.id}/duplicate-logs"
end
it "displays links to all the duplicate logs" do
expect(page).to have_link("Log #{lettings_log.id}", href: "/lettings-logs/#{lettings_log.id}")
expect(page).to have_link("Log #{duplicate_logs.first.id}", href: "/lettings-logs/#{duplicate_logs.first.id}")
expect(page).to have_link("Log #{duplicate_logs.second.id}", href: "/lettings-logs/#{duplicate_logs.second.id}")
end
it "displays check your answers for each log with correct questions" do
expect(page).to have_content("Q1 - Stock owner", count: 3)
expect(page).to have_content("Q5 - Tenancy start date", count: 3)
expect(page).to have_content("Q7 - Tenant code", count: 3)
expect(page).to have_content("Q12 - Postcode", count: 3)
expect(page).to have_content("Q32 - Lead tenant’s age", count: 3)
expect(page).to have_content("Q33 - Lead tenant’s gender identity", count: 3)
expect(page).to have_content("Q37 - Lead tenant’s working situation", count: 3)
expect(page).to have_content("Household rent and charges", count: 3)
expect(page).to have_link("Change", count: 21)
end
it "displays buttons to delete" do
expect(page).to have_link("Keep this log and delete duplicates", count: 3)
end
end
context "with multiple duplicate sales logs" do
let(:duplicate_logs) { create_list(:sales_log, 2, :completed) }
before do
allow(SalesLog).to receive(:duplicate_logs).and_return(duplicate_logs)
get "/sales-logs/#{sales_log.id}/duplicate-logs"
end
it "displays links to all the duplicate logs" do
expect(page).to have_link("Log #{sales_log.id}", href: "/sales-logs/#{sales_log.id}")
expect(page).to have_link("Log #{duplicate_logs.first.id}", href: "/sales-logs/#{duplicate_logs.first.id}")
expect(page).to have_link("Log #{duplicate_logs.second.id}", href: "/sales-logs/#{duplicate_logs.second.id}")
end
it "displays check your answers for each log with correct questions" do
expect(page).to have_content("Q1 - Sale completion date", count: 3)
expect(page).to have_content("Q2 - Purchaser code", count: 3)
expect(page).to have_content("Q20 - Lead buyer’s age", count: 3)
expect(page).to have_content("Q21 - Buyer 1’s gender identity", count: 3)
expect(page).to have_content("Q25 - Buyer 1's working situation", count: 3)
expect(page).to have_content("Q15 - Postcode", count: 3)
expect(page).to have_link("Change", count: 18)
end
it "displays buttons to delete" do
expect(page).to have_link("Keep this log and delete duplicates", count: 3)
end
end
end end
end end
describe "GET sales delete-duplicates" do describe "GET sales delete-duplicates" do
let(:headers) { { "Accept" => "text/html" } } let(:headers) { { "Accept" => "text/html" } }
let(:page) { Capybara::Node::Simple.new(response.body) }
let(:user) { create(:user, :data_coordinator) }
let!(:sales_log) do
create(:sales_log, :completed, owning_organisation: user.organisation)
end
let(:id) { sales_log.id } let(:id) { sales_log.id }
let(:request) { get "/sales-logs/#{id}/delete-duplicates" }
let(:request) { get "/sales-logs/#{id}/delete-duplicates", headers: }
before do before do
allow(user).to receive(:need_two_factor_authentication?).and_return(false) allow(user).to receive(:need_two_factor_authentication?).and_return(false)
@ -301,14 +198,8 @@ RSpec.describe DuplicateLogsController, type: :request do
end end
describe "GET lettings delete-duplicates" do describe "GET lettings delete-duplicates" do
let(:headers) { { "Accept" => "text/html" } }
let(:page) { Capybara::Node::Simple.new(response.body) }
let(:user) { create(:user, :data_coordinator) }
let!(:lettings_log) do
create(:lettings_log, :completed, owning_organisation: user.organisation)
end
let(:id) { lettings_log.id } let(:id) { lettings_log.id }
let(:request) { get "/lettings-logs/#{id}/delete-duplicates", headers: } let(:request) { get "/lettings-logs/#{id}/delete-duplicates" }
before do before do
allow(user).to receive(:need_two_factor_authentication?).and_return(false) allow(user).to receive(:need_two_factor_authentication?).and_return(false)
@ -393,5 +284,4 @@ RSpec.describe DuplicateLogsController, type: :request do
end end
end end
end end
end
end end

Loading…
Cancel
Save