Browse Source

Export status to CDS for orgs

pull/2896/head
Manny Dinssa 7 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", "dsa_signed_at",
"dpo_email", "dpo_email",
"profit_status", "profit_status",
"group" "group",
"status"
] ]
end 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["available_from"] = organisation.available_from&.iso8601
attribute_hash["profit_status"] = nil # will need update when we add the field to the org 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["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 attribute_hash
end end

1
spec/fixtures/exports/organisation.xml vendored

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

8
spec/services/exports/organisation_export_service_spec.rb

@ -86,14 +86,16 @@ RSpec.describe Exports::OrganisationExportService do
end end
context "and the organisation is merged" do context "and the organisation is merged" do
let(:expected_content) { replace_entity_ids(organisation, xml_export_file.read) }
before do before do
organisation.update!(merge_date: Time.zone.yesterday) 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 end
it "generates an XML export file with the expected content within the ZIP file" do 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| 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) entry = Zip::File.open_buffer(content).find_entry(expected_data_filename)
expect(entry).not_to be_nil expect(entry).not_to be_nil

Loading…
Cancel
Save