Browse Source

after resolving bulk upload logs show interstitial

pull/1223/head
Phil Lee 3 years ago
parent
commit
adcacb37c8
  1. 11
      app/controllers/lettings_logs_controller.rb
  2. 17
      spec/requests/lettings_logs_controller_spec.rb

11
app/controllers/lettings_logs_controller.rb

@ -3,9 +3,10 @@ class LettingsLogsController < LogsController
before_action :session_filters, if: :current_user
before_action :set_session_filters, if: :current_user
def index
extract_bulk_upload_from_session_filters
before_action :extract_bulk_upload_from_session_filters, only: [:index]
before_action :redirect_if_bulk_upload_resolved, only: [:index]
def index
respond_to do |format|
format.html do
all_logs = current_user.lettings_logs
@ -111,6 +112,12 @@ class LettingsLogsController < LogsController
private
def redirect_if_bulk_upload_resolved
if @bulk_upload && @bulk_upload.lettings_logs.in_progress.count.zero?
redirect_to resume_bulk_upload_lettings_result_path(@bulk_upload)
end
end
def extract_bulk_upload_from_session_filters
id = ((@session_filters["bulk_upload_id"] || []).reject(&:blank?))[0]
@bulk_upload = current_user.bulk_uploads.find_by(id:)

17
spec/requests/lettings_logs_controller_spec.rb

@ -408,8 +408,8 @@ RSpec.describe LettingsLogsController, type: :request do
let(:user) { create(:user, organisation:) }
let(:bulk_upload) { create(:bulk_upload, user:) }
let!(:included_log) { create(:lettings_log, bulk_upload:, owning_organisation: organisation) }
let!(:excluded_log) { create(:lettings_log, owning_organisation: organisation) }
let!(:included_log) { create(:lettings_log, :in_progress, bulk_upload:, owning_organisation: organisation) }
let!(:excluded_log) { create(:lettings_log, :in_progress, owning_organisation: organisation) }
it "returns logs only associated with the bulk upload" do
get "/lettings-logs?bulk_upload_id[]=#{bulk_upload.id}"
@ -472,6 +472,19 @@ RSpec.describe LettingsLogsController, type: :request do
expect(page).not_to have_content(also_excluded_log.id)
end
end
context "when bulk upload has been resolved" do
let(:organisation) { create(:organisation) }
let(:user) { create(:user, organisation:) }
let(:bulk_upload) { create(:bulk_upload, user:) }
it "redirects to resume the bulk upload" do
get "/lettings-logs?bulk_upload_id[]=#{bulk_upload.id}"
expect(response).to redirect_to(resume_bulk_upload_lettings_result_path(bulk_upload))
end
end
end
context "without bulk_upload_id" do

Loading…
Cancel
Save