Browse Source

Export status to CDS for orgs

pull/2896/head
Manny Dinssa 5 months ago
parent
commit
7784048260
  1. 3
      app/services/exports/organisation_export_constants.rb
  2. 3
      app/services/exports/organisation_export_service.rb
  3. 1
      spec/fixtures/exports/organisation.xml
  4. 8
      spec/services/exports/organisation_export_service_spec.rb

3
app/services/exports/organisation_export_constants.rb

@ -22,6 +22,7 @@ module Exports::OrganisationExportConstants
"dsa_signed_at",
"dpo_email",
"profit_status",
"group"
"group",
"status"
]
end

3
app/services/exports/organisation_export_service.rb

@ -65,7 +65,8 @@ module Exports
attribute_hash["available_from"] = organisation.available_from&.iso8601
attribute_hash["profit_status"] = nil # will need update when we add the field to the org
attribute_hash["group"] = nil # will need update when we add the field to the org
attribute_hash["active"] = organisation.status == :active
attribute_hash["status"] = organisation.status
attribute_hash["active"] = attribute_hash["status"] == :active
attribute_hash
end

1
spec/fixtures/exports/organisation.xml vendored

@ -22,5 +22,6 @@
<dpo_email>{dpo_email}</dpo_email>
<profit_status/>
<group/>
<status>active</status>
</form>
</forms>

8
spec/services/exports/organisation_export_service_spec.rb

@ -86,14 +86,16 @@ RSpec.describe Exports::OrganisationExportService do
end
context "and the organisation is merged" do
let(:expected_content) { replace_entity_ids(organisation, xml_export_file.read) }
before do
organisation.update!(merge_date: Time.zone.yesterday)
expected_content.sub!("<active>true</active>", "<active>false</active>")
expected_content.sub!("<merge_date/>", "<merge_date>#{organisation.merge_date.iso8601}</merge_date>")
expected_content.sub!("<status>active</status>", "<status>merged</status>")
end
it "generates an XML export file with the expected content within the ZIP file" do
expected_content = replace_entity_ids(organisation, xml_export_file.read)
expected_content.sub!("<active>true</active>", "<active>false</active>")
expected_content.sub!("<merge_date/>", "<merge_date>#{organisation.merge_date.iso8601}</merge_date>")
expect(storage_service).to receive(:write_file).with(expected_zip_filename, any_args) do |_, content|
entry = Zip::File.open_buffer(content).find_entry(expected_data_filename)
expect(entry).not_to be_nil

Loading…
Cancel
Save