Browse Source

Export active to CDS as false for merged orgs

pull/2896/head
Manny Dinssa 4 months ago
parent
commit
3c15a5315b
  1. 1
      app/services/exports/organisation_export_service.rb
  2. 19
      spec/services/exports/organisation_export_service_spec.rb

1
app/services/exports/organisation_export_service.rb

@ -65,6 +65,7 @@ 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
end

19
spec/services/exports/organisation_export_service_spec.rb

@ -84,6 +84,25 @@ RSpec.describe Exports::OrganisationExportService do
it "returns the list with correct archive" do
expect(export_service.export_xml_organisations).to eq({ expected_zip_filename.gsub(".zip", "") => start_time })
end
context "and the organisation is merged" do
before do
organisation.update!(merge_date: Time.zone.yesterday)
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
expect(entry.get_input_stream.read).to eq(expected_content)
end
export_service.export_xml_organisations
end
end
end
context "and multiple organisations are available for export" do

Loading…
Cancel
Save