Browse Source

able to view bulk upload sales results

remotes/origin/bulk-upload-errors-integration
Phil Lee 4 years ago
parent
commit
c9bd147843
  1. 7
      app/controllers/bulk_upload_sales_results_controller.rb
  2. 20
      app/views/bulk_upload_sales_results/show.html.erb
  3. 7
      config/routes.rb
  4. 46
      spec/requests/bulk_upload_sales_results_controller_spec.rb

7
app/controllers/bulk_upload_sales_results_controller.rb

@ -0,0 +1,7 @@
class BulkUploadSalesResultsController < ApplicationController
before_action :authenticate_user!
def show
@bulk_upload = current_user.bulk_uploads.find(params[:id])
end
end

20
app/views/bulk_upload_sales_results/show.html.erb

@ -0,0 +1,20 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk Upload for sales (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">We found <%= pluralize(@bulk_upload.bulk_upload_errors.count, "error") %> in your file</h1>
<div class="govuk-body">
Here’s a list of everything that you need to fix your spreadsheet. You can download the specification to help you fix the cells in your CSV file.
</div>
<h2 class="govuk-heading-m"><%= @bulk_upload.filename %></h2>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
<% @bulk_upload.bulk_upload_errors.group_by(&:row).each do |_row, errors_for_row| %>
<%= render BulkUploadErrorRowComponent.new(bulk_upload_errors: errors_for_row) %>
<% end %>
</div>
</div>

7
config/routes.rb

@ -124,8 +124,6 @@ Rails.application.routes.draw do
post "bulk-upload", to: "bulk_upload#bulk_upload"
get "bulk-upload", to: "bulk_upload#show"
resources :bulk_upload_lettings_results, path: "bulk-upload-results", only: [:show]
get "csv-download", to: "lettings_logs#download_csv"
post "email-csv", to: "lettings_logs#email_csv"
get "csv-confirmation", to: "lettings_logs#csv_confirmation"
@ -135,6 +133,9 @@ Rails.application.routes.draw do
get :start
end
end
resources :bulk_upload_lettings_results, path: "bulk-upload-results", only: [:show]
get "update-logs", to: "lettings_logs#update_logs"
end
@ -161,6 +162,8 @@ Rails.application.routes.draw do
get :start
end
end
resources :bulk_upload_sales_results, path: "bulk-upload-results", only: [:show]
end
FormHandler.instance.sales_forms.each do |_key, form|

46
spec/requests/bulk_upload_sales_results_controller_spec.rb

@ -0,0 +1,46 @@
require "rails_helper"
RSpec.describe BulkUploadSalesResultsController, type: :request do
let(:user) { create(:user) }
let(:bulk_upload) { create(:bulk_upload, user:, bulk_upload_errors:) }
let(:bulk_upload_errors) { create_list(:bulk_upload_error, 2) }
before do
sign_in user
end
describe "GET /sales-logs/bulk-upload-results/:ID" do
it "renders correct year" do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response).to be_successful
expect(response.body).to include("Bulk Upload for sales (2022/23)")
end
it "renders correct number of errors" do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response).to be_successful
expect(response.body).to include("We found 2 errors in your file")
end
it "renders filename of the upload" do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response).to be_successful
expect(response.body).to include(bulk_upload.filename)
end
context "when there are errors for more than 1 row" do
let(:bulk_upload_errors) { [bulk_upload_error_1, bulk_upload_error_2] }
let(:bulk_upload_error_1) { create(:bulk_upload_error, row: 1) }
let(:bulk_upload_error_2) { create(:bulk_upload_error, row: 2) }
it "renders no. of tables equal to no. of rows with errors" do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response.body).to include("<table").twice
end
end
end
end
Loading…
Cancel
Save