Bulk upload for lettings (<%= @bulk_upload.year_combo %>)
-
These logs have been created
+
These logs are complete
-
You have created logs from your bulk upload. Return to lettings logs to view them.
+
You have created logs from your bulk upload, and the logs are complete. Return to lettings logs to view them.
<%= govuk_button_link_to "Return to lettings logs", lettings_logs_path %>
diff --git a/app/views/bulk_upload_sales_resume/completed.html.erb b/app/views/bulk_upload_sales_resume/completed.html.erb
new file mode 100644
index 000000000..9fcc656ad
--- /dev/null
+++ b/app/views/bulk_upload_sales_resume/completed.html.erb
@@ -0,0 +1,14 @@
+<% content_for :before_content do %>
+ <%= govuk_back_link href: @form.back_path %>
+<% end %>
+
+
diff --git a/app/views/bulk_upload_sales_soft_validations_check/chosen.html.erb b/app/views/bulk_upload_sales_soft_validations_check/chosen.html.erb
index 211f9c03c..9fcc656ad 100644
--- a/app/views/bulk_upload_sales_soft_validations_check/chosen.html.erb
+++ b/app/views/bulk_upload_sales_soft_validations_check/chosen.html.erb
@@ -5,9 +5,9 @@
Bulk upload for sales (<%= @bulk_upload.year_combo %>)
-
These logs have been created
+
These logs are complete
-
You have created logs from your bulk upload. Return to sales logs to view them.
+
You have created logs from your bulk upload, and the logs are complete. Return to sales logs to view them.
<%= govuk_button_link_to "Return to sales logs", sales_logs_path %>
diff --git a/spec/models/bulk_upload_spec.rb b/spec/models/bulk_upload_spec.rb
new file mode 100644
index 000000000..8af5f63ea
--- /dev/null
+++ b/spec/models/bulk_upload_spec.rb
@@ -0,0 +1,21 @@
+require "rails_helper"
+
+RSpec.describe BulkUpload, type: :model do
+ let(:bulk_upload) { create(:bulk_upload, log_type: "lettings") }
+
+ describe "def bulk_upload.completed?" do
+ context "when there are incomplete logs" do
+ it "returns false" do
+ create_list(:lettings_log, 2, :in_progress, bulk_upload:)
+ expect(bulk_upload.completed?).to equal(false)
+ end
+ end
+
+ context "when there are no incomplete logs" do
+ it "returns true" do
+ create_list(:lettings_log, 2, :completed, bulk_upload:)
+ expect(bulk_upload.completed?).to equal(true)
+ end
+ end
+ end
+end
diff --git a/spec/requests/bulk_upload_lettings_resume_controller_spec.rb b/spec/requests/bulk_upload_lettings_resume_controller_spec.rb
index fddba7190..3da25553a 100644
--- a/spec/requests/bulk_upload_lettings_resume_controller_spec.rb
+++ b/spec/requests/bulk_upload_lettings_resume_controller_spec.rb
@@ -10,10 +10,27 @@ RSpec.describe BulkUploadLettingsResumeController, type: :request do
end
describe "GET /lettings-logs/bulk-upload-resume/:ID/start" do
- it "redirects to choice page" do
- get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/start"
+ context "when a choice has not been made" do
+ it "redirects to choice page" do
+ get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/start"
- expect(response).to redirect_to("/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice")
+ expect(response).to redirect_to("/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice")
+ end
+ end
+
+ context "when a choice has been made and then the logs have been completed" do
+ let(:lettings_log) { create_list(:lettings_log, 2, :completed, bulk_upload:) }
+
+ it "redirects to the complete page if the bulk uploads are completed" do
+ bulk_upload.update!(choice: "create-fix-inline")
+
+ get "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/start"
+ follow_redirect!
+ expect(response).to redirect_to("/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/chosen")
+
+ follow_redirect!
+ expect(response.body).to include("You have created logs from your bulk upload, and the logs are complete. Return to lettings logs to view them.")
+ end
end
end
diff --git a/spec/requests/bulk_upload_sales_resume_controller_spec.rb b/spec/requests/bulk_upload_sales_resume_controller_spec.rb
index 9e4ec4a2b..6848112cd 100644
--- a/spec/requests/bulk_upload_sales_resume_controller_spec.rb
+++ b/spec/requests/bulk_upload_sales_resume_controller_spec.rb
@@ -9,14 +9,6 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do
sign_in user
end
- describe "GET /sales-logs/bulk-upload-resume/:ID/start" do
- it "redirects to choice page" do
- get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/start"
-
- expect(response).to redirect_to("/sales-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice")
- end
- end
-
describe "GET /sales-logs/bulk-upload-resume/:ID/fix-choice" do
it "renders the page correctly" do
get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice"
@@ -142,11 +134,28 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do
end
end
- describe "GET /sales-logs/bulk-upload-resume/:ID/chosen" do
- it "displays correct content" do
- get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/chosen"
+ describe "GET /sales-logs/bulk-upload-resume/:ID/start" do
+ context "when a choice has not been made" do
+ it "redirects to choice page" do
+ get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/start"
+
+ expect(response).to redirect_to("/sales-logs/bulk-upload-resume/#{bulk_upload.id}/fix-choice")
+ end
+ end
+
+ context "when a choice has been made and then the logs have been completed" do
+ let(:sales_log) { create_list(:sales_log, 2, :completed, bulk_upload:) }
+
+ it "redirects to the complete page if the bulk uploads are completed" do
+ bulk_upload.update!(choice: "create-fix-inline")
- expect(response.body).to include("You need to fix logs from your bulk upload")
+ get "/sales-logs/bulk-upload-resume/#{bulk_upload.id}/start"
+ follow_redirect!
+ expect(response).to redirect_to("/sales-logs/bulk-upload-resume/#{bulk_upload.id}/chosen")
+
+ follow_redirect!
+ expect(response.body).to include("You have created logs from your bulk upload, and the logs are complete. Return to sales logs to view them.")
+ end
end
end
end