Browse Source

Only count visible logs

pull/2477/head
Kat 2 years ago
parent
commit
e36caf90b1
  1. 2
      app/controllers/lettings_logs_controller.rb
  2. 17
      spec/requests/lettings_logs_controller_spec.rb

2
app/controllers/lettings_logs_controller.rb

@ -90,7 +90,7 @@ class LettingsLogsController < LogsController
def download_csv
redirect_to filters_years_lettings_logs_path(search: search_term, codes_only: codes_only_export?) and return if session_filters["years"].blank? || session_filters["years"].count != 1
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.visible, search_term, session_filters)
render "download_csv", locals: { search_term:, count: unpaginated_filtered_logs.size, post_path: email_csv_lettings_logs_path, codes_only: codes_only_export?, session_filters:, filter_type: "lettings_logs", download_csv_back_link: lettings_logs_path }
end

17
spec/requests/lettings_logs_controller_spec.rb

@ -1865,6 +1865,23 @@ RSpec.describe LettingsLogsController, type: :request do
get "/lettings-logs/csv-download?codes_only=#{codes_only}", headers:, params: {}
expect(response).to have_http_status(:unauthorized)
end
context "when filtering by organisation and year" do
let(:other_organisation) { FactoryBot.create(:organisation) }
let(:lettings_logs) { create_list(:lettings_log, 2, :setup_completed, assigned_to: user, owning_organisation: other_organisation, managing_organisation: user.organisation) }
before do
create(:organisation_relationship, parent_organisation: other_organisation, child_organisation: user.organisation)
lettings_logs
create_list(:lettings_log, 2, :setup_completed, assigned_to: user, owning_organisation: other_organisation, managing_organisation: user.organisation, discarded_at: Time.zone.yesterday)
end
it "does not count deleted logs" do
get "/lettings-logs/csv-download?years[]=#{lettings_logs[0].form.start_date.year}&codes_only=false&owning_organisation_select=specific_org&owning_organisation=#{other_organisation.id}", headers:, params: {}
expect(page).to have_content("You've selected 2 logs.")
end
end
end
context "when the user is a data provider" do

Loading…
Cancel
Save