Browse Source

bulk upload error component renders purchaser code

- when a sales log
remotes/origin/bulk-upload-errors-integration
Phil Lee 3 years ago
parent
commit
7484c48a27
  1. 6
      app/components/bulk_upload_error_row_component.html.erb
  2. 12
      app/components/bulk_upload_error_row_component.rb
  3. 5
      db/migrate/20230103100531_rename_purchaser_code.rb
  4. 2
      db/schema.rb
  5. 1
      spec/factories/bulk_upload_error.rb
  6. 13
      spec/requests/bulk_upload_sales_results_controller_spec.rb

6
app/components/bulk_upload_error_row_component.html.erb

@ -1,6 +1,10 @@
<div class="x-govuk-summary-card govuk-!-margin-bottom-6"> <div class="x-govuk-summary-card govuk-!-margin-bottom-6">
<div class="x-govuk-summary-card__header"> <div class="x-govuk-summary-card__header">
<h3 class="x-govuk-summary-card__title"><strong>Row <%= row %></strong> <span class="govuk-!-margin-left-3">Tenant code: <%= tenant_code %></span> <span class="govuk-!-margin-left-3">Property reference: <%= property_ref %></span></h3> <% if lettings? %>
<h3 class="x-govuk-summary-card__title"><strong>Row <%= row %></strong> <span class="govuk-!-margin-left-3">Tenant code: <%= tenant_code %></span> <span class="govuk-!-margin-left-3">Property reference: <%= property_ref %></span></h3>
<% else %>
<h3 class="x-govuk-summary-card__title"><strong>Row <%= row %></strong> <span class="govuk-!-margin-left-3">Purchaser code: <%= purchaser_code %></span></h3>
<% end %>
</div> </div>
<div class="x-govuk-summary-card__body"> <div class="x-govuk-summary-card__body">

12
app/components/bulk_upload_error_row_component.rb

@ -15,6 +15,10 @@ class BulkUploadErrorRowComponent < ViewComponent::Base
bulk_upload_errors.first.tenant_code bulk_upload_errors.first.tenant_code
end end
def purchaser_code
bulk_upload_errors.first.purchaser_code
end
def property_ref def property_ref
bulk_upload_errors.first.property_ref bulk_upload_errors.first.property_ref
end end
@ -33,4 +37,12 @@ class BulkUploadErrorRowComponent < ViewComponent::Base
def bulk_upload def bulk_upload
bulk_upload_errors.first.bulk_upload bulk_upload_errors.first.bulk_upload
end end
def lettings?
bulk_upload.log_type == "lettings"
end
def sales?
bulk_upload.log_type == "sales"
end
end end

5
db/migrate/20230103100531_rename_purchaser_code.rb

@ -0,0 +1,5 @@
class RenamePurchaserCode < ActiveRecord::Migration[7.0]
def change
rename_column :bulk_upload_errors, :purchase_code, :purchaser_code
end
end

2
db/schema.rb

@ -20,7 +20,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_04_164318) do
t.text "row" t.text "row"
t.text "tenant_code" t.text "tenant_code"
t.text "property_ref" t.text "property_ref"
t.text "purchase_code" t.text "purchaser_code"
t.text "field" t.text "field"
t.text "error" t.text "error"
t.datetime "created_at", null: false t.datetime "created_at", null: false

1
spec/factories/bulk_upload_error.rb

@ -7,6 +7,7 @@ FactoryBot.define do
cell { "#{('A'..'Z').to_a.sample}#{row}" } cell { "#{('A'..'Z').to_a.sample}#{row}" }
tenant_code { SecureRandom.hex(4) } tenant_code { SecureRandom.hex(4) }
property_ref { SecureRandom.hex(4) } property_ref { SecureRandom.hex(4) }
purchaser_code { SecureRandom.hex(4) }
field { "field_#{rand(134)}" } field { "field_#{rand(134)}" }
error { "some error" } error { "some error" }
end end

13
spec/requests/bulk_upload_sales_results_controller_spec.rb

@ -31,6 +31,19 @@ RSpec.describe BulkUploadSalesResultsController, type: :request do
expect(response.body).to include(bulk_upload.filename) expect(response.body).to include(bulk_upload.filename)
end end
it "renders Purchaser code" do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response.body).to include("Purchaser code: #{bulk_upload.bulk_upload_errors.first.purchaser_code}")
end
it "does not render tenant code or property reference" do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response.body).not_to include("Tenant code:")
expect(response.body).not_to include("Property reference:")
end
context "when there are errors for more than 1 row" do 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_errors) { [bulk_upload_error_1, bulk_upload_error_2] }
let(:bulk_upload_error_1) { create(:bulk_upload_error, row: 1) } let(:bulk_upload_error_1) { create(:bulk_upload_error, row: 1) }

Loading…
Cancel
Save