Browse Source

update PR for altered spec

upload id now decided to be a better indicator of bulk upload status, import service amended accordingly
tests updated in line with this
pull/1744/head
Arthur Campbell 3 years ago
parent
commit
d8b7b12c85
  1. 4
      app/services/imports/logs_import_service.rb
  2. 4
      lib/tasks/creation_method.rake
  3. 2
      spec/fixtures/imports/logs/166fc004-392e-47a8-acb8-1c018734882b.xml
  4. 1
      spec/fixtures/imports/sales_logs/shared_ownership_sales_log2.xml
  5. 7
      spec/services/imports/lettings_logs_import_service_spec.rb
  6. 4
      spec/services/imports/sales_logs_import_service_spec.rb

4
app/services/imports/logs_import_service.rb

@ -31,8 +31,8 @@ module Imports
}.freeze }.freeze
def creation_method(xml_doc) def creation_method(xml_doc)
upload_method = meta_field_value(xml_doc, "upload-method") upload_id = meta_field_value(xml_doc, "upload-id")
CREATION_METHODS[upload_method] upload_id.present? ? "bulk upload" : "single log"
end end
def find_organisation_id(xml_doc, id_field) def find_organisation_id(xml_doc, id_field)

4
lib/tasks/creation_method.rake

@ -1,5 +1,5 @@
desc "set creation method to bulk upload if a log has a bulk upload id" desc "set creation method to bulk upload if a log has a bulk upload id"
task set_creation_method: :environment do task set_creation_method: :environment do
LettingsLog.where.not(bulk_upload_id: nil).each(&:creation_method_bulk_upload!) LettingsLog.where.not(bulk_upload_id: nil).find_each(&:creation_method_bulk_upload!)
SalesLog.where.not(bulk_upload_id: nil).each(&:creation_method_bulk_upload!) SalesLog.where.not(bulk_upload_id: nil).find_each(&:creation_method_bulk_upload!)
end end

2
spec/fixtures/imports/logs/166fc004-392e-47a8-acb8-1c018734882b.xml vendored

@ -9,7 +9,7 @@
<meta:modified-date>2022-04-12T14:10:59.953121Z</meta:modified-date> <meta:modified-date>2022-04-12T14:10:59.953121Z</meta:modified-date>
<meta:status>submitted-valid</meta:status> <meta:status>submitted-valid</meta:status>
<meta:reporting-year>2021</meta:reporting-year> <meta:reporting-year>2021</meta:reporting-year>
<meta:upload-method>Bulk Upload</meta:upload-method> <meta:upload-method>Manual Entry</meta:upload-method>
<meta:schema assert-valid="true"/> <meta:schema assert-valid="true"/>
<meta:rules assert-valid="true"/> <meta:rules assert-valid="true"/>
</meta:metadata> </meta:metadata>

1
spec/fixtures/imports/sales_logs/shared_ownership_sales_log2.xml vendored

@ -10,6 +10,7 @@
<meta:status>submitted-valid</meta:status> <meta:status>submitted-valid</meta:status>
<meta:reporting-year>2022</meta:reporting-year> <meta:reporting-year>2022</meta:reporting-year>
<meta:upload-method>Bulk Upload</meta:upload-method> <meta:upload-method>Bulk Upload</meta:upload-method>
<meta:upload-id>8dda8f1a-f5a1-4827-8d82-dd7fd9258eab</meta:upload-id>
<meta:schema assert-valid="true"/> <meta:schema assert-valid="true"/>
<meta:rules assert-valid="true"/> <meta:rules assert-valid="true"/>
</meta:metadata> </meta:metadata>

7
spec/services/imports/lettings_logs_import_service_spec.rb

@ -483,20 +483,21 @@ RSpec.describe Imports::LettingsLogsImportService do
lettings_log_service.send(:create_log, lettings_log_xml) lettings_log_service.send(:create_log, lettings_log_xml)
lettings_log = LettingsLog.find_by(old_id: lettings_log_id) lettings_log = LettingsLog.find_by(old_id: lettings_log_id)
expect(lettings_log.creation_method).to eq "single log" expect(lettings_log.creation_method_single_log?).to be true
end end
end end
context "when the log being imported was bulk uploaded" do context "when the log being imported was bulk uploaded" do
before do before do
lettings_log_xml.at_xpath("//meta:upload-method", { "meta" => "http://data.gov.uk/core/metadata" }).content = "Bulk Upload" metadata = lettings_log_xml.at_xpath("//meta:metadata", { "meta" => "http://data.gov.uk/core/metadata" })
metadata << "<meta:upload-id>#{SecureRandom.uuid}</meta:upload-id>"
end end
it "sets the creation method correctly" do it "sets the creation method correctly" do
lettings_log_service.send(:create_log, lettings_log_xml) lettings_log_service.send(:create_log, lettings_log_xml)
lettings_log = LettingsLog.find_by(old_id: lettings_log_id) lettings_log = LettingsLog.find_by(old_id: lettings_log_id)
expect(lettings_log.creation_method).to eq "bulk upload" expect(lettings_log.creation_method_bulk_upload?).to be true
end end
end end

4
spec/services/imports/sales_logs_import_service_spec.rb

@ -1061,7 +1061,7 @@ RSpec.describe Imports::SalesLogsImportService do
sales_log_service.send(:create_log, sales_log_xml) sales_log_service.send(:create_log, sales_log_xml)
sales_log = SalesLog.find_by(old_id: sales_log_id) sales_log = SalesLog.find_by(old_id: sales_log_id)
expect(sales_log.creation_method).to eq "single log" expect(sales_log.creation_method_single_log?).to be true
end end
end end
@ -1072,7 +1072,7 @@ RSpec.describe Imports::SalesLogsImportService do
sales_log_service.send(:create_log, sales_log_xml) sales_log_service.send(:create_log, sales_log_xml)
sales_log = SalesLog.find_by(old_id: sales_log_id) sales_log = SalesLog.find_by(old_id: sales_log_id)
expect(sales_log.creation_method).to eq "bulk upload" expect(sales_log.creation_method_bulk_upload?).to be true
end end
end end

Loading…
Cancel
Save