Browse Source

Upcase fields and rebase changes

pull/2943/head
Kat 1 month ago
parent
commit
115ce3c29d
  1. 260
      app/services/exports/sales_log_export_constants.rb
  2. 2
      app/services/exports/sales_log_export_service.rb
  3. 298
      spec/fixtures/exports/sales_log.xml
  4. 298
      spec/fixtures/exports/sales_log_2024.xml
  5. 40
      spec/services/exports/sales_log_export_service_spec.rb

260
app/services/exports/sales_log_export_constants.rb

@ -7,140 +7,140 @@ module Exports::SalesLogExportConstants
csv: 2,
}.freeze
EXPORT_FIELDS = Set["id",
"status",
"day",
"month",
"year",
"duplicate_set_id",
"createddate",
"uploaddate",
"owningorgid",
"owningorgname",
"maningorgid",
"maningorgname",
"username",
"usernameid",
"purchid",
"type",
"ownership",
"collectionyear",
"jointmore",
"joint",
"beds",
"ethnic",
"ethnicgroup1",
"liveinbuyer1",
"builtype",
"proptype",
"noint",
"liveinbuyer2",
"privacynotice",
"wheel",
"hholdcount",
"la",
"income1",
"inc1nk",
"inc1mort",
"income2",
"inc2nk",
"savingsnk",
"savings",
"prevown",
"amendedby",
"amendedbyid",
"mortgage",
"inc2mort",
"hb",
"frombeds",
"staircase",
"stairbought",
"stairowned",
"mrent",
"mrentprestaircasing",
"resale",
"deposit",
"cashdis",
"disabled",
"value",
"equity",
"discount",
"grant",
"ppcodenk",
"ppostc1",
"ppostc2",
"prevloc",
"prevlocname",
"previouslaknown",
"hhregres",
"hhregresstill",
"proplen",
"hasmscharge",
"mscharge",
"prevten",
"mortgageused",
"wchair",
"armedforcesspouse",
"hoday",
"homonth",
"hoyear",
"fromprop",
"socprevten",
"mortlen1",
"extrabor",
"hhtype",
"postcode",
"islainferred",
"bulkuploadid",
"value_value_check",
"prevshared",
"staircasesale",
"ethnicgroup2",
"ethnic2",
"buy2living",
"prevten2",
"uprn",
"address1",
"address2",
"towncity",
"county",
"laname",
"creationmethod",
"nationalityall1",
"nationalityall2",
"mscharge_value_check",
"address1input",
"postcodeinput",
"address_search_value_check",
"uprnselected",
"bulkaddress1",
"bulkaddress2",
"bulktowncity",
"bulkcounty",
"bulkpostcode",
"bulkla",
"createdby",
"createdbyid",
"hasestatefee",
"estatefee",
"firststair",
"numstair",
"stairlastday",
"stairlastmonth",
"stairlastyear",
"stairinitialyear",
"stairinitialmonth",
"stairinitialday",
"hasservicecharges",
"servicecharges",]
EXPORT_FIELDS = Set["ID",
"STATUS",
"DAY",
"MONTH",
"YEAR",
"DUPLICATE_SET_ID",
"CREATEDDATE",
"UPLOADDATE",
"OWNINGORGID",
"OWNINGORGNAME",
"MANINGORGID",
"MANINGORGNAME",
"USERNAME",
"USERNAMEID",
"PURCHID",
"TYPE",
"OWNERSHIP",
"COLLECTIONYEAR",
"JOINTMORE",
"JOINT",
"BEDS",
"ETHNIC",
"ETHNICGROUP1",
"LIVEINBUYER1",
"BUILTYPE",
"PROPTYPE",
"NOINT",
"LIVEINBUYER2",
"PRIVACYNOTICE",
"WHEEL",
"HHOLDCOUNT",
"LA",
"INCOME1",
"INC1NK",
"INC1MORT",
"INCOME2",
"INC2NK",
"SAVINGSNK",
"SAVINGS",
"PREVOWN",
"AMENDEDBY",
"AMENDEDBYID",
"MORTGAGE",
"INC2MORT",
"HB",
"FROMBEDS",
"STAIRCASE",
"STAIRBOUGHT",
"STAIROWNED",
"MRENT",
"MRENTPRESTAIRCASING",
"RESALE",
"DEPOSIT",
"CASHDIS",
"DISABLED",
"VALUE",
"EQUITY",
"DISCOUNT",
"GRANT",
"PPCODENK",
"PPOSTC1",
"PPOSTC2",
"PREVLOC",
"PREVLOCNAME",
"PREVIOUSLAKNOWN",
"HHREGRES",
"HHREGRESSTILL",
"PROPLEN",
"HASMSCHARGE",
"MSCHARGE",
"PREVTEN",
"MORTGAGEUSED",
"WCHAIR",
"ARMEDFORCESSPOUSE",
"HODAY",
"HOMONTH",
"HOYEAR",
"FROMPROP",
"SOCPREVTEN",
"MORTLEN1",
"EXTRABOR",
"HHTYPE",
"POSTCODE",
"ISLAINFERRED",
"BULKUPLOADID",
"VALUE_VALUE_CHECK",
"PREVSHARED",
"STAIRCASESALE",
"ETHNICGROUP2",
"ETHNIC2",
"BUY2LIVING",
"PREVTEN2",
"UPRN",
"ADDRESS1",
"ADDRESS2",
"TOWNCITY",
"COUNTY",
"LANAME",
"CREATIONMETHOD",
"NATIONALITYALL1",
"NATIONALITYALL2",
"MSCHARGE_VALUE_CHECK",
"ADDRESS1INPUT",
"POSTCODEINPUT",
"ADDRESS_SEARCH_VALUE_CHECK",
"UPRNSELECTED",
"BULKADDRESS1",
"BULKADDRESS2",
"BULKTOWNCITY",
"BULKCOUNTY",
"BULKPOSTCODE",
"BULKLA",
"CREATEDBY",
"CREATEDBYID",
"HASESTATEFEE",
"ESTATEFEE",
"FIRSTSTAIR",
"NUMSTAIR",
"STAIRLASTDAY",
"STAIRLASTMONTH",
"STAIRLASTYEAR",
"STAIRINITIALYEAR",
"STAIRINITIALMONTH",
"STAIRINITIALDAY",
"HASSERVICECHARGES",
"SERVICECHARGES",]
(1..6).each do |index|
EXPORT_FIELDS << "age#{index}"
EXPORT_FIELDS << "ecstat#{index}"
EXPORT_FIELDS << "sex#{index}"
EXPORT_FIELDS << "AGE#{index}"
EXPORT_FIELDS << "ECSTAT#{index}"
EXPORT_FIELDS << "SEX#{index}"
end
(2..6).each do |index|
EXPORT_FIELDS << "relat#{index}"
EXPORT_FIELDS << "RELAT#{index}"
end
end

2
app/services/exports/sales_log_export_service.rb

@ -117,6 +117,8 @@ module Exports
attribute_hash["stairinitialmonth"] = sales_log.initialpurchase&.month
attribute_hash["stairinitialyear"] = sales_log.initialpurchase&.year
attribute_hash["mscharge_value_check"] = sales_log.monthly_charges_value_check
attribute_hash.transform_keys!(&:upcase)
attribute_hash
end

298
spec/fixtures/exports/sales_log.xml vendored

@ -1,154 +1,154 @@
<?xml version="1.0" encoding="UTF-8"?>
<forms>
<form>
<id>{id}</id>
<status>1</status>
<purchid>123</purchid>
<type>8</type>
<jointmore>1</jointmore>
<beds>2</beds>
<age1>27</age1>
<sex1>F</sex1>
<ethnic>17</ethnic>
<builtype>1</builtype>
<proptype>1</proptype>
<age2>33</age2>
<relat2>P</relat2>
<sex2>X</sex2>
<noint>2</noint>
<ecstat2>1</ecstat2>
<privacynotice>1</privacynotice>
<ecstat1>1</ecstat1>
<wheel>1</wheel>
<hholdcount>4</hholdcount>
<age3>14</age3>
<la>E09000033</la>
<income1>10000</income1>
<age4>18</age4>
<age5>40</age5>
<age6>40</age6>
<inc1mort>1</inc1mort>
<income2>10000</income2>
<savingsnk>1</savingsnk>
<savings/>
<prevown>1</prevown>
<sex3>F</sex3>
<mortgage>20000.0</mortgage>
<inc2mort>1</inc2mort>
<ecstat3>9</ecstat3>
<ecstat4>3</ecstat4>
<ecstat5>2</ecstat5>
<ecstat6>1</ecstat6>
<relat3>X</relat3>
<relat4>X</relat4>
<relat5>R</relat5>
<relat6>R</relat6>
<hb>4</hb>
<sex4>X</sex4>
<sex5>M</sex5>
<sex6>X</sex6>
<frombeds/>
<staircase/>
<stairbought/>
<stairowned/>
<mrent/>
<resale/>
<deposit>80000.0</deposit>
<cashdis/>
<disabled>1</disabled>
<value>110000.0</value>
<equity/>
<discount/>
<grant>10000.0</grant>
<ppcodenk>0</ppcodenk>
<ppostc1>SW1A</ppostc1>
<ppostc2>1AA</ppostc2>
<prevloc>E09000033</prevloc>
<hhregres>7</hhregres>
<hhregresstill/>
<proplen/>
<mscharge>100.0</mscharge>
<prevten>1</prevten>
<mortgageused>1</mortgageused>
<wchair>1</wchair>
<armedforcesspouse>5</armedforcesspouse>
<hoday/>
<homonth/>
<hoyear/>
<fromprop/>
<socprevten/>
<extrabor>1</extrabor>
<hhtype>6</hhtype>
<value_value_check/>
<prevshared>2</prevshared>
<staircasesale/>
<buy2living>3</buy2living>
<uprn>1</uprn>
<county/>
<duplicate_set_id/>
<address_search_value_check/>
<firststair/>
<numstair/>
<mrentprestaircasing/>
<day>1</day>
<month>3</month>
<year>2026</year>
<createddate>2026-03-01T00:00:00+00:00</createddate>
<createdby>{created_by_email}</createdby>
<createdbyid>{created_by_id}</createdbyid>
<username>{assigned_to_email}</username>
<usernameid>{assigned_to_id}</usernameid>
<uploaddate>2026-03-01T00:00:00+00:00</uploaddate>
<amendedby/>
<amendedbyid/>
<owningorgid>{owning_org_id}</owningorgid>
<owningorgname>{owning_org_name}</owningorgname>
<maningorgid>{managing_org_id}</maningorgid>
<maningorgname>{managing_org_name}</maningorgname>
<creationmethod>1</creationmethod>
<bulkuploadid/>
<collectionyear>2025</collectionyear>
<ownership>2</ownership>
<joint>1</joint>
<ethnicgroup1>17</ethnicgroup1>
<ethnicgroup2>17</ethnicgroup2>
<previouslaknown>1</previouslaknown>
<hasmscharge>1</hasmscharge>
<hasservicecharges/>
<servicecharges/>
<inc1nk>0</inc1nk>
<inc2nk>0</inc2nk>
<postcode>AA1 1AA</postcode>
<islainferred>true</islainferred>
<mortlen1>10</mortlen1>
<ethnic2/>
<prevten2/>
<address1>1, Test Street</address1>
<address2/>
<towncity>Test Town</towncity>
<laname>Westminster</laname>
<address1input>Address line 1</address1input>
<postcodeinput>SW1A 1AA</postcodeinput>
<uprnselected/>
<bulkaddress1/>
<bulkaddress2/>
<bulktowncity/>
<bulkcounty/>
<bulkpostcode/>
<bulkla/>
<nationalityall1>826</nationalityall1>
<nationalityall2>826</nationalityall2>
<prevlocname>Westminster</prevlocname>
<liveinbuyer1>1</liveinbuyer1>
<liveinbuyer2>1</liveinbuyer2>
<hasestatefee/>
<estatefee/>
<stairlastday/>
<stairlastmonth/>
<stairlastyear/>
<stairinitialday/>
<stairinitialmonth/>
<stairinitialyear/>
<mscharge_value_check/>
<ID>{id}</ID>
<STATUS>1</STATUS>
<PURCHID>123</PURCHID>
<TYPE>8</TYPE>
<JOINTMORE>1</JOINTMORE>
<BEDS>2</BEDS>
<AGE1>27</AGE1>
<SEX1>F</SEX1>
<ETHNIC>17</ETHNIC>
<BUILTYPE>1</BUILTYPE>
<PROPTYPE>1</PROPTYPE>
<AGE2>33</AGE2>
<RELAT2>P</RELAT2>
<SEX2>X</SEX2>
<NOINT>2</NOINT>
<ECSTAT2>1</ECSTAT2>
<PRIVACYNOTICE>1</PRIVACYNOTICE>
<ECSTAT1>1</ECSTAT1>
<WHEEL>1</WHEEL>
<HHOLDCOUNT>4</HHOLDCOUNT>
<AGE3>14</AGE3>
<LA>E09000033</LA>
<INCOME1>10000</INCOME1>
<AGE4>18</AGE4>
<AGE5>40</AGE5>
<AGE6>40</AGE6>
<INC1MORT>1</INC1MORT>
<INCOME2>10000</INCOME2>
<SAVINGSNK>1</SAVINGSNK>
<SAVINGS/>
<PREVOWN>1</PREVOWN>
<SEX3>F</SEX3>
<MORTGAGE>20000.0</MORTGAGE>
<INC2MORT>1</INC2MORT>
<ECSTAT3>9</ECSTAT3>
<ECSTAT4>3</ECSTAT4>
<ECSTAT5>2</ECSTAT5>
<ECSTAT6>1</ECSTAT6>
<RELAT3>X</RELAT3>
<RELAT4>X</RELAT4>
<RELAT5>R</RELAT5>
<RELAT6>R</RELAT6>
<HB>4</HB>
<SEX4>X</SEX4>
<SEX5>M</SEX5>
<SEX6>X</SEX6>
<FROMBEDS/>
<STAIRCASE/>
<STAIRBOUGHT/>
<STAIROWNED/>
<MRENT/>
<RESALE/>
<DEPOSIT>80000.0</DEPOSIT>
<CASHDIS/>
<DISABLED>1</DISABLED>
<VALUE>110000.0</VALUE>
<EQUITY/>
<DISCOUNT/>
<GRANT>10000.0</GRANT>
<PPCODENK>0</PPCODENK>
<PPOSTC1>SW1A</PPOSTC1>
<PPOSTC2>1AA</PPOSTC2>
<PREVLOC>E09000033</PREVLOC>
<HHREGRES>7</HHREGRES>
<HHREGRESSTILL/>
<PROPLEN/>
<MSCHARGE>100.0</MSCHARGE>
<PREVTEN>1</PREVTEN>
<MORTGAGEUSED>1</MORTGAGEUSED>
<WCHAIR>1</WCHAIR>
<ARMEDFORCESSPOUSE>5</ARMEDFORCESSPOUSE>
<HODAY/>
<HOMONTH/>
<HOYEAR/>
<FROMPROP/>
<SOCPREVTEN/>
<EXTRABOR>1</EXTRABOR>
<HHTYPE>6</HHTYPE>
<VALUE_VALUE_CHECK/>
<PREVSHARED>2</PREVSHARED>
<STAIRCASESALE/>
<BUY2LIVING>3</BUY2LIVING>
<UPRN/>
<COUNTY/>
<DUPLICATE_SET_ID/>
<ADDRESS_SEARCH_VALUE_CHECK/>
<FIRSTSTAIR/>
<NUMSTAIR/>
<MRENTPRESTAIRCASING/>
<DAY>1</DAY>
<MONTH>3</MONTH>
<YEAR>2026</YEAR>
<CREATEDDATE>2026-03-01T00:00:00+00:00</CREATEDDATE>
<CREATEDBY>{created_by_email}</CREATEDBY>
<CREATEDBYID>{created_by_id}</CREATEDBYID>
<USERNAME>{assigned_to_email}</USERNAME>
<USERNAMEID>{assigned_to_id}</USERNAMEID>
<UPLOADDATE>2026-03-01T00:00:00+00:00</UPLOADDATE>
<AMENDEDBY/>
<AMENDEDBYID/>
<OWNINGORGID>{owning_org_id}</OWNINGORGID>
<OWNINGORGNAME>{owning_org_name}</OWNINGORGNAME>
<MANINGORGID>{managing_org_id}</MANINGORGID>
<MANINGORGNAME>{managing_org_name}</MANINGORGNAME>
<CREATIONMETHOD>1</CREATIONMETHOD>
<BULKUPLOADID/>
<COLLECTIONYEAR>2025</COLLECTIONYEAR>
<OWNERSHIP>2</OWNERSHIP>
<JOINT>1</JOINT>
<ETHNICGROUP1>17</ETHNICGROUP1>
<ETHNICGROUP2>17</ETHNICGROUP2>
<PREVIOUSLAKNOWN>1</PREVIOUSLAKNOWN>
<HASMSCHARGE>1</HASMSCHARGE>
<HASSERVICECHARGES/>
<SERVICECHARGES/>
<INC1NK>0</INC1NK>
<INC2NK>0</INC2NK>
<POSTCODE>SW1A 1AA</POSTCODE>
<ISLAINFERRED>true</ISLAINFERRED>
<MORTLEN1>10</MORTLEN1>
<ETHNIC2/>
<PREVTEN2/>
<ADDRESS1>Address line 1</ADDRESS1>
<ADDRESS2/>
<TOWNCITY>City</TOWNCITY>
<LANAME>Westminster</LANAME>
<ADDRESS1INPUT>Address line 1</ADDRESS1INPUT>
<POSTCODEINPUT>SW1A 1AA</POSTCODEINPUT>
<UPRNSELECTED/>
<BULKADDRESS1/>
<BULKADDRESS2/>
<BULKTOWNCITY/>
<BULKCOUNTY/>
<BULKPOSTCODE/>
<BULKLA/>
<NATIONALITYALL1>826</NATIONALITYALL1>
<NATIONALITYALL2>826</NATIONALITYALL2>
<PREVLOCNAME>Westminster</PREVLOCNAME>
<LIVEINBUYER1>1</LIVEINBUYER1>
<LIVEINBUYER2>1</LIVEINBUYER2>
<HASESTATEFEE/>
<ESTATEFEE/>
<STAIRLASTDAY/>
<STAIRLASTMONTH/>
<STAIRLASTYEAR/>
<STAIRINITIALDAY/>
<STAIRINITIALMONTH/>
<STAIRINITIALYEAR/>
<MSCHARGE_VALUE_CHECK/>
</form>
</forms>

298
spec/fixtures/exports/sales_log_2024.xml vendored

@ -1,154 +1,154 @@
<?xml version="1.0" encoding="UTF-8"?>
<forms>
<form>
<id>{id}</id>
<status>2</status>
<purchid>123</purchid>
<type>8</type>
<jointmore>1</jointmore>
<beds>2</beds>
<age1>27</age1>
<sex1>F</sex1>
<ethnic>17</ethnic>
<builtype>1</builtype>
<proptype>1</proptype>
<age2>33</age2>
<relat2>P</relat2>
<sex2>X</sex2>
<noint>2</noint>
<ecstat2>1</ecstat2>
<privacynotice>1</privacynotice>
<ecstat1>1</ecstat1>
<wheel>1</wheel>
<hholdcount>4</hholdcount>
<age3>14</age3>
<la>E09000033</la>
<income1>10000</income1>
<age4>18</age4>
<age5>40</age5>
<age6>40</age6>
<inc1mort>1</inc1mort>
<income2>10000</income2>
<savingsnk>1</savingsnk>
<savings/>
<prevown>1</prevown>
<sex3>F</sex3>
<mortgage>20000.0</mortgage>
<inc2mort>1</inc2mort>
<ecstat3>9</ecstat3>
<ecstat4>3</ecstat4>
<ecstat5>2</ecstat5>
<ecstat6>1</ecstat6>
<relat3>X</relat3>
<relat4>X</relat4>
<relat5>R</relat5>
<relat6>R</relat6>
<hb>4</hb>
<sex4>X</sex4>
<sex5>M</sex5>
<sex6>X</sex6>
<frombeds/>
<staircase/>
<stairbought/>
<stairowned/>
<mrent/>
<resale/>
<deposit>80000.0</deposit>
<cashdis/>
<disabled>1</disabled>
<value>110000.0</value>
<equity/>
<discount/>
<grant>10000.0</grant>
<ppcodenk>0</ppcodenk>
<ppostc1>SW1A</ppostc1>
<ppostc2>1AA</ppostc2>
<prevloc>E09000033</prevloc>
<hhregres>7</hhregres>
<hhregresstill/>
<proplen/>
<mscharge>100.0</mscharge>
<prevten>1</prevten>
<mortgageused>1</mortgageused>
<wchair>1</wchair>
<armedforcesspouse>5</armedforcesspouse>
<hoday/>
<homonth/>
<hoyear/>
<fromprop/>
<socprevten/>
<extrabor>1</extrabor>
<hhtype>6</hhtype>
<value_value_check/>
<prevshared>2</prevshared>
<staircasesale/>
<buy2living>3</buy2living>
<uprn>1</uprn>
<county/>
<duplicate_set_id/>
<address_search_value_check/>
<firststair/>
<numstair/>
<mrentprestaircasing/>
<day>3</day>
<month>4</month>
<year>2024</year>
<createddate>2024-04-03T00:00:00+01:00</createddate>
<createdby>{created_by_email}</createdby>
<createdbyid>{created_by_id}</createdbyid>
<username>{assigned_to_email}</username>
<usernameid>{assigned_to_id}</usernameid>
<uploaddate>2024-04-03T00:00:00+01:00</uploaddate>
<amendedby/>
<amendedbyid/>
<owningorgid>{owning_org_id}</owningorgid>
<owningorgname>{owning_org_name}</owningorgname>
<maningorgid>{managing_org_id}</maningorgid>
<maningorgname>{managing_org_name}</maningorgname>
<creationmethod>1</creationmethod>
<bulkuploadid/>
<collectionyear>2024</collectionyear>
<ownership>2</ownership>
<joint>1</joint>
<ethnicgroup1>17</ethnicgroup1>
<ethnicgroup2>17</ethnicgroup2>
<previouslaknown>1</previouslaknown>
<hasmscharge>1</hasmscharge>
<hasservicecharges/>
<servicecharges/>
<inc1nk>0</inc1nk>
<inc2nk>0</inc2nk>
<postcode>AA1 1AA</postcode>
<islainferred>true</islainferred>
<mortlen1>10</mortlen1>
<ethnic2/>
<prevten2/>
<address1>1, Test Street</address1>
<address2/>
<towncity>Test Town</towncity>
<laname>Westminster</laname>
<address1input>Address line 1</address1input>
<postcodeinput>SW1A 1AA</postcodeinput>
<uprnselected/>
<bulkaddress1/>
<bulkaddress2/>
<bulktowncity/>
<bulkcounty/>
<bulkpostcode/>
<bulkla/>
<nationalityall1>826</nationalityall1>
<nationalityall2>826</nationalityall2>
<prevlocname>Westminster</prevlocname>
<liveinbuyer1>1</liveinbuyer1>
<liveinbuyer2>1</liveinbuyer2>
<hasestatefee/>
<estatefee/>
<stairlastday/>
<stairlastmonth/>
<stairlastyear/>
<stairinitialday/>
<stairinitialmonth/>
<stairinitialyear/>
<mscharge_value_check/>
<ID>{id}</ID>
<STATUS>2</STATUS>
<PURCHID>123</PURCHID>
<TYPE>8</TYPE>
<JOINTMORE>1</JOINTMORE>
<BEDS>2</BEDS>
<AGE1>27</AGE1>
<SEX1>F</SEX1>
<ETHNIC>17</ETHNIC>
<BUILTYPE>1</BUILTYPE>
<PROPTYPE>1</PROPTYPE>
<AGE2>33</AGE2>
<RELAT2>P</RELAT2>
<SEX2>X</SEX2>
<NOINT>2</NOINT>
<ECSTAT2>1</ECSTAT2>
<PRIVACYNOTICE>1</PRIVACYNOTICE>
<ECSTAT1>1</ECSTAT1>
<WHEEL>1</WHEEL>
<HHOLDCOUNT>4</HHOLDCOUNT>
<AGE3>14</AGE3>
<LA>E09000033</LA>
<INCOME1>10000</INCOME1>
<AGE4>18</AGE4>
<AGE5>40</AGE5>
<AGE6>40</AGE6>
<INC1MORT>1</INC1MORT>
<INCOME2>10000</INCOME2>
<SAVINGSNK>1</SAVINGSNK>
<SAVINGS/>
<PREVOWN>1</PREVOWN>
<SEX3>F</SEX3>
<MORTGAGE>20000.0</MORTGAGE>
<INC2MORT>1</INC2MORT>
<ECSTAT3>9</ECSTAT3>
<ECSTAT4>3</ECSTAT4>
<ECSTAT5>2</ECSTAT5>
<ECSTAT6>1</ECSTAT6>
<RELAT3>X</RELAT3>
<RELAT4>X</RELAT4>
<RELAT5>R</RELAT5>
<RELAT6>R</RELAT6>
<HB>4</HB>
<SEX4>X</SEX4>
<SEX5>M</SEX5>
<SEX6>X</SEX6>
<FROMBEDS/>
<STAIRCASE/>
<STAIRBOUGHT/>
<STAIROWNED/>
<MRENT/>
<RESALE/>
<DEPOSIT>80000.0</DEPOSIT>
<CASHDIS/>
<DISABLED>1</DISABLED>
<VALUE>110000.0</VALUE>
<EQUITY/>
<DISCOUNT/>
<GRANT>10000.0</GRANT>
<PPCODENK>0</PPCODENK>
<PPOSTC1>SW1A</PPOSTC1>
<PPOSTC2>1AA</PPOSTC2>
<PREVLOC>E09000033</PREVLOC>
<HHREGRES>7</HHREGRES>
<HHREGRESSTILL/>
<PROPLEN/>
<MSCHARGE>100.0</MSCHARGE>
<PREVTEN>1</PREVTEN>
<MORTGAGEUSED>1</MORTGAGEUSED>
<WCHAIR>1</WCHAIR>
<ARMEDFORCESSPOUSE>5</ARMEDFORCESSPOUSE>
<HODAY/>
<HOMONTH/>
<HOYEAR/>
<FROMPROP/>
<SOCPREVTEN/>
<EXTRABOR>1</EXTRABOR>
<HHTYPE>6</HHTYPE>
<VALUE_VALUE_CHECK/>
<PREVSHARED>2</PREVSHARED>
<STAIRCASESALE/>
<BUY2LIVING>3</BUY2LIVING>
<UPRN/>
<COUNTY/>
<DUPLICATE_SET_ID/>
<ADDRESS_SEARCH_VALUE_CHECK/>
<FIRSTSTAIR/>
<NUMSTAIR/>
<MRENTPRESTAIRCASING/>
<DAY>3</DAY>
<MONTH>4</MONTH>
<YEAR>2024</YEAR>
<CREATEDDATE>2024-04-03T00:00:00+01:00</CREATEDDATE>
<CREATEDBY>{created_by_email}</CREATEDBY>
<CREATEDBYID>{created_by_id}</CREATEDBYID>
<USERNAME>{assigned_to_email}</USERNAME>
<USERNAMEID>{assigned_to_id}</USERNAMEID>
<UPLOADDATE>2024-04-03T00:00:00+01:00</UPLOADDATE>
<AMENDEDBY/>
<AMENDEDBYID/>
<OWNINGORGID>{owning_org_id}</OWNINGORGID>
<OWNINGORGNAME>{owning_org_name}</OWNINGORGNAME>
<MANINGORGID>{managing_org_id}</MANINGORGID>
<MANINGORGNAME>{managing_org_name}</MANINGORGNAME>
<CREATIONMETHOD>1</CREATIONMETHOD>
<BULKUPLOADID/>
<COLLECTIONYEAR>2024</COLLECTIONYEAR>
<OWNERSHIP>2</OWNERSHIP>
<JOINT>1</JOINT>
<ETHNICGROUP1>17</ETHNICGROUP1>
<ETHNICGROUP2>17</ETHNICGROUP2>
<PREVIOUSLAKNOWN>1</PREVIOUSLAKNOWN>
<HASMSCHARGE>1</HASMSCHARGE>
<HASSERVICECHARGES/>
<SERVICECHARGES/>
<INC1NK>0</INC1NK>
<INC2NK>0</INC2NK>
<POSTCODE>SW1A 1AA</POSTCODE>
<ISLAINFERRED>true</ISLAINFERRED>
<MORTLEN1>10</MORTLEN1>
<ETHNIC2/>
<PREVTEN2/>
<ADDRESS1>Address line 1</ADDRESS1>
<ADDRESS2/>
<TOWNCITY>City</TOWNCITY>
<LANAME>Westminster</LANAME>
<ADDRESS1INPUT>Address line 1</ADDRESS1INPUT>
<POSTCODEINPUT>SW1A 1AA</POSTCODEINPUT>
<UPRNSELECTED/>
<BULKADDRESS1/>
<BULKADDRESS2/>
<BULKTOWNCITY/>
<BULKCOUNTY/>
<BULKPOSTCODE/>
<BULKLA/>
<NATIONALITYALL1>826</NATIONALITYALL1>
<NATIONALITYALL2>826</NATIONALITYALL2>
<PREVLOCNAME>Westminster</PREVLOCNAME>
<LIVEINBUYER1>1</LIVEINBUYER1>
<LIVEINBUYER2>1</LIVEINBUYER2>
<HASESTATEFEE/>
<ESTATEFEE/>
<STAIRLASTDAY/>
<STAIRLASTMONTH/>
<STAIRLASTYEAR/>
<STAIRINITIALDAY/>
<STAIRINITIALMONTH/>
<STAIRINITIALYEAR/>
<MSCHARGE_VALUE_CHECK/>
</form>
</forms>

40
spec/services/exports/sales_log_export_service_spec.rb

@ -315,7 +315,7 @@ RSpec.describe Exports::SalesLogExportService do
let!(:sales_log) { FactoryBot.create(:sales_log, :export, duplicate_set_id: 123) }
def replace_duplicate_set_id(export_file)
export_file.sub!("<duplicate_set_id/>", "<duplicate_set_id>123</duplicate_set_id>")
export_file.sub!("<DUPLICATE_SET_ID/>", "<DUPLICATE_SET_ID>123</DUPLICATE_SET_ID>")
end
it "generates an XML export file with the expected content within the ZIP file" do
@ -368,7 +368,7 @@ RSpec.describe Exports::SalesLogExportService do
let!(:sales_log) { FactoryBot.create(:sales_log, :export, mscharge: 123) }
def replace_mscharge_value(export_file)
export_file.sub!("<mscharge>100.0</mscharge>", "<mscharge>123.0</mscharge>")
export_file.sub!("<MSCHARGE>100.0</MSCHARGE>", "<MSCHARGE>123.0</MSCHARGE>")
end
it "exports mscharge fields as hasmscharge and mscharge" do
@ -388,24 +388,24 @@ RSpec.describe Exports::SalesLogExportService do
let!(:sales_log) { FactoryBot.create(:sales_log, :export, ownershipsch: 1, staircase: 2, type: 30, mscharge: 321, has_management_fee: 1, management_fee: 222) }
def replace_mscharge_and_shared_ownership_values(export_file)
export_file.sub!("<hasservicecharges/>", "<hasservicecharges>1</hasservicecharges>")
export_file.sub!("<servicecharges/>", "<servicecharges>321.0</servicecharges>")
export_file.sub!("<hasestatefee/>", "<hasestatefee>1</hasestatefee>")
export_file.sub!("<estatefee/>", "<estatefee>222.0</estatefee>")
export_file.sub!("<mscharge>100.0</mscharge>", "<mscharge/>")
export_file.sub!("<hasmscharge>1</hasmscharge>", "<hasmscharge/>")
export_file.sub!("<type>8</type>", "<type>30</type>")
export_file.sub!("<staircase/>", "<staircase>2</staircase>")
export_file.sub!("<grant>10000.0</grant>", "<grant/>")
export_file.sub!("<ppcodenk>0</ppcodenk>", "<ppcodenk>1</ppcodenk>")
export_file.sub!("<ppostc1>SW1A</ppostc1>", "<ppostc1/>")
export_file.sub!("<ppostc2>1AA</ppostc2>", "<ppostc2/>")
export_file.sub!("<prevloc>E09000033</prevloc>", "<prevloc/>")
export_file.sub!("<extrabor>1</extrabor>", "<extrabor/>")
export_file.sub!("<ownership>2</ownership>", "<ownership>1</ownership>")
export_file.sub!("<previouslaknown>1</previouslaknown>", "<previouslaknown>0</previouslaknown>")
export_file.sub!("<prevlocname>Westminster</prevlocname>", "<prevlocname/>")
export_file.sub!("<HASSERVICECHARGES/>", "<HASSERVICECHARGES>1</HASSERVICECHARGES>")
export_file.sub!("<SERVICECHARGES/>", "<SERVICECHARGES>321.0</SERVICECHARGES>")
export_file.sub!("<HASESTATEFEE/>", "<HASESTATEFEE>1</HASESTATEFEE>")
export_file.sub!("<ESTATEFEE/>", "<ESTATEFEE>222.0</ESTATEFEE>")
export_file.sub!("<MSCHARGE>100.0</MSCHARGE>", "<MSCHARGE/>")
export_file.sub!("<HASMSCHARGE>1</HASMSCHARGE>", "<HASMSCHARGE/>")
export_file.sub!("<TYPE>8</TYPE>", "<TYPE>30</TYPE>")
export_file.sub!("<STAIRCASE/>", "<STAIRCASE>2</STAIRCASE>")
export_file.sub!("<GRANT>10000.0</GRANT>", "<GRANT/>")
export_file.sub!("<PPCODENK>0</PPCODENK>", "<PPCODENK>1</PPCODENK>")
export_file.sub!("<PPOSTC1>SW1A</PPOSTC1>", "<PPOSTC1/>")
export_file.sub!("<PPOSTC2>1AA</PPOSTC2>", "<PPOSTC2/>")
export_file.sub!("<PREVLOC>E09000033</PREVLOC>", "<PREVLOC/>")
export_file.sub!("<EXTRABOR>1</EXTRABOR>", "<EXTRABOR/>")
export_file.sub!("<OWNERSHIP>2</OWNERSHIP>", "<OWNERSHIP>1</OWNERSHIP>")
export_file.sub!("<PREVIOUSLAKNOWN>1</PREVIOUSLAKNOWN>", "<PREVIOUSLAKNOWN>0</PREVIOUSLAKNOWN>")
export_file.sub!("<PREVLOCNAME>Westminster</PREVLOCNAME>", "<PREVLOCNAME/>")
end
it "exports mscharge fields as hasmscharge and mscharge" do

Loading…
Cancel
Save