ffc-pay-schemes 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +4 -0
  2. package/app/scheme-properties/get-siti-agri-schemes.js +16 -0
  3. package/index.js +4 -2
  4. package/package.json +1 -1
  5. package/test/unit/{helpers → scheme-id}/get-siti-agri-scheme-ids.test.js +1 -1
  6. package/test/unit/{helpers → scheme-id}/is-valid-scheme-id.test.js +1 -1
  7. package/test/unit/scheme-properties/get-siti-agri-schemes.test.js +18 -0
  8. package/test-output/cobertura-coverage.xml +71 -40
  9. package/test-output/junit.xml +385 -381
  10. package/test-output/lcov-report/constants/account-codes/ap.js.html +1 -1
  11. package/test-output/lcov-report/constants/account-codes/ar-admin.js.html +1 -1
  12. package/test-output/lcov-report/constants/account-codes/ar-irregular.js.html +1 -1
  13. package/test-output/lcov-report/constants/account-codes/index.html +1 -1
  14. package/test-output/lcov-report/constants/batch-schemes.js.html +94 -0
  15. package/test-output/lcov-report/constants/delivery-bodies.js.html +1 -1
  16. package/test-output/lcov-report/constants/description-codes.js.html +1 -1
  17. package/test-output/lcov-report/constants/file-masks.js.html +1 -1
  18. package/test-output/lcov-report/constants/frps-schemes.js.html +1 -1
  19. package/test-output/lcov-report/constants/fund-codes.js.html +1 -1
  20. package/test-output/lcov-report/constants/index.html +20 -5
  21. package/test-output/lcov-report/constants/manual-sources.js.html +1 -1
  22. package/test-output/lcov-report/constants/pillars.js.html +2 -2
  23. package/test-output/lcov-report/constants/scheme-batch-properties.js.html +1 -1
  24. package/test-output/lcov-report/constants/scheme-ids.js.html +2 -2
  25. package/test-output/lcov-report/constants/scheme-names.js.html +2 -2
  26. package/test-output/lcov-report/constants/schemes-not-requiring-ppas.js.html +1 -1
  27. package/test-output/lcov-report/constants/schemes-providing-account-values.js.html +1 -1
  28. package/test-output/lcov-report/constants/schemes.js.html +1 -1
  29. package/test-output/lcov-report/constants/sequence-positions.js.html +1 -1
  30. package/test-output/lcov-report/constants/siti-agri-schemes.js.html +3 -3
  31. package/test-output/lcov-report/constants/source-systems.js.html +2 -2
  32. package/test-output/lcov-report/constants/unknown.js.html +1 -1
  33. package/test-output/lcov-report/create-invoice-number/create-default-invoice-number.js.html +1 -1
  34. package/test-output/lcov-report/create-invoice-number/create-es-invoice-number.js.html +1 -1
  35. package/test-output/lcov-report/create-invoice-number/create-imps-invoice-number.js.html +1 -1
  36. package/test-output/lcov-report/create-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  37. package/test-output/lcov-report/create-invoice-number/create-standard-scheme-invoice-number.js.html +1 -1
  38. package/test-output/lcov-report/create-invoice-number/index.html +1 -1
  39. package/test-output/lcov-report/create-invoice-number/index.js.html +1 -1
  40. package/test-output/lcov-report/create-invoice-number/use-invoice-number-as-is.js.html +1 -1
  41. package/test-output/lcov-report/create-split-invoice-number/create-default-invoice-number.js.html +1 -1
  42. package/test-output/lcov-report/create-split-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  43. package/test-output/lcov-report/create-split-invoice-number/index.html +1 -1
  44. package/test-output/lcov-report/create-split-invoice-number/index.js.html +1 -1
  45. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ap.js.html +1 -1
  46. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-admin.js.html +1 -1
  47. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-irregular.js.html +1 -1
  48. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/index.html +1 -1
  49. package/test-output/lcov-report/ffc-pay-schemes/app/constants/delivery-bodies.js.html +1 -1
  50. package/test-output/lcov-report/ffc-pay-schemes/app/constants/description-codes.js.html +1 -1
  51. package/test-output/lcov-report/ffc-pay-schemes/app/constants/file-masks.js.html +1 -1
  52. package/test-output/lcov-report/ffc-pay-schemes/app/constants/frps-schemes.js.html +1 -1
  53. package/test-output/lcov-report/ffc-pay-schemes/app/constants/fund-codes.js.html +1 -1
  54. package/test-output/lcov-report/ffc-pay-schemes/app/constants/index.html +1 -1
  55. package/test-output/lcov-report/ffc-pay-schemes/app/constants/manual-sources.js.html +1 -1
  56. package/test-output/lcov-report/ffc-pay-schemes/app/constants/pillars.js.html +1 -1
  57. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-batch-properties.js.html +1 -1
  58. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-ids.js.html +2 -2
  59. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-names.js.html +17 -17
  60. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-not-requiring-ppas.js.html +1 -1
  61. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-providing-account-values.js.html +1 -1
  62. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes.js.html +3 -6
  63. package/test-output/lcov-report/ffc-pay-schemes/app/constants/sequence-positions.js.html +1 -1
  64. package/test-output/lcov-report/ffc-pay-schemes/app/constants/siti-agri-schemes.js.html +3 -3
  65. package/test-output/lcov-report/ffc-pay-schemes/app/constants/source-systems.js.html +1 -1
  66. package/test-output/lcov-report/ffc-pay-schemes/app/constants/unknown.js.html +1 -1
  67. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-default-invoice-number.js.html +1 -1
  68. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-es-invoice-number.js.html +1 -1
  69. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-imps-invoice-number.js.html +1 -1
  70. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  71. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-standard-scheme-invoice-number.js.html +1 -1
  72. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.html +1 -1
  73. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.js.html +1 -1
  74. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/use-invoice-number-as-is.js.html +1 -1
  75. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-default-invoice-number.js.html +1 -1
  76. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  77. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.html +1 -1
  78. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.js.html +1 -1
  79. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/bps-map.js.html +1 -1
  80. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cohtc-map.js.html +1 -1
  81. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cs-map.js.html +1 -1
  82. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/default-map.js.html +1 -1
  83. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/delinked-map.js.html +1 -1
  84. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.html +1 -1
  85. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.js.html +1 -1
  86. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/lump-sums-map.js.html +1 -1
  87. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/sfi-frps-map.js.html +1 -1
  88. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/vet-visits-map.js.html +1 -1
  89. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-batch-properties.js.html +112 -0
  90. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-pillar.js.html +115 -0
  91. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-source-system.js.html +115 -0
  92. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-ids.js.html +112 -0
  93. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-name-from-scheme-id.js.html +118 -0
  94. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-name.js.html +115 -0
  95. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-names.js.html +112 -0
  96. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-properties.js.html +178 -0
  97. package/test-output/lcov-report/ffc-pay-schemes/app/get-schemes.js.html +133 -0
  98. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-system-from-scheme-id.js.html +118 -0
  99. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-system.js.html +115 -0
  100. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-systems.js.html +112 -0
  101. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/get-batch-sequence-from-file-name.js.html +1 -1
  102. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/get-journal-source-from-pillar.js.html +1 -1
  103. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/get-reporting-data-filter.js.html +1 -1
  104. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/index.html +4 -19
  105. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/is-frps.js.html +1 -1
  106. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/is-siti-agri.js.html +1 -1
  107. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/is-valid-scheme-id.js.html +1 -1
  108. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/scheme-does-not-require-ppas.js.html +1 -1
  109. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/scheme-provides-accounting-values.js.html +1 -1
  110. package/test-output/lcov-report/ffc-pay-schemes/app/index.html +131 -0
  111. package/test-output/lcov-report/ffc-pay-schemes/app/is-valid-scheme-id.js.html +115 -0
  112. package/test-output/lcov-report/ffc-pay-schemes/app/pillar/get-pillar-from-scheme-id.js.html +1 -1
  113. package/test-output/lcov-report/ffc-pay-schemes/app/pillar/get-pillars.js.html +1 -1
  114. package/test-output/lcov-report/ffc-pay-schemes/app/pillar/index.html +1 -1
  115. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-does-not-require-ppas.js.html +112 -0
  116. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/get-scheme-id-from-pillar.js.html +1 -1
  117. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/get-scheme-id-from-source-system.js.html +1 -1
  118. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/get-scheme-ids.js.html +1 -1
  119. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/index.html +1 -1
  120. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/is-valid-scheme-id.js.html +115 -0
  121. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-name/get-scheme-name-from-scheme-id.js.html +1 -1
  122. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-name/get-scheme-names.js.html +1 -1
  123. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-name/index.html +1 -1
  124. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-scheme-batch-properties.js.html +1 -1
  125. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-scheme-from-batch-file-name.js.html +1 -1
  126. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-scheme-properties.js.html +1 -1
  127. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-schemes.js.html +1 -1
  128. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/index.html +1 -1
  129. package/test-output/lcov-report/ffc-pay-schemes/app/{helpers/get-siti-agri-scheme-ids.js.html → scheme-properties/scheme-does-not-require-ppas.js.html} +8 -8
  130. package/test-output/lcov-report/ffc-pay-schemes/app/{helpers/getSitiAgriSchemeIds.js.html → scheme-properties/scheme-provides-accounting-values.js.html} +19 -19
  131. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-provides-accounting-values.js.html +112 -0
  132. package/test-output/lcov-report/ffc-pay-schemes/app/source-system/get-source-system-from-scheme-id.js.html +1 -1
  133. package/test-output/lcov-report/ffc-pay-schemes/app/source-system/get-source-systems.js.html +1 -1
  134. package/test-output/lcov-report/ffc-pay-schemes/app/source-system/index.html +1 -1
  135. package/test-output/lcov-report/ffc-pay-schemes/index.html +5 -5
  136. package/test-output/lcov-report/ffc-pay-schemes/index.js.html +4 -10
  137. package/test-output/lcov-report/get-account-code-map/bps-map.js.html +1 -1
  138. package/test-output/lcov-report/get-account-code-map/cohtc-map.js.html +1 -1
  139. package/test-output/lcov-report/get-account-code-map/cs-map.js.html +1 -1
  140. package/test-output/lcov-report/get-account-code-map/default-map.js.html +1 -1
  141. package/test-output/lcov-report/get-account-code-map/delinked-map.js.html +1 -1
  142. package/test-output/lcov-report/get-account-code-map/index.html +1 -1
  143. package/test-output/lcov-report/get-account-code-map/index.js.html +1 -1
  144. package/test-output/lcov-report/get-account-code-map/lump-sums-map.js.html +1 -1
  145. package/test-output/lcov-report/get-account-code-map/sfi-frps-map.js.html +1 -1
  146. package/test-output/lcov-report/get-account-code-map/vet-visits-map.js.html +1 -1
  147. package/test-output/lcov-report/helpers/get-batch-sequence-from-file-name.js.html +1 -1
  148. package/test-output/lcov-report/helpers/get-journal-source-from-pillar.js.html +1 -1
  149. package/test-output/lcov-report/helpers/get-reporting-data-filter.js.html +1 -1
  150. package/test-output/lcov-report/helpers/get-siti-agri-scheme-ids.js.html +1 -1
  151. package/test-output/lcov-report/helpers/index.html +4 -34
  152. package/test-output/lcov-report/helpers/is-frps.js.html +1 -1
  153. package/test-output/lcov-report/helpers/is-siti-agri.js.html +1 -1
  154. package/test-output/lcov-report/helpers/is-valid-scheme-id.js.html +1 -1
  155. package/test-output/lcov-report/helpers/scheme-does-not-require-ppas.js.html +1 -1
  156. package/test-output/lcov-report/helpers/scheme-provides-accounting-values.js.html +1 -1
  157. package/test-output/lcov-report/index.html +21 -21
  158. package/test-output/lcov-report/pillar/get-pillar-from-scheme-id.js.html +1 -1
  159. package/test-output/lcov-report/pillar/get-pillars.js.html +1 -1
  160. package/test-output/lcov-report/pillar/index.html +1 -1
  161. package/test-output/lcov-report/scheme-id/get-scheme-id-from-pillar.js.html +1 -1
  162. package/test-output/lcov-report/scheme-id/get-scheme-id-from-source-system.js.html +1 -1
  163. package/test-output/lcov-report/scheme-id/get-scheme-ids.js.html +1 -1
  164. package/test-output/lcov-report/scheme-id/get-siti-agri-scheme-ids.js.html +112 -0
  165. package/test-output/lcov-report/scheme-id/index.html +34 -4
  166. package/test-output/lcov-report/scheme-id/is-valid-scheme-id.js.html +115 -0
  167. package/test-output/lcov-report/scheme-name/get-scheme-name-from-scheme-id.js.html +1 -1
  168. package/test-output/lcov-report/scheme-name/get-scheme-names.js.html +1 -1
  169. package/test-output/lcov-report/scheme-name/index.html +1 -1
  170. package/test-output/lcov-report/scheme-properties/get-scheme-batch-properties.js.html +1 -1
  171. package/test-output/lcov-report/scheme-properties/get-scheme-from-batch-file-name.js.html +1 -1
  172. package/test-output/lcov-report/scheme-properties/get-scheme-properties.js.html +1 -1
  173. package/test-output/lcov-report/scheme-properties/get-schemes.js.html +1 -1
  174. package/test-output/lcov-report/scheme-properties/get-siti-agri-schemes.js.html +133 -0
  175. package/test-output/lcov-report/scheme-properties/index.html +19 -4
  176. package/test-output/lcov-report/source-system/get-source-system-from-scheme-id.js.html +1 -1
  177. package/test-output/lcov-report/source-system/get-source-systems.js.html +1 -1
  178. package/test-output/lcov-report/source-system/index.html +1 -1
  179. package/test-output/lcov.info +68 -37
  180. /package/app/{helpers → scheme-id}/get-siti-agri-scheme-ids.js +0 -0
  181. /package/app/{helpers → scheme-id}/is-valid-scheme-id.js +0 -0
@@ -1,33 +1,113 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <testsuites name="jest tests" tests="344" failures="0" errors="0" time="2.074">
3
- <testsuite name="getSchemeProperties" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:02" time="0.152" tests="57">
4
- <testcase classname="getSchemeProperties returns the properties for schemeId 1" name="getSchemeProperties returns the properties for schemeId 1" time="0.003">
2
+ <testsuites name="jest tests" tests="345" failures="0" errors="0" time="2.386">
3
+ <testsuite name="getAccountCodeMap" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:09" time="0.233" tests="19">
4
+ <testcase classname="getAccountCodeMap returns the correct map for SFI" name="getAccountCodeMap returns the correct map for SFI" time="0.002">
5
5
  </testcase>
6
- <testcase classname="getSchemeProperties returns the properties for schemeId 2" name="getSchemeProperties returns the properties for schemeId 2" time="0.001">
6
+ <testcase classname="getAccountCodeMap returns the correct map for SFI_PILOT" name="getAccountCodeMap returns the correct map for SFI_PILOT" time="0">
7
+ </testcase>
8
+ <testcase classname="getAccountCodeMap returns the correct map for LUMP_SUMS" name="getAccountCodeMap returns the correct map for LUMP_SUMS" time="0.001">
9
+ </testcase>
10
+ <testcase classname="getAccountCodeMap returns the correct map for VET_VISITS" name="getAccountCodeMap returns the correct map for VET_VISITS" time="0.001">
11
+ </testcase>
12
+ <testcase classname="getAccountCodeMap returns the correct map for CS" name="getAccountCodeMap returns the correct map for CS" time="0.001">
13
+ </testcase>
14
+ <testcase classname="getAccountCodeMap returns the correct map for BPS" name="getAccountCodeMap returns the correct map for BPS" time="0.002">
15
+ </testcase>
16
+ <testcase classname="getAccountCodeMap returns the correct map for SFI23" name="getAccountCodeMap returns the correct map for SFI23" time="0">
17
+ </testcase>
18
+ <testcase classname="getAccountCodeMap returns the correct map for DELINKED" name="getAccountCodeMap returns the correct map for DELINKED" time="0.001">
19
+ </testcase>
20
+ <testcase classname="getAccountCodeMap returns the correct map for SFI_EXPANDED" name="getAccountCodeMap returns the correct map for SFI_EXPANDED" time="0.001">
21
+ </testcase>
22
+ <testcase classname="getAccountCodeMap returns the correct map for COHT_REVENUE" name="getAccountCodeMap returns the correct map for COHT_REVENUE" time="0.001">
23
+ </testcase>
24
+ <testcase classname="getAccountCodeMap returns the correct map for COHT_CAPITAL" name="getAccountCodeMap returns the correct map for COHT_CAPITAL" time="0.001">
25
+ </testcase>
26
+ <testcase classname="getAccountCodeMap returns the correct map for FPTT" name="getAccountCodeMap returns the correct map for FPTT" time="0">
27
+ </testcase>
28
+ <testcase classname="getAccountCodeMap returns the correct map for WMP" name="getAccountCodeMap returns the correct map for WMP" time="0">
29
+ </testcase>
30
+ <testcase classname="getAccountCodeMap throws an error for the unmapped MANUAL scheme" name="getAccountCodeMap throws an error for the unmapped MANUAL scheme" time="0.015">
31
+ </testcase>
32
+ <testcase classname="getAccountCodeMap throws an error for the unmapped ES scheme" name="getAccountCodeMap throws an error for the unmapped ES scheme" time="0.001">
33
+ </testcase>
34
+ <testcase classname="getAccountCodeMap throws an error for the unmapped FC scheme" name="getAccountCodeMap throws an error for the unmapped FC scheme" time="0.001">
35
+ </testcase>
36
+ <testcase classname="getAccountCodeMap throws an error for the unmapped IMPS scheme" name="getAccountCodeMap throws an error for the unmapped IMPS scheme" time="0.001">
37
+ </testcase>
38
+ <testcase classname="getAccountCodeMap throws an error when schemeId is not provided" name="getAccountCodeMap throws an error when schemeId is not provided" time="0">
39
+ </testcase>
40
+ <testcase classname="getAccountCodeMap throws an error for an unknown schemeId" name="getAccountCodeMap throws an error for an unknown schemeId" time="0.001">
41
+ </testcase>
42
+ </testsuite>
43
+ <testsuite name="getSchemes" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.064" tests="19">
44
+ <testcase classname="getSchemes returns all schemes with their IDs and names" name="getSchemes returns all schemes with their IDs and names" time="0.002">
45
+ </testcase>
46
+ <testcase classname="getSchemes returns the correct details for SFI" name="getSchemes returns the correct details for SFI" time="0">
47
+ </testcase>
48
+ <testcase classname="getSchemes returns the correct details for SFI_PILOT" name="getSchemes returns the correct details for SFI_PILOT" time="0.001">
49
+ </testcase>
50
+ <testcase classname="getSchemes returns the correct details for LUMP_SUMS" name="getSchemes returns the correct details for LUMP_SUMS" time="0.001">
51
+ </testcase>
52
+ <testcase classname="getSchemes returns the correct details for VET_VISITS" name="getSchemes returns the correct details for VET_VISITS" time="0.001">
53
+ </testcase>
54
+ <testcase classname="getSchemes returns the correct details for CS" name="getSchemes returns the correct details for CS" time="0">
55
+ </testcase>
56
+ <testcase classname="getSchemes returns the correct details for BPS" name="getSchemes returns the correct details for BPS" time="0">
57
+ </testcase>
58
+ <testcase classname="getSchemes returns the correct details for MANUAL" name="getSchemes returns the correct details for MANUAL" time="0.001">
59
+ </testcase>
60
+ <testcase classname="getSchemes returns the correct details for ES" name="getSchemes returns the correct details for ES" time="0">
61
+ </testcase>
62
+ <testcase classname="getSchemes returns the correct details for FC" name="getSchemes returns the correct details for FC" time="0">
63
+ </testcase>
64
+ <testcase classname="getSchemes returns the correct details for IMPS" name="getSchemes returns the correct details for IMPS" time="0.001">
65
+ </testcase>
66
+ <testcase classname="getSchemes returns the correct details for SFI23" name="getSchemes returns the correct details for SFI23" time="0.001">
67
+ </testcase>
68
+ <testcase classname="getSchemes returns the correct details for DELINKED" name="getSchemes returns the correct details for DELINKED" time="0.001">
69
+ </testcase>
70
+ <testcase classname="getSchemes returns the correct details for SFI_EXPANDED" name="getSchemes returns the correct details for SFI_EXPANDED" time="0.001">
71
+ </testcase>
72
+ <testcase classname="getSchemes returns the correct details for COHT_REVENUE" name="getSchemes returns the correct details for COHT_REVENUE" time="0.001">
73
+ </testcase>
74
+ <testcase classname="getSchemes returns the correct details for COHT_CAPITAL" name="getSchemes returns the correct details for COHT_CAPITAL" time="0">
7
75
  </testcase>
8
- <testcase classname="getSchemeProperties returns the properties for schemeId 3" name="getSchemeProperties returns the properties for schemeId 3" time="0">
76
+ <testcase classname="getSchemes returns the correct details for FPTT" name="getSchemes returns the correct details for FPTT" time="0.005">
77
+ </testcase>
78
+ <testcase classname="getSchemes returns the correct details for WMP" name="getSchemes returns the correct details for WMP" time="0.001">
79
+ </testcase>
80
+ <testcase classname="getSchemes returns the correct details for SFI26" name="getSchemes returns the correct details for SFI26" time="0.001">
81
+ </testcase>
82
+ </testsuite>
83
+ <testsuite name="getSchemeProperties" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.086" tests="57">
84
+ <testcase classname="getSchemeProperties returns the properties for schemeId 1" name="getSchemeProperties returns the properties for schemeId 1" time="0.001">
85
+ </testcase>
86
+ <testcase classname="getSchemeProperties returns the properties for schemeId 2" name="getSchemeProperties returns the properties for schemeId 2" time="0">
87
+ </testcase>
88
+ <testcase classname="getSchemeProperties returns the properties for schemeId 3" name="getSchemeProperties returns the properties for schemeId 3" time="0.001">
9
89
  </testcase>
10
90
  <testcase classname="getSchemeProperties returns the properties for schemeId 4" name="getSchemeProperties returns the properties for schemeId 4" time="0">
11
91
  </testcase>
12
- <testcase classname="getSchemeProperties returns the properties for schemeId 5" name="getSchemeProperties returns the properties for schemeId 5" time="0.001">
92
+ <testcase classname="getSchemeProperties returns the properties for schemeId 5" name="getSchemeProperties returns the properties for schemeId 5" time="0">
13
93
  </testcase>
14
- <testcase classname="getSchemeProperties returns the properties for schemeId 6" name="getSchemeProperties returns the properties for schemeId 6" time="0">
94
+ <testcase classname="getSchemeProperties returns the properties for schemeId 6" name="getSchemeProperties returns the properties for schemeId 6" time="0.001">
15
95
  </testcase>
16
96
  <testcase classname="getSchemeProperties returns the properties for schemeId 8" name="getSchemeProperties returns the properties for schemeId 8" time="0">
17
97
  </testcase>
18
98
  <testcase classname="getSchemeProperties returns the properties for schemeId 9" name="getSchemeProperties returns the properties for schemeId 9" time="0">
19
99
  </testcase>
20
- <testcase classname="getSchemeProperties returns the properties for schemeId 10" name="getSchemeProperties returns the properties for schemeId 10" time="0.003">
100
+ <testcase classname="getSchemeProperties returns the properties for schemeId 10" name="getSchemeProperties returns the properties for schemeId 10" time="0.001">
21
101
  </testcase>
22
102
  <testcase classname="getSchemeProperties returns the properties for schemeId 11" name="getSchemeProperties returns the properties for schemeId 11" time="0">
23
103
  </testcase>
24
104
  <testcase classname="getSchemeProperties returns the properties for schemeId 12" name="getSchemeProperties returns the properties for schemeId 12" time="0">
25
105
  </testcase>
26
- <testcase classname="getSchemeProperties returns the properties for schemeId 13" name="getSchemeProperties returns the properties for schemeId 13" time="0">
106
+ <testcase classname="getSchemeProperties returns the properties for schemeId 13" name="getSchemeProperties returns the properties for schemeId 13" time="0.001">
27
107
  </testcase>
28
108
  <testcase classname="getSchemeProperties returns the properties for schemeId 14" name="getSchemeProperties returns the properties for schemeId 14" time="0">
29
109
  </testcase>
30
- <testcase classname="getSchemeProperties returns the properties for schemeId 15" name="getSchemeProperties returns the properties for schemeId 15" time="0.001">
110
+ <testcase classname="getSchemeProperties returns the properties for schemeId 15" name="getSchemeProperties returns the properties for schemeId 15" time="0">
31
111
  </testcase>
32
112
  <testcase classname="getSchemeProperties returns the properties for schemeId 16" name="getSchemeProperties returns the properties for schemeId 16" time="0">
33
113
  </testcase>
@@ -37,7 +117,7 @@
37
117
  </testcase>
38
118
  <testcase classname="getSchemeProperties returns the properties for schemeId 19" name="getSchemeProperties returns the properties for schemeId 19" time="0">
39
119
  </testcase>
40
- <testcase classname="getSchemeProperties returns the properties for schemeId 1, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 1, even if sourceSystem does not match" time="0">
120
+ <testcase classname="getSchemeProperties returns the properties for schemeId 1, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 1, even if sourceSystem does not match" time="0.001">
41
121
  </testcase>
42
122
  <testcase classname="getSchemeProperties returns the properties for schemeId 2, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 2, even if sourceSystem does not match" time="0.001">
43
123
  </testcase>
@@ -45,15 +125,15 @@
45
125
  </testcase>
46
126
  <testcase classname="getSchemeProperties returns the properties for schemeId 4, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 4, even if sourceSystem does not match" time="0">
47
127
  </testcase>
48
- <testcase classname="getSchemeProperties returns the properties for schemeId 5, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 5, even if sourceSystem does not match" time="0.001">
128
+ <testcase classname="getSchemeProperties returns the properties for schemeId 5, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 5, even if sourceSystem does not match" time="0">
49
129
  </testcase>
50
130
  <testcase classname="getSchemeProperties returns the properties for schemeId 6, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 6, even if sourceSystem does not match" time="0">
51
131
  </testcase>
52
- <testcase classname="getSchemeProperties returns the properties for schemeId 8, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 8, even if sourceSystem does not match" time="0">
132
+ <testcase classname="getSchemeProperties returns the properties for schemeId 8, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 8, even if sourceSystem does not match" time="0.001">
53
133
  </testcase>
54
- <testcase classname="getSchemeProperties returns the properties for schemeId 9, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 9, even if sourceSystem does not match" time="0">
134
+ <testcase classname="getSchemeProperties returns the properties for schemeId 9, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 9, even if sourceSystem does not match" time="0.001">
55
135
  </testcase>
56
- <testcase classname="getSchemeProperties returns the properties for schemeId 10, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 10, even if sourceSystem does not match" time="0">
136
+ <testcase classname="getSchemeProperties returns the properties for schemeId 10, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 10, even if sourceSystem does not match" time="0.001">
57
137
  </testcase>
58
138
  <testcase classname="getSchemeProperties returns the properties for schemeId 11, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 11, even if sourceSystem does not match" time="0">
59
139
  </testcase>
@@ -61,9 +141,9 @@
61
141
  </testcase>
62
142
  <testcase classname="getSchemeProperties returns the properties for schemeId 13, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 13, even if sourceSystem does not match" time="0">
63
143
  </testcase>
64
- <testcase classname="getSchemeProperties returns the properties for schemeId 14, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 14, even if sourceSystem does not match" time="0.001">
144
+ <testcase classname="getSchemeProperties returns the properties for schemeId 14, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 14, even if sourceSystem does not match" time="0">
65
145
  </testcase>
66
- <testcase classname="getSchemeProperties returns the properties for schemeId 15, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 15, even if sourceSystem does not match" time="0">
146
+ <testcase classname="getSchemeProperties returns the properties for schemeId 15, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 15, even if sourceSystem does not match" time="0.001">
67
147
  </testcase>
68
148
  <testcase classname="getSchemeProperties returns the properties for schemeId 16, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 16, even if sourceSystem does not match" time="0">
69
149
  </testcase>
@@ -79,17 +159,17 @@
79
159
  </testcase>
80
160
  <testcase classname="getSchemeProperties returns the properties for sourceSystem LSES when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem LSES when schemeId is not present" time="0">
81
161
  </testcase>
82
- <testcase classname="getSchemeProperties returns the properties for sourceSystem AHWR when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem AHWR when schemeId is not present" time="0.001">
162
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem AHWR when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem AHWR when schemeId is not present" time="0">
83
163
  </testcase>
84
- <testcase classname="getSchemeProperties returns the properties for sourceSystem SITI AGRI CS SYS when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem SITI AGRI CS SYS when schemeId is not present" time="0">
164
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem SITI AGRI CS SYS when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem SITI AGRI CS SYS when schemeId is not present" time="0.001">
85
165
  </testcase>
86
166
  <testcase classname="getSchemeProperties returns the properties for sourceSystem SITI AGRI SYS when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem SITI AGRI SYS when schemeId is not present" time="0">
87
167
  </testcase>
88
- <testcase classname="getSchemeProperties returns the properties for sourceSystem Injection when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem Injection when schemeId is not present" time="0">
168
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem Injection when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem Injection when schemeId is not present" time="0.008">
89
169
  </testcase>
90
- <testcase classname="getSchemeProperties returns the properties for sourceSystem Genesis when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem Genesis when schemeId is not present" time="0">
170
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem Genesis when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem Genesis when schemeId is not present" time="0.001">
91
171
  </testcase>
92
- <testcase classname="getSchemeProperties returns the properties for sourceSystem GLOS when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem GLOS when schemeId is not present" time="0">
172
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem GLOS when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem GLOS when schemeId is not present" time="0.001">
93
173
  </testcase>
94
174
  <testcase classname="getSchemeProperties returns the properties for sourceSystem IMPS when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem IMPS when schemeId is not present" time="0">
95
175
  </testcase>
@@ -109,235 +189,243 @@
109
189
  </testcase>
110
190
  <testcase classname="getSchemeProperties returns the properties for sourceSystem SFI26 when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem SFI26 when schemeId is not present" time="0">
111
191
  </testcase>
112
- <testcase classname="getSchemeProperties throws an error for an unknown schemeId and sourceSystem" name="getSchemeProperties throws an error for an unknown schemeId and sourceSystem" time="0.007">
192
+ <testcase classname="getSchemeProperties throws an error for an unknown schemeId and sourceSystem" name="getSchemeProperties throws an error for an unknown schemeId and sourceSystem" time="0.005">
113
193
  </testcase>
114
- <testcase classname="getSchemeProperties uses the pillar delivery body and fund code for a manual scheme" name="getSchemeProperties uses the pillar delivery body and fund code for a manual scheme" time="0">
194
+ <testcase classname="getSchemeProperties uses the pillar delivery body and fund code for a manual scheme" name="getSchemeProperties uses the pillar delivery body and fund code for a manual scheme" time="0.001">
115
195
  </testcase>
116
196
  <testcase classname="getSchemeProperties returns the manual scheme unchanged for an unknown pillar" name="getSchemeProperties returns the manual scheme unchanged for an unknown pillar" time="0.001">
117
197
  </testcase>
118
198
  </testsuite>
119
- <testsuite name="getAccountCodeMap" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:02" time="0.054" tests="19">
120
- <testcase classname="getAccountCodeMap returns the correct map for SFI" name="getAccountCodeMap returns the correct map for SFI" time="0.001">
199
+ <testsuite name="SFI FRPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.035" tests="10">
200
+ <testcase classname="SFI FRPS account code map contains the complete expected map" name="SFI FRPS account code map contains the complete expected map" time="0.001">
121
201
  </testcase>
122
- <testcase classname="getAccountCodeMap returns the correct map for SFI_PILOT" name="getAccountCodeMap returns the correct map for SFI_PILOT" time="0">
202
+ <testcase classname="SFI FRPS account code map contains default mapping 0" name="SFI FRPS account code map contains default mapping 0" time="0">
123
203
  </testcase>
124
- <testcase classname="getAccountCodeMap returns the correct map for LUMP_SUMS" name="getAccountCodeMap returns the correct map for LUMP_SUMS" time="0">
204
+ <testcase classname="SFI FRPS account code map contains default mapping 1" name="SFI FRPS account code map contains default mapping 1" time="0.001">
125
205
  </testcase>
126
- <testcase classname="getAccountCodeMap returns the correct map for VET_VISITS" name="getAccountCodeMap returns the correct map for VET_VISITS" time="0">
206
+ <testcase classname="SFI FRPS account code map contains default mapping 2" name="SFI FRPS account code map contains default mapping 2" time="0">
127
207
  </testcase>
128
- <testcase classname="getAccountCodeMap returns the correct map for CS" name="getAccountCodeMap returns the correct map for CS" time="0">
208
+ <testcase classname="SFI FRPS account code map contains default mapping 3" name="SFI FRPS account code map contains default mapping 3" time="0.001">
129
209
  </testcase>
130
- <testcase classname="getAccountCodeMap returns the correct map for BPS" name="getAccountCodeMap returns the correct map for BPS" time="0.001">
210
+ <testcase classname="SFI FRPS account code map contains default mapping 4" name="SFI FRPS account code map contains default mapping 4" time="0">
131
211
  </testcase>
132
- <testcase classname="getAccountCodeMap returns the correct map for SFI23" name="getAccountCodeMap returns the correct map for SFI23" time="0">
212
+ <testcase classname="SFI FRPS account code map contains default mapping 5" name="SFI FRPS account code map contains default mapping 5" time="0">
133
213
  </testcase>
134
- <testcase classname="getAccountCodeMap returns the correct map for DELINKED" name="getAccountCodeMap returns the correct map for DELINKED" time="0">
214
+ <testcase classname="SFI FRPS account code map contains default mapping 6" name="SFI FRPS account code map contains default mapping 6" time="0">
135
215
  </testcase>
136
- <testcase classname="getAccountCodeMap returns the correct map for SFI_EXPANDED" name="getAccountCodeMap returns the correct map for SFI_EXPANDED" time="0">
216
+ <testcase classname="SFI FRPS account code map contains default mapping 7" name="SFI FRPS account code map contains default mapping 7" time="0">
137
217
  </testcase>
138
- <testcase classname="getAccountCodeMap returns the correct map for COHT_REVENUE" name="getAccountCodeMap returns the correct map for COHT_REVENUE" time="0.001">
218
+ <testcase classname="SFI FRPS account code map contains the P02 mapping" name="SFI FRPS account code map contains the P02 mapping" time="0.001">
139
219
  </testcase>
140
- <testcase classname="getAccountCodeMap returns the correct map for COHT_CAPITAL" name="getAccountCodeMap returns the correct map for COHT_CAPITAL" time="0">
220
+ </testsuite>
221
+ <testsuite name="getSitiAgriSchemes" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.036" tests="1">
222
+ <testcase classname="getSitiAgriSchemes returns one scheme object for each SITI Agri scheme id" name="getSitiAgriSchemes returns one scheme object for each SITI Agri scheme id" time="0.002">
141
223
  </testcase>
142
- <testcase classname="getAccountCodeMap returns the correct map for FPTT" name="getAccountCodeMap returns the correct map for FPTT" time="0">
224
+ </testsuite>
225
+ <testsuite name="getSchemeIds" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.034" tests="1">
226
+ <testcase classname="getSchemeIds returns all scheme IDs" name="getSchemeIds returns all scheme IDs" time="0.001">
143
227
  </testcase>
144
- <testcase classname="getAccountCodeMap returns the correct map for WMP" name="getAccountCodeMap returns the correct map for WMP" time="0">
228
+ </testsuite>
229
+ <testsuite name="BPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.077" tests="28">
230
+ <testcase classname="BPS account code map contains all expected line codes" name="BPS account code map contains all expected line codes" time="0.003">
145
231
  </testcase>
146
- <testcase classname="getAccountCodeMap throws an error for the unmapped MANUAL scheme" name="getAccountCodeMap throws an error for the unmapped MANUAL scheme" time="0.003">
232
+ <testcase classname="BPS account code map returns the correct account codes for G00" name="BPS account code map returns the correct account codes for G00" time="0.001">
147
233
  </testcase>
148
- <testcase classname="getAccountCodeMap throws an error for the unmapped ES scheme" name="getAccountCodeMap throws an error for the unmapped ES scheme" time="0">
234
+ <testcase classname="BPS account code map returns the correct account codes for P01" name="BPS account code map returns the correct account codes for P01" time="0">
149
235
  </testcase>
150
- <testcase classname="getAccountCodeMap throws an error for the unmapped FC scheme" name="getAccountCodeMap throws an error for the unmapped FC scheme" time="0">
236
+ <testcase classname="BPS account code map returns the correct account codes for P02" name="BPS account code map returns the correct account codes for P02" time="0">
151
237
  </testcase>
152
- <testcase classname="getAccountCodeMap throws an error for the unmapped IMPS scheme" name="getAccountCodeMap throws an error for the unmapped IMPS scheme" time="0">
238
+ <testcase classname="BPS account code map returns the correct account codes for P03" name="BPS account code map returns the correct account codes for P03" time="0">
153
239
  </testcase>
154
- <testcase classname="getAccountCodeMap throws an error when schemeId is not provided" name="getAccountCodeMap throws an error when schemeId is not provided" time="0">
240
+ <testcase classname="BPS account code map returns the correct account codes for P04" name="BPS account code map returns the correct account codes for P04" time="0">
155
241
  </testcase>
156
- <testcase classname="getAccountCodeMap throws an error for an unknown schemeId" name="getAccountCodeMap throws an error for an unknown schemeId" time="0.001">
242
+ <testcase classname="BPS account code map returns the correct account codes for P05" name="BPS account code map returns the correct account codes for P05" time="0">
157
243
  </testcase>
158
- </testsuite>
159
- <testsuite name="get scheme batch properties" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:02" time="0.032" tests="19">
160
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 1" name="get scheme batch properties returns the batch properties for schemeId 1" time="0.001">
244
+ <testcase classname="BPS account code map returns the correct account codes for P06" name="BPS account code map returns the correct account codes for P06" time="0">
161
245
  </testcase>
162
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 2" name="get scheme batch properties returns the batch properties for schemeId 2" time="0">
246
+ <testcase classname="BPS account code map returns the correct account codes for P07" name="BPS account code map returns the correct account codes for P07" time="0">
163
247
  </testcase>
164
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 3" name="get scheme batch properties returns the batch properties for schemeId 3" time="0">
248
+ <testcase classname="BPS account code map returns the correct account codes for P08" name="BPS account code map returns the correct account codes for P08" time="0.001">
165
249
  </testcase>
166
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 4" name="get scheme batch properties returns the batch properties for schemeId 4" time="0">
250
+ <testcase classname="BPS account code map returns the correct account codes for P09" name="BPS account code map returns the correct account codes for P09" time="0">
167
251
  </testcase>
168
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 5" name="get scheme batch properties returns the batch properties for schemeId 5" time="0">
252
+ <testcase classname="BPS account code map returns the correct account codes for P10" name="BPS account code map returns the correct account codes for P10" time="0">
169
253
  </testcase>
170
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 6" name="get scheme batch properties returns the batch properties for schemeId 6" time="0">
254
+ <testcase classname="BPS account code map returns the correct account codes for P11" name="BPS account code map returns the correct account codes for P11" time="0.001">
171
255
  </testcase>
172
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 8" name="get scheme batch properties returns the batch properties for schemeId 8" time="0">
256
+ <testcase classname="BPS account code map returns the correct account codes for P12" name="BPS account code map returns the correct account codes for P12" time="0">
173
257
  </testcase>
174
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 9" name="get scheme batch properties returns the batch properties for schemeId 9" time="0.001">
258
+ <testcase classname="BPS account code map returns the correct account codes for P13" name="BPS account code map returns the correct account codes for P13" time="0.001">
175
259
  </testcase>
176
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 10" name="get scheme batch properties returns the batch properties for schemeId 10" time="0">
260
+ <testcase classname="BPS account code map returns the correct account codes for P14" name="BPS account code map returns the correct account codes for P14" time="0.001">
177
261
  </testcase>
178
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 11" name="get scheme batch properties returns the batch properties for schemeId 11" time="0">
262
+ <testcase classname="BPS account code map returns the correct account codes for P15" name="BPS account code map returns the correct account codes for P15" time="0">
179
263
  </testcase>
180
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 12" name="get scheme batch properties returns the batch properties for schemeId 12" time="0">
264
+ <testcase classname="BPS account code map returns the correct account codes for P16" name="BPS account code map returns the correct account codes for P16" time="0">
181
265
  </testcase>
182
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 13" name="get scheme batch properties returns the batch properties for schemeId 13" time="0">
266
+ <testcase classname="BPS account code map returns the correct account codes for P17" name="BPS account code map returns the correct account codes for P17" time="0.001">
183
267
  </testcase>
184
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 14" name="get scheme batch properties returns the batch properties for schemeId 14" time="0">
268
+ <testcase classname="BPS account code map returns the correct account codes for P18" name="BPS account code map returns the correct account codes for P18" time="0">
185
269
  </testcase>
186
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 15" name="get scheme batch properties returns the batch properties for schemeId 15" time="0">
270
+ <testcase classname="BPS account code map returns the correct account codes for P19" name="BPS account code map returns the correct account codes for P19" time="0">
187
271
  </testcase>
188
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 16" name="get scheme batch properties returns the batch properties for schemeId 16" time="0">
272
+ <testcase classname="BPS account code map returns the correct account codes for P20" name="BPS account code map returns the correct account codes for P20" time="0">
189
273
  </testcase>
190
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 17" name="get scheme batch properties returns the batch properties for schemeId 17" time="0">
274
+ <testcase classname="BPS account code map returns the correct account codes for P21" name="BPS account code map returns the correct account codes for P21" time="0">
191
275
  </testcase>
192
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 18" name="get scheme batch properties returns the batch properties for schemeId 18" time="0">
276
+ <testcase classname="BPS account code map returns the correct account codes for R00" name="BPS account code map returns the correct account codes for R00" time="0">
193
277
  </testcase>
194
- <testcase classname="get scheme batch properties returns the batch properties for schemeId 19" name="get scheme batch properties returns the batch properties for schemeId 19" time="0">
278
+ <testcase classname="BPS account code map returns the correct account codes for X01" name="BPS account code map returns the correct account codes for X01" time="0">
195
279
  </testcase>
196
- <testcase classname="get scheme batch properties returns undefined for an unknown schemeId" name="get scheme batch properties returns undefined for an unknown schemeId" time="0">
280
+ <testcase classname="BPS account code map returns the correct account codes for X02" name="BPS account code map returns the correct account codes for X02" time="0">
197
281
  </testcase>
198
- </testsuite>
199
- <testsuite name="getSchemes" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.031" tests="19">
200
- <testcase classname="getSchemes returns all schemes with their IDs and names" name="getSchemes returns all schemes with their IDs and names" time="0.002">
282
+ <testcase classname="BPS account code map returns the correct account codes for X03" name="BPS account code map returns the correct account codes for X03" time="0.001">
201
283
  </testcase>
202
- <testcase classname="getSchemes returns the correct details for SFI" name="getSchemes returns the correct details for SFI" time="0">
284
+ <testcase classname="BPS account code map returns the correct account codes for X04" name="BPS account code map returns the correct account codes for X04" time="0">
203
285
  </testcase>
204
- <testcase classname="getSchemes returns the correct details for SFI_PILOT" name="getSchemes returns the correct details for SFI_PILOT" time="0.001">
286
+ </testsuite>
287
+ <testsuite name="getSchemeFromBatchFileName" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.031" tests="4">
288
+ <testcase classname="getSchemeFromBatchFileName returns the first matching scheme" name="getSchemeFromBatchFileName returns the first matching scheme" time="0.001">
205
289
  </testcase>
206
- <testcase classname="getSchemes returns the correct details for LUMP_SUMS" name="getSchemes returns the correct details for LUMP_SUMS" time="0">
290
+ <testcase classname="getSchemeFromBatchFileName skips schemes without a file mask" name="getSchemeFromBatchFileName skips schemes without a file mask" time="0.001">
207
291
  </testcase>
208
- <testcase classname="getSchemes returns the correct details for VET_VISITS" name="getSchemes returns the correct details for VET_VISITS" time="0">
292
+ <testcase classname="getSchemeFromBatchFileName returns undefined when no file mask matches" name="getSchemeFromBatchFileName returns undefined when no file mask matches" time="0">
209
293
  </testcase>
210
- <testcase classname="getSchemes returns the correct details for CS" name="getSchemes returns the correct details for CS" time="0.001">
294
+ <testcase classname="getSchemeFromBatchFileName stops checking after finding a match" name="getSchemeFromBatchFileName stops checking after finding a match" time="0">
211
295
  </testcase>
212
- <testcase classname="getSchemes returns the correct details for BPS" name="getSchemes returns the correct details for BPS" time="0">
296
+ </testsuite>
297
+ <testsuite name="getPillars" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.039" tests="1">
298
+ <testcase classname="getPillars returns all pillars" name="getPillars returns all pillars" time="0.002">
213
299
  </testcase>
214
- <testcase classname="getSchemes returns the correct details for MANUAL" name="getSchemes returns the correct details for MANUAL" time="0">
300
+ </testsuite>
301
+ <testsuite name="getSitiAgriSchemeIds" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.042" tests="1">
302
+ <testcase classname="getSitiAgriSchemeIds returns the Siti Agri scheme IDs" name="getSitiAgriSchemeIds returns the Siti Agri scheme IDs" time="0.001">
215
303
  </testcase>
216
- <testcase classname="getSchemes returns the correct details for ES" name="getSchemes returns the correct details for ES" time="0">
304
+ </testsuite>
305
+ <testsuite name="schemeDoesNotRequirePPAs" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.043" tests="19">
306
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI" name="schemeDoesNotRequirePPAs returns the expected result for SFI" time="0.001">
217
307
  </testcase>
218
- <testcase classname="getSchemes returns the correct details for FC" name="getSchemes returns the correct details for FC" time="0">
308
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI_PILOT" name="schemeDoesNotRequirePPAs returns the expected result for SFI_PILOT" time="0">
219
309
  </testcase>
220
- <testcase classname="getSchemes returns the correct details for IMPS" name="getSchemes returns the correct details for IMPS" time="0.001">
310
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for LUMP_SUMS" name="schemeDoesNotRequirePPAs returns the expected result for LUMP_SUMS" time="0">
221
311
  </testcase>
222
- <testcase classname="getSchemes returns the correct details for SFI23" name="getSchemes returns the correct details for SFI23" time="0">
312
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for VET_VISITS" name="schemeDoesNotRequirePPAs returns the expected result for VET_VISITS" time="0.001">
223
313
  </testcase>
224
- <testcase classname="getSchemes returns the correct details for DELINKED" name="getSchemes returns the correct details for DELINKED" time="0">
314
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for CS" name="schemeDoesNotRequirePPAs returns the expected result for CS" time="0">
225
315
  </testcase>
226
- <testcase classname="getSchemes returns the correct details for SFI_EXPANDED" name="getSchemes returns the correct details for SFI_EXPANDED" time="0.001">
316
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for BPS" name="schemeDoesNotRequirePPAs returns the expected result for BPS" time="0">
227
317
  </testcase>
228
- <testcase classname="getSchemes returns the correct details for COHT_REVENUE" name="getSchemes returns the correct details for COHT_REVENUE" time="0">
318
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for MANUAL" name="schemeDoesNotRequirePPAs returns the expected result for MANUAL" time="0.001">
229
319
  </testcase>
230
- <testcase classname="getSchemes returns the correct details for COHT_CAPITAL" name="getSchemes returns the correct details for COHT_CAPITAL" time="0">
320
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for ES" name="schemeDoesNotRequirePPAs returns the expected result for ES" time="0">
231
321
  </testcase>
232
- <testcase classname="getSchemes returns the correct details for FPTT" name="getSchemes returns the correct details for FPTT" time="0">
322
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for FC" name="schemeDoesNotRequirePPAs returns the expected result for FC" time="0.001">
233
323
  </testcase>
234
- <testcase classname="getSchemes returns the correct details for WMP" name="getSchemes returns the correct details for WMP" time="0">
324
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for IMPS" name="schemeDoesNotRequirePPAs returns the expected result for IMPS" time="0">
235
325
  </testcase>
236
- <testcase classname="getSchemes returns the correct details for SFI26" name="getSchemes returns the correct details for SFI26" time="0.001">
326
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI23" name="schemeDoesNotRequirePPAs returns the expected result for SFI23" time="0.001">
237
327
  </testcase>
238
- </testsuite>
239
- <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.026" tests="2">
240
- <testcase classname="createDefaultInvoiceNumber creates an invoice number with a padded payment request number" name="createDefaultInvoiceNumber creates an invoice number with a padded payment request number" time="0.001">
328
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for DELINKED" name="schemeDoesNotRequirePPAs returns the expected result for DELINKED" time="0">
241
329
  </testcase>
242
- <testcase classname="createDefaultInvoiceNumber returns null when required values are missing" name="createDefaultInvoiceNumber returns null when required values are missing" time="0.001">
330
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI_EXPANDED" name="schemeDoesNotRequirePPAs returns the expected result for SFI_EXPANDED" time="0.001">
243
331
  </testcase>
244
- </testsuite>
245
- <testsuite name="getSitiAgriSchemeIds" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.027" tests="1">
246
- <testcase classname="getSitiAgriSchemeIds returns the Siti Agri scheme IDs" name="getSitiAgriSchemeIds returns the Siti Agri scheme IDs" time="0.001">
332
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for COHT_REVENUE" name="schemeDoesNotRequirePPAs returns the expected result for COHT_REVENUE" time="0">
247
333
  </testcase>
248
- </testsuite>
249
- <testsuite name="BPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.058" tests="28">
250
- <testcase classname="BPS account code map contains all expected line codes" name="BPS account code map contains all expected line codes" time="0.001">
334
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for COHT_CAPITAL" name="schemeDoesNotRequirePPAs returns the expected result for COHT_CAPITAL" time="0.001">
251
335
  </testcase>
252
- <testcase classname="BPS account code map returns the correct account codes for G00" name="BPS account code map returns the correct account codes for G00" time="0">
336
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for FPTT" name="schemeDoesNotRequirePPAs returns the expected result for FPTT" time="0">
253
337
  </testcase>
254
- <testcase classname="BPS account code map returns the correct account codes for P01" name="BPS account code map returns the correct account codes for P01" time="0">
338
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for WMP" name="schemeDoesNotRequirePPAs returns the expected result for WMP" time="0.001">
255
339
  </testcase>
256
- <testcase classname="BPS account code map returns the correct account codes for P02" name="BPS account code map returns the correct account codes for P02" time="0">
340
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI26" name="schemeDoesNotRequirePPAs returns the expected result for SFI26" time="0">
257
341
  </testcase>
258
- <testcase classname="BPS account code map returns the correct account codes for P03" name="BPS account code map returns the correct account codes for P03" time="0">
342
+ <testcase classname="schemeDoesNotRequirePPAs returns false for an unknown schemeId" name="schemeDoesNotRequirePPAs returns false for an unknown schemeId" time="0.001">
259
343
  </testcase>
260
- <testcase classname="BPS account code map returns the correct account codes for P04" name="BPS account code map returns the correct account codes for P04" time="0.001">
344
+ </testsuite>
345
+ <testsuite name="Vet Visits account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.031" tests="1">
346
+ <testcase classname="Vet Visits account code map contains the expected mapping" name="Vet Visits account code map contains the expected mapping" time="0.001">
261
347
  </testcase>
262
- <testcase classname="BPS account code map returns the correct account codes for P05" name="BPS account code map returns the correct account codes for P05" time="0">
348
+ </testsuite>
349
+ <testsuite name="CS account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.068" tests="22">
350
+ <testcase classname="CS account code map contains all expected mappings" name="CS account code map contains all expected mappings" time="0.003">
263
351
  </testcase>
264
- <testcase classname="BPS account code map returns the correct account codes for P06" name="BPS account code map returns the correct account codes for P06" time="0">
352
+ <testcase classname="CS account code map contains the expected mapping for G00" name="CS account code map contains the expected mapping for G00" time="0.001">
265
353
  </testcase>
266
- <testcase classname="BPS account code map returns the correct account codes for P07" name="BPS account code map returns the correct account codes for P07" time="0">
354
+ <testcase classname="CS account code map contains the expected mapping for G00" name="CS account code map contains the expected mapping for G00" time="0.001">
267
355
  </testcase>
268
- <testcase classname="BPS account code map returns the correct account codes for P08" name="BPS account code map returns the correct account codes for P08" time="0">
356
+ <testcase classname="CS account code map contains the expected mapping for G00" name="CS account code map contains the expected mapping for G00" time="0.001">
269
357
  </testcase>
270
- <testcase classname="BPS account code map returns the correct account codes for P09" name="BPS account code map returns the correct account codes for P09" time="0">
358
+ <testcase classname="CS account code map contains the expected mapping for P02" name="CS account code map contains the expected mapping for P02" time="0">
271
359
  </testcase>
272
- <testcase classname="BPS account code map returns the correct account codes for P10" name="BPS account code map returns the correct account codes for P10" time="0">
360
+ <testcase classname="CS account code map contains the expected mapping for P02" name="CS account code map contains the expected mapping for P02" time="0.001">
273
361
  </testcase>
274
- <testcase classname="BPS account code map returns the correct account codes for P11" name="BPS account code map returns the correct account codes for P11" time="0">
362
+ <testcase classname="CS account code map contains the expected mapping for P02" name="CS account code map contains the expected mapping for P02" time="0">
275
363
  </testcase>
276
- <testcase classname="BPS account code map returns the correct account codes for P12" name="BPS account code map returns the correct account codes for P12" time="0.001">
364
+ <testcase classname="CS account code map contains the expected mapping for P05" name="CS account code map contains the expected mapping for P05" time="0">
277
365
  </testcase>
278
- <testcase classname="BPS account code map returns the correct account codes for P13" name="BPS account code map returns the correct account codes for P13" time="0">
366
+ <testcase classname="CS account code map contains the expected mapping for P05" name="CS account code map contains the expected mapping for P05" time="0.001">
279
367
  </testcase>
280
- <testcase classname="BPS account code map returns the correct account codes for P14" name="BPS account code map returns the correct account codes for P14" time="0">
368
+ <testcase classname="CS account code map contains the expected mapping for P06" name="CS account code map contains the expected mapping for P06" time="0.001">
281
369
  </testcase>
282
- <testcase classname="BPS account code map returns the correct account codes for P15" name="BPS account code map returns the correct account codes for P15" time="0">
370
+ <testcase classname="CS account code map contains the expected mapping for P06" name="CS account code map contains the expected mapping for P06" time="0.001">
283
371
  </testcase>
284
- <testcase classname="BPS account code map returns the correct account codes for P16" name="BPS account code map returns the correct account codes for P16" time="0">
372
+ <testcase classname="CS account code map contains the expected mapping for P08" name="CS account code map contains the expected mapping for P08" time="0.001">
285
373
  </testcase>
286
- <testcase classname="BPS account code map returns the correct account codes for P17" name="BPS account code map returns the correct account codes for P17" time="0">
374
+ <testcase classname="CS account code map contains the expected mapping for P08" name="CS account code map contains the expected mapping for P08" time="0.001">
287
375
  </testcase>
288
- <testcase classname="BPS account code map returns the correct account codes for P18" name="BPS account code map returns the correct account codes for P18" time="0">
376
+ <testcase classname="CS account code map contains the expected mapping for P14" name="CS account code map contains the expected mapping for P14" time="0.001">
289
377
  </testcase>
290
- <testcase classname="BPS account code map returns the correct account codes for P19" name="BPS account code map returns the correct account codes for P19" time="0">
378
+ <testcase classname="CS account code map contains the expected mapping for P14" name="CS account code map contains the expected mapping for P14" time="0.001">
291
379
  </testcase>
292
- <testcase classname="BPS account code map returns the correct account codes for P20" name="BPS account code map returns the correct account codes for P20" time="0">
380
+ <testcase classname="CS account code map contains the expected mapping for P22" name="CS account code map contains the expected mapping for P22" time="0.001">
293
381
  </testcase>
294
- <testcase classname="BPS account code map returns the correct account codes for P21" name="BPS account code map returns the correct account codes for P21" time="0">
382
+ <testcase classname="CS account code map contains the expected mapping for P22" name="CS account code map contains the expected mapping for P22" time="0.001">
295
383
  </testcase>
296
- <testcase classname="BPS account code map returns the correct account codes for R00" name="BPS account code map returns the correct account codes for R00" time="0">
384
+ <testcase classname="CS account code map contains the expected mapping for P23" name="CS account code map contains the expected mapping for P23" time="0.001">
297
385
  </testcase>
298
- <testcase classname="BPS account code map returns the correct account codes for X01" name="BPS account code map returns the correct account codes for X01" time="0">
386
+ <testcase classname="CS account code map contains the expected mapping for P23" name="CS account code map contains the expected mapping for P23" time="0.001">
299
387
  </testcase>
300
- <testcase classname="BPS account code map returns the correct account codes for X02" name="BPS account code map returns the correct account codes for X02" time="0">
388
+ <testcase classname="CS account code map contains the expected mapping for P24" name="CS account code map contains the expected mapping for P24" time="0.001">
301
389
  </testcase>
302
- <testcase classname="BPS account code map returns the correct account codes for X03" name="BPS account code map returns the correct account codes for X03" time="0.001">
390
+ <testcase classname="CS account code map contains the expected mapping for P24" name="CS account code map contains the expected mapping for P24" time="0.001">
303
391
  </testcase>
304
- <testcase classname="BPS account code map returns the correct account codes for X04" name="BPS account code map returns the correct account codes for X04" time="0">
392
+ <testcase classname="CS account code map contains the expected mapping for P24" name="CS account code map contains the expected mapping for P24" time="0.001">
305
393
  </testcase>
306
394
  </testsuite>
307
- <testsuite name="getJournalSourceFromPillar" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.028" tests="4">
308
- <testcase classname="getJournalSourceFromPillar returns the source for non-manual schemes" name="getJournalSourceFromPillar returns the source for non-manual schemes" time="0.001">
395
+ <testsuite name="getSchemeNameFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.044" tests="4">
396
+ <testcase classname="getSchemeNameFromSchemeId returns the source system for a matching scheme ID" name="getSchemeNameFromSchemeId returns the source system for a matching scheme ID" time="0.001">
309
397
  </testcase>
310
- <testcase classname="getJournalSourceFromPillar returns the manual source for a matching pillar" name="getJournalSourceFromPillar returns the manual source for a matching pillar" time="0.001">
398
+ <testcase classname="getSchemeNameFromSchemeId returns unknown when the scheme ID is not found" name="getSchemeNameFromSchemeId returns unknown when the scheme ID is not found" time="0">
311
399
  </testcase>
312
- <testcase classname="getJournalSourceFromPillar returns the manual source for the SFI pillar" name="getJournalSourceFromPillar returns the manual source for the SFI pillar" time="0">
400
+ <testcase classname="getSchemeNameFromSchemeId returns unknown when no schemes are available" name="getSchemeNameFromSchemeId returns unknown when no schemes are available" time="0.001">
313
401
  </testcase>
314
- <testcase classname="getJournalSourceFromPillar returns the original source when the pillar has no manual source" name="getJournalSourceFromPillar returns the original source when the pillar has no manual source" time="0.001">
402
+ <testcase classname="getSchemeNameFromSchemeId gets schemes before searching for the source system" name="getSchemeNameFromSchemeId gets schemes before searching for the source system" time="0.001">
315
403
  </testcase>
316
404
  </testsuite>
317
- <testsuite name="createInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.048" tests="19">
405
+ <testsuite name="createInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.056" tests="19">
318
406
  <testcase classname="createInvoiceNumber returns the existing invoice number for MANUAL" name="createInvoiceNumber returns the existing invoice number for MANUAL" time="0.002">
319
407
  </testcase>
320
- <testcase classname="createInvoiceNumber returns the existing invoice number for FC" name="createInvoiceNumber returns the existing invoice number for FC" time="0.001">
408
+ <testcase classname="createInvoiceNumber returns the existing invoice number for FC" name="createInvoiceNumber returns the existing invoice number for FC" time="0">
321
409
  </testcase>
322
410
  <testcase classname="createInvoiceNumber returns the existing invoice number for FPTT" name="createInvoiceNumber returns the existing invoice number for FPTT" time="0">
323
411
  </testcase>
324
412
  <testcase classname="createInvoiceNumber returns the existing invoice number for WMP" name="createInvoiceNumber returns the existing invoice number for WMP" time="0.001">
325
413
  </testcase>
326
- <testcase classname="createInvoiceNumber returns the existing invoice number for a manual source system" name="createInvoiceNumber returns the existing invoice number for a manual source system" time="0.001">
414
+ <testcase classname="createInvoiceNumber returns the existing invoice number for a manual source system" name="createInvoiceNumber returns the existing invoice number for a manual source system" time="0">
327
415
  </testcase>
328
- <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for DELINKED" name="createInvoiceNumber uses the standard scheme invoice number creator for DELINKED" time="0.001">
416
+ <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for DELINKED" name="createInvoiceNumber uses the standard scheme invoice number creator for DELINKED" time="0">
329
417
  </testcase>
330
- <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for SFI_EXPANDED" name="createInvoiceNumber uses the standard scheme invoice number creator for SFI_EXPANDED" time="0">
418
+ <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for SFI_EXPANDED" name="createInvoiceNumber uses the standard scheme invoice number creator for SFI_EXPANDED" time="0.001">
331
419
  </testcase>
332
- <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for COHT_REVENUE" name="createInvoiceNumber uses the standard scheme invoice number creator for COHT_REVENUE" time="0.001">
420
+ <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for COHT_REVENUE" name="createInvoiceNumber uses the standard scheme invoice number creator for COHT_REVENUE" time="0">
333
421
  </testcase>
334
- <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for COHT_CAPITAL" name="createInvoiceNumber uses the standard scheme invoice number creator for COHT_CAPITAL" time="0">
422
+ <testcase classname="createInvoiceNumber uses the standard scheme invoice number creator for COHT_CAPITAL" name="createInvoiceNumber uses the standard scheme invoice number creator for COHT_CAPITAL" time="0.001">
335
423
  </testcase>
336
- <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for SFI" name="createInvoiceNumber uses the SITI Agri invoice number creator for SFI" time="0.001">
424
+ <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for SFI" name="createInvoiceNumber uses the SITI Agri invoice number creator for SFI" time="0">
337
425
  </testcase>
338
- <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for SFI_PILOT" name="createInvoiceNumber uses the SITI Agri invoice number creator for SFI_PILOT" time="0.001">
426
+ <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for SFI_PILOT" name="createInvoiceNumber uses the SITI Agri invoice number creator for SFI_PILOT" time="0">
339
427
  </testcase>
340
- <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for LUMP_SUMS" name="createInvoiceNumber uses the SITI Agri invoice number creator for LUMP_SUMS" time="0">
428
+ <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for LUMP_SUMS" name="createInvoiceNumber uses the SITI Agri invoice number creator for LUMP_SUMS" time="0.001">
341
429
  </testcase>
342
430
  <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for CS" name="createInvoiceNumber uses the SITI Agri invoice number creator for CS" time="0">
343
431
  </testcase>
@@ -345,171 +433,105 @@
345
433
  </testcase>
346
434
  <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for SFI23" name="createInvoiceNumber uses the SITI Agri invoice number creator for SFI23" time="0.001">
347
435
  </testcase>
348
- <testcase classname="createInvoiceNumber uses the ES invoice number creator" name="createInvoiceNumber uses the ES invoice number creator" time="0.001">
436
+ <testcase classname="createInvoiceNumber uses the ES invoice number creator" name="createInvoiceNumber uses the ES invoice number creator" time="0">
349
437
  </testcase>
350
- <testcase classname="createInvoiceNumber uses the IMPS invoice number creator" name="createInvoiceNumber uses the IMPS invoice number creator" time="0.001">
438
+ <testcase classname="createInvoiceNumber uses the IMPS invoice number creator" name="createInvoiceNumber uses the IMPS invoice number creator" time="0">
351
439
  </testcase>
352
- <testcase classname="createInvoiceNumber uses the default invoice number creator for an unmapped scheme" name="createInvoiceNumber uses the default invoice number creator for an unmapped scheme" time="0.003">
440
+ <testcase classname="createInvoiceNumber uses the default invoice number creator for an unmapped scheme" name="createInvoiceNumber uses the default invoice number creator for an unmapped scheme" time="0.001">
353
441
  </testcase>
354
- <testcase classname="createInvoiceNumber returns null when the payment request is invalid" name="createInvoiceNumber returns null when the payment request is invalid" time="0.001">
442
+ <testcase classname="createInvoiceNumber returns null when the payment request is invalid" name="createInvoiceNumber returns null when the payment request is invalid" time="0.003">
355
443
  </testcase>
356
444
  </testsuite>
357
- <testsuite name="getPillarFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.054" tests="4">
358
- <testcase classname="getPillarFromSchemeId returns the pillar for a matching scheme ID" name="getPillarFromSchemeId returns the pillar for a matching scheme ID" time="0.001">
445
+ <testsuite name="getBatchSequenceFromFileName" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.049" tests="5">
446
+ <testcase classname="getBatchSequenceFromFileName returns the sequence using the scheme sequence position" name="getBatchSequenceFromFileName returns the sequence using the scheme sequence position" time="0.001">
359
447
  </testcase>
360
- <testcase classname="getPillarFromSchemeId returns unknown when the scheme ID is not found" name="getPillarFromSchemeId returns unknown when the scheme ID is not found" time="0">
448
+ <testcase classname="getBatchSequenceFromFileName returns the IMPS sequence between the final underscore and dot" name="getBatchSequenceFromFileName returns the IMPS sequence between the final underscore and dot" time="0">
361
449
  </testcase>
362
- <testcase classname="getPillarFromSchemeId returns unknown when no schemes are available" name="getPillarFromSchemeId returns unknown when no schemes are available" time="0.001">
450
+ <testcase classname="getBatchSequenceFromFileName uses the final underscore for IMPS filenames" name="getBatchSequenceFromFileName uses the final underscore for IMPS filenames" time="0">
363
451
  </testcase>
364
- <testcase classname="getPillarFromSchemeId gets schemes before searching for the pillar" name="getPillarFromSchemeId gets schemes before searching for the pillar" time="0">
452
+ <testcase classname="getBatchSequenceFromFileName throws when the scheme ID is unknown" name="getBatchSequenceFromFileName throws when the scheme ID is unknown" time="0.006">
365
453
  </testcase>
366
- </testsuite>
367
- <testsuite name="Delinked account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.022" tests="1">
368
- <testcase classname="Delinked account code map contains the expected account code mappings" name="Delinked account code map contains the expected account code mappings" time="0.001">
454
+ <testcase classname="getBatchSequenceFromFileName throws when the scheme has no sequence position" name="getBatchSequenceFromFileName throws when the scheme has no sequence position" time="0.002">
369
455
  </testcase>
370
456
  </testsuite>
371
- <testsuite name="createSplitInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.026" tests="2">
372
- <testcase classname="createSplitInvoiceNumber uses the Siti Agri invoice format when the scheme is Siti Agri" name="createSplitInvoiceNumber uses the Siti Agri invoice format when the scheme is Siti Agri" time="0.001">
373
- </testcase>
374
- <testcase classname="createSplitInvoiceNumber uses the default invoice format when the scheme is not Siti Agri" name="createSplitInvoiceNumber uses the default invoice format when the scheme is not Siti Agri" time="0.001">
457
+ <testsuite name="default account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:10" time="0.024" tests="1">
458
+ <testcase classname="default account code map contains the expected account code mappings" name="default account code map contains the expected account code mappings" time="0.001">
375
459
  </testcase>
376
460
  </testsuite>
377
- <testsuite name="isFRPS" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.022" tests="6">
461
+ <testsuite name="isFRPS" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.032" tests="6">
378
462
  <testcase classname="isFRPS returns true for FRPS scheme: 17" name="isFRPS returns true for FRPS scheme: 17" time="0.001">
379
463
  </testcase>
380
- <testcase classname="isFRPS returns true for FRPS scheme: 18" name="isFRPS returns true for FRPS scheme: 18" time="0.001">
464
+ <testcase classname="isFRPS returns true for FRPS scheme: 18" name="isFRPS returns true for FRPS scheme: 18" time="0">
381
465
  </testcase>
382
466
  <testcase classname="isFRPS returns false for non-FRPS scheme: unknown-scheme" name="isFRPS returns false for non-FRPS scheme: unknown-scheme" time="0">
383
467
  </testcase>
384
- <testcase classname="isFRPS returns false for non-FRPS scheme: " name="isFRPS returns false for non-FRPS scheme: " time="0.001">
468
+ <testcase classname="isFRPS returns false for non-FRPS scheme: " name="isFRPS returns false for non-FRPS scheme: " time="0">
385
469
  </testcase>
386
470
  <testcase classname="isFRPS returns false for non-FRPS scheme: null" name="isFRPS returns false for non-FRPS scheme: null" time="0">
387
471
  </testcase>
388
472
  <testcase classname="isFRPS returns false for non-FRPS scheme: undefined" name="isFRPS returns false for non-FRPS scheme: undefined" time="0">
389
473
  </testcase>
390
474
  </testsuite>
391
- <testsuite name="getReportingDataFilter" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.024" tests="5">
392
- <testcase classname="getReportingDataFilter returns marketing year for BPS" name="getReportingDataFilter returns marketing year for BPS" time="0.001">
393
- </testcase>
394
- <testcase classname="getReportingDataFilter returns marketing year for DELINKED" name="getReportingDataFilter returns marketing year for DELINKED" time="0">
395
- </testcase>
396
- <testcase classname="getReportingDataFilter returns contract number for CS" name="getReportingDataFilter returns contract number for CS" time="0.001">
475
+ <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.034" tests="3">
476
+ <testcase classname="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" name="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" time="0.001">
397
477
  </testcase>
398
- <testcase classname="getReportingDataFilter returns the FRPS filter including correlation ID" name="getReportingDataFilter returns the FRPS filter including correlation ID" time="0">
478
+ <testcase classname="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" name="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" time="0.001">
399
479
  </testcase>
400
- <testcase classname="getReportingDataFilter returns the default filter for non-FRPS schemes" name="getReportingDataFilter returns the default filter for non-FRPS schemes" time="0">
401
- </testcase>
402
- </testsuite>
403
- <testsuite name="getSourceSystemFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.023" tests="4">
404
- <testcase classname="getSourceSystemFromSchemeId returns the source system for a matching scheme ID" name="getSourceSystemFromSchemeId returns the source system for a matching scheme ID" time="0.001">
405
- </testcase>
406
- <testcase classname="getSourceSystemFromSchemeId returns unknown when the scheme ID is not found" name="getSourceSystemFromSchemeId returns unknown when the scheme ID is not found" time="0">
407
- </testcase>
408
- <testcase classname="getSourceSystemFromSchemeId returns unknown when no schemes are available" name="getSourceSystemFromSchemeId returns unknown when no schemes are available" time="0">
409
- </testcase>
410
- <testcase classname="getSourceSystemFromSchemeId gets schemes before searching for the source system" name="getSourceSystemFromSchemeId gets schemes before searching for the source system" time="0">
411
- </testcase>
412
- </testsuite>
413
- <testsuite name="getBatchSequenceFromFileName" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.226" tests="5">
414
- <testcase classname="getBatchSequenceFromFileName returns the sequence using the scheme sequence position" name="getBatchSequenceFromFileName returns the sequence using the scheme sequence position" time="0.001">
415
- </testcase>
416
- <testcase classname="getBatchSequenceFromFileName returns the IMPS sequence between the final underscore and dot" name="getBatchSequenceFromFileName returns the IMPS sequence between the final underscore and dot" time="0">
417
- </testcase>
418
- <testcase classname="getBatchSequenceFromFileName uses the final underscore for IMPS filenames" name="getBatchSequenceFromFileName uses the final underscore for IMPS filenames" time="0">
419
- </testcase>
420
- <testcase classname="getBatchSequenceFromFileName throws when the scheme ID is unknown" name="getBatchSequenceFromFileName throws when the scheme ID is unknown" time="0.003">
421
- </testcase>
422
- <testcase classname="getBatchSequenceFromFileName throws when the scheme has no sequence position" name="getBatchSequenceFromFileName throws when the scheme has no sequence position" time="0">
423
- </testcase>
424
- </testsuite>
425
- <testsuite name="SFI FRPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.034" tests="10">
426
- <testcase classname="SFI FRPS account code map contains the complete expected map" name="SFI FRPS account code map contains the complete expected map" time="0.001">
427
- </testcase>
428
- <testcase classname="SFI FRPS account code map contains default mapping 0" name="SFI FRPS account code map contains default mapping 0" time="0.001">
429
- </testcase>
430
- <testcase classname="SFI FRPS account code map contains default mapping 1" name="SFI FRPS account code map contains default mapping 1" time="0.001">
431
- </testcase>
432
- <testcase classname="SFI FRPS account code map contains default mapping 2" name="SFI FRPS account code map contains default mapping 2" time="0">
433
- </testcase>
434
- <testcase classname="SFI FRPS account code map contains default mapping 3" name="SFI FRPS account code map contains default mapping 3" time="0.001">
435
- </testcase>
436
- <testcase classname="SFI FRPS account code map contains default mapping 4" name="SFI FRPS account code map contains default mapping 4" time="0">
437
- </testcase>
438
- <testcase classname="SFI FRPS account code map contains default mapping 5" name="SFI FRPS account code map contains default mapping 5" time="0">
439
- </testcase>
440
- <testcase classname="SFI FRPS account code map contains default mapping 6" name="SFI FRPS account code map contains default mapping 6" time="0">
441
- </testcase>
442
- <testcase classname="SFI FRPS account code map contains default mapping 7" name="SFI FRPS account code map contains default mapping 7" time="0">
443
- </testcase>
444
- <testcase classname="SFI FRPS account code map contains the P02 mapping" name="SFI FRPS account code map contains the P02 mapping" time="0.001">
480
+ <testcase classname="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" name="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" time="0">
445
481
  </testcase>
446
482
  </testsuite>
447
- <testsuite name="getPillars" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.038" tests="1">
448
- <testcase classname="getPillars returns all pillars" name="getPillars returns all pillars" time="0.001">
483
+ <testsuite name="getSourceSystems" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.027" tests="1">
484
+ <testcase classname="getSourceSystems returns all source systems" name="getSourceSystems returns all source systems" time="0">
449
485
  </testcase>
450
486
  </testsuite>
451
- <testsuite name="isSitiAgri" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.045" tests="15">
452
- <testcase classname="isSitiAgri returns true for SITI scheme: 1" name="isSitiAgri returns true for SITI scheme: 1" time="0.001">
453
- </testcase>
454
- <testcase classname="isSitiAgri returns true for SITI scheme: 2" name="isSitiAgri returns true for SITI scheme: 2" time="0.001">
455
- </testcase>
456
- <testcase classname="isSitiAgri returns true for SITI scheme: 3" name="isSitiAgri returns true for SITI scheme: 3" time="0">
457
- </testcase>
458
- <testcase classname="isSitiAgri returns true for SITI scheme: 5" name="isSitiAgri returns true for SITI scheme: 5" time="0">
487
+ <testsuite name="isValidSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.04" tests="20">
488
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 1" name="isValidSchemeId returns true for valid scheme ID: 1" time="0.001">
459
489
  </testcase>
460
- <testcase classname="isSitiAgri returns true for SITI scheme: 6" name="isSitiAgri returns true for SITI scheme: 6" time="0">
490
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 2" name="isValidSchemeId returns true for valid scheme ID: 2" time="0">
461
491
  </testcase>
462
- <testcase classname="isSitiAgri returns true for SITI scheme: 12" name="isSitiAgri returns true for SITI scheme: 12" time="0.001">
492
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 3" name="isValidSchemeId returns true for valid scheme ID: 3" time="0">
463
493
  </testcase>
464
- <testcase classname="isSitiAgri returns true for SITI scheme: 13" name="isSitiAgri returns true for SITI scheme: 13" time="0">
494
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 4" name="isValidSchemeId returns true for valid scheme ID: 4" time="0">
465
495
  </testcase>
466
- <testcase classname="isSitiAgri returns true for SITI scheme: 14" name="isSitiAgri returns true for SITI scheme: 14" time="0.001">
496
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 5" name="isValidSchemeId returns true for valid scheme ID: 5" time="0">
467
497
  </testcase>
468
- <testcase classname="isSitiAgri returns true for SITI scheme: 15" name="isSitiAgri returns true for SITI scheme: 15" time="0">
498
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 6" name="isValidSchemeId returns true for valid scheme ID: 6" time="0">
469
499
  </testcase>
470
- <testcase classname="isSitiAgri returns true for SITI scheme: 16" name="isSitiAgri returns true for SITI scheme: 16" time="0">
500
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 8" name="isValidSchemeId returns true for valid scheme ID: 8" time="0">
471
501
  </testcase>
472
- <testcase classname="isSitiAgri returns true for SITI scheme: 19" name="isSitiAgri returns true for SITI scheme: 19" time="0">
502
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 9" name="isValidSchemeId returns true for valid scheme ID: 9" time="0">
473
503
  </testcase>
474
- <testcase classname="isSitiAgri returns false for non-SITI scheme: unknown-scheme" name="isSitiAgri returns false for non-SITI scheme: unknown-scheme" time="0">
504
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 10" name="isValidSchemeId returns true for valid scheme ID: 10" time="0">
475
505
  </testcase>
476
- <testcase classname="isSitiAgri returns false for non-SITI scheme: " name="isSitiAgri returns false for non-SITI scheme: " time="0.001">
506
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 11" name="isValidSchemeId returns true for valid scheme ID: 11" time="0">
477
507
  </testcase>
478
- <testcase classname="isSitiAgri returns false for non-SITI scheme: null" name="isSitiAgri returns false for non-SITI scheme: null" time="0">
508
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 12" name="isValidSchemeId returns true for valid scheme ID: 12" time="0.001">
479
509
  </testcase>
480
- <testcase classname="isSitiAgri returns false for non-SITI scheme: undefined" name="isSitiAgri returns false for non-SITI scheme: undefined" time="0.001">
510
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 13" name="isValidSchemeId returns true for valid scheme ID: 13" time="0">
481
511
  </testcase>
482
- </testsuite>
483
- <testsuite name="getSchemeIdFromPillar" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.051" tests="4">
484
- <testcase classname="getSchemeIdFromPillar returns the schemeId for a matching pillar" name="getSchemeIdFromPillar returns the schemeId for a matching pillar" time="0.002">
512
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 14" name="isValidSchemeId returns true for valid scheme ID: 14" time="0.001">
485
513
  </testcase>
486
- <testcase classname="getSchemeIdFromPillar returns undefined when the pillar is not found" name="getSchemeIdFromPillar returns undefined when the pillar is not found" time="0.001">
514
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 15" name="isValidSchemeId returns true for valid scheme ID: 15" time="0.001">
487
515
  </testcase>
488
- <testcase classname="getSchemeIdFromPillar returns undefined when no schemes are available" name="getSchemeIdFromPillar returns undefined when no schemes are available" time="0">
516
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 16" name="isValidSchemeId returns true for valid scheme ID: 16" time="0">
489
517
  </testcase>
490
- <testcase classname="getSchemeIdFromPillar gets schemes before searching for the pillar" name="getSchemeIdFromPillar gets schemes before searching for the pillar" time="0">
518
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 17" name="isValidSchemeId returns true for valid scheme ID: 17" time="0">
491
519
  </testcase>
492
- </testsuite>
493
- <testsuite name="createESInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.031" tests="1">
494
- <testcase classname="createESInvoiceNumber creates an ES invoice number" name="createESInvoiceNumber creates an ES invoice number" time="0.001">
520
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 18" name="isValidSchemeId returns true for valid scheme ID: 18" time="0">
495
521
  </testcase>
496
- </testsuite>
497
- <testsuite name="getSchemeFromBatchFileName" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:03" time="0.03" tests="4">
498
- <testcase classname="getSchemeFromBatchFileName returns the first matching scheme" name="getSchemeFromBatchFileName returns the first matching scheme" time="0.001">
522
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 19" name="isValidSchemeId returns true for valid scheme ID: 19" time="0.001">
499
523
  </testcase>
500
- <testcase classname="getSchemeFromBatchFileName skips schemes without a file mask" name="getSchemeFromBatchFileName skips schemes without a file mask" time="0.001">
524
+ <testcase classname="isValidSchemeId returns true for a valid scheme ID with surrounding whitespace" name="isValidSchemeId returns true for a valid scheme ID with surrounding whitespace" time="0">
501
525
  </testcase>
502
- <testcase classname="getSchemeFromBatchFileName returns undefined when no file mask matches" name="getSchemeFromBatchFileName returns undefined when no file mask matches" time="0.001">
503
- </testcase>
504
- <testcase classname="getSchemeFromBatchFileName stops checking after finding a match" name="getSchemeFromBatchFileName stops checking after finding a match" time="0">
526
+ <testcase classname="isValidSchemeId returns false for a scheme ID not included in scheme IDs" name="isValidSchemeId returns false for a scheme ID not included in scheme IDs" time="0">
505
527
  </testcase>
506
528
  </testsuite>
507
- <testsuite name="schemeProvidesAccountingValues" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.028" tests="19">
529
+ <testsuite name="schemeProvidesAccountingValues" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.038" tests="19">
508
530
  <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI" name="schemeProvidesAccountingValues returns the expected result for SFI" time="0.001">
509
531
  </testcase>
510
- <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" name="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" time="0">
532
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" name="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" time="0.001">
511
533
  </testcase>
512
- <testcase classname="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" name="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" time="0">
534
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" name="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" time="0.001">
513
535
  </testcase>
514
536
  <testcase classname="schemeProvidesAccountingValues returns the expected result for VET_VISITS" name="schemeProvidesAccountingValues returns the expected result for VET_VISITS" time="0">
515
537
  </testcase>
@@ -517,13 +539,13 @@
517
539
  </testcase>
518
540
  <testcase classname="schemeProvidesAccountingValues returns the expected result for BPS" name="schemeProvidesAccountingValues returns the expected result for BPS" time="0">
519
541
  </testcase>
520
- <testcase classname="schemeProvidesAccountingValues returns the expected result for MANUAL" name="schemeProvidesAccountingValues returns the expected result for MANUAL" time="0">
542
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for MANUAL" name="schemeProvidesAccountingValues returns the expected result for MANUAL" time="0.001">
521
543
  </testcase>
522
544
  <testcase classname="schemeProvidesAccountingValues returns the expected result for ES" name="schemeProvidesAccountingValues returns the expected result for ES" time="0">
523
545
  </testcase>
524
- <testcase classname="schemeProvidesAccountingValues returns the expected result for FC" name="schemeProvidesAccountingValues returns the expected result for FC" time="0.001">
546
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for FC" name="schemeProvidesAccountingValues returns the expected result for FC" time="0">
525
547
  </testcase>
526
- <testcase classname="schemeProvidesAccountingValues returns the expected result for IMPS" name="schemeProvidesAccountingValues returns the expected result for IMPS" time="0">
548
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for IMPS" name="schemeProvidesAccountingValues returns the expected result for IMPS" time="0.001">
527
549
  </testcase>
528
550
  <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI23" name="schemeProvidesAccountingValues returns the expected result for SFI23" time="0">
529
551
  </testcase>
@@ -531,243 +553,225 @@
531
553
  </testcase>
532
554
  <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_EXPANDED" name="schemeProvidesAccountingValues returns the expected result for SFI_EXPANDED" time="0">
533
555
  </testcase>
534
- <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" name="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" time="0">
556
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" name="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" time="0.001">
535
557
  </testcase>
536
558
  <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_CAPITAL" name="schemeProvidesAccountingValues returns the expected result for COHT_CAPITAL" time="0">
537
559
  </testcase>
538
560
  <testcase classname="schemeProvidesAccountingValues returns the expected result for FPTT" name="schemeProvidesAccountingValues returns the expected result for FPTT" time="0">
539
561
  </testcase>
540
- <testcase classname="schemeProvidesAccountingValues returns the expected result for WMP" name="schemeProvidesAccountingValues returns the expected result for WMP" time="0">
562
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for WMP" name="schemeProvidesAccountingValues returns the expected result for WMP" time="0.001">
541
563
  </testcase>
542
564
  <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI26" name="schemeProvidesAccountingValues returns the expected result for SFI26" time="0">
543
565
  </testcase>
544
566
  <testcase classname="schemeProvidesAccountingValues returns false for an unknown schemeId" name="schemeProvidesAccountingValues returns false for an unknown schemeId" time="0">
545
567
  </testcase>
546
568
  </testsuite>
547
- <testsuite name="default account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.023" tests="1">
548
- <testcase classname="default account code map contains the expected account code mappings" name="default account code map contains the expected account code mappings" time="0.001">
569
+ <testsuite name="Delinked account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.037" tests="1">
570
+ <testcase classname="Delinked account code map contains the expected account code mappings" name="Delinked account code map contains the expected account code mappings" time="0.002">
549
571
  </testcase>
550
572
  </testsuite>
551
- <testsuite name="CS account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.054" tests="22">
552
- <testcase classname="CS account code map contains all expected mappings" name="CS account code map contains all expected mappings" time="0.004">
553
- </testcase>
554
- <testcase classname="CS account code map contains the expected mapping for G00" name="CS account code map contains the expected mapping for G00" time="0.001">
573
+ <testsuite name="COHTC account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.045" tests="4">
574
+ <testcase classname="COHTC account code map returns the correct account codes for G00" name="COHTC account code map returns the correct account codes for G00" time="0.002">
555
575
  </testcase>
556
- <testcase classname="CS account code map contains the expected mapping for G00" name="CS account code map contains the expected mapping for G00" time="0">
576
+ <testcase classname="COHTC account code map returns the correct account codes for P02" name="COHTC account code map returns the correct account codes for P02" time="0.001">
557
577
  </testcase>
558
- <testcase classname="CS account code map contains the expected mapping for G00" name="CS account code map contains the expected mapping for G00" time="0.001">
578
+ <testcase classname="COHTC account code map returns the correct account codes for P24" name="COHTC account code map returns the correct account codes for P24" time="0">
559
579
  </testcase>
560
- <testcase classname="CS account code map contains the expected mapping for P02" name="CS account code map contains the expected mapping for P02" time="0">
580
+ <testcase classname="COHTC account code map contains exactly the expected mappings" name="COHTC account code map contains exactly the expected mappings" time="0.001">
561
581
  </testcase>
562
- <testcase classname="CS account code map contains the expected mapping for P02" name="CS account code map contains the expected mapping for P02" time="0">
582
+ </testsuite>
583
+ <testsuite name="createSplitInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.054" tests="2">
584
+ <testcase classname="createSplitInvoiceNumber uses the Siti Agri invoice format when the scheme is Siti Agri" name="createSplitInvoiceNumber uses the Siti Agri invoice format when the scheme is Siti Agri" time="0.002">
563
585
  </testcase>
564
- <testcase classname="CS account code map contains the expected mapping for P02" name="CS account code map contains the expected mapping for P02" time="0.001">
586
+ <testcase classname="createSplitInvoiceNumber uses the default invoice format when the scheme is not Siti Agri" name="createSplitInvoiceNumber uses the default invoice format when the scheme is not Siti Agri" time="0.001">
565
587
  </testcase>
566
- <testcase classname="CS account code map contains the expected mapping for P05" name="CS account code map contains the expected mapping for P05" time="0">
588
+ </testsuite>
589
+ <testsuite name="get scheme batch properties" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.068" tests="19">
590
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 1" name="get scheme batch properties returns the batch properties for schemeId 1" time="0.001">
567
591
  </testcase>
568
- <testcase classname="CS account code map contains the expected mapping for P05" name="CS account code map contains the expected mapping for P05" time="0">
592
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 2" name="get scheme batch properties returns the batch properties for schemeId 2" time="0">
569
593
  </testcase>
570
- <testcase classname="CS account code map contains the expected mapping for P06" name="CS account code map contains the expected mapping for P06" time="0">
594
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 3" name="get scheme batch properties returns the batch properties for schemeId 3" time="0">
571
595
  </testcase>
572
- <testcase classname="CS account code map contains the expected mapping for P06" name="CS account code map contains the expected mapping for P06" time="0">
596
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 4" name="get scheme batch properties returns the batch properties for schemeId 4" time="0">
573
597
  </testcase>
574
- <testcase classname="CS account code map contains the expected mapping for P08" name="CS account code map contains the expected mapping for P08" time="0">
598
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 5" name="get scheme batch properties returns the batch properties for schemeId 5" time="0.002">
575
599
  </testcase>
576
- <testcase classname="CS account code map contains the expected mapping for P08" name="CS account code map contains the expected mapping for P08" time="0.001">
600
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 6" name="get scheme batch properties returns the batch properties for schemeId 6" time="0.001">
577
601
  </testcase>
578
- <testcase classname="CS account code map contains the expected mapping for P14" name="CS account code map contains the expected mapping for P14" time="0.001">
602
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 8" name="get scheme batch properties returns the batch properties for schemeId 8" time="0.001">
579
603
  </testcase>
580
- <testcase classname="CS account code map contains the expected mapping for P14" name="CS account code map contains the expected mapping for P14" time="0">
604
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 9" name="get scheme batch properties returns the batch properties for schemeId 9" time="0">
581
605
  </testcase>
582
- <testcase classname="CS account code map contains the expected mapping for P22" name="CS account code map contains the expected mapping for P22" time="0">
606
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 10" name="get scheme batch properties returns the batch properties for schemeId 10" time="0.001">
583
607
  </testcase>
584
- <testcase classname="CS account code map contains the expected mapping for P22" name="CS account code map contains the expected mapping for P22" time="0.001">
608
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 11" name="get scheme batch properties returns the batch properties for schemeId 11" time="0.001">
585
609
  </testcase>
586
- <testcase classname="CS account code map contains the expected mapping for P23" name="CS account code map contains the expected mapping for P23" time="0.001">
610
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 12" name="get scheme batch properties returns the batch properties for schemeId 12" time="0.001">
587
611
  </testcase>
588
- <testcase classname="CS account code map contains the expected mapping for P23" name="CS account code map contains the expected mapping for P23" time="0">
612
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 13" name="get scheme batch properties returns the batch properties for schemeId 13" time="0.001">
589
613
  </testcase>
590
- <testcase classname="CS account code map contains the expected mapping for P24" name="CS account code map contains the expected mapping for P24" time="0.001">
614
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 14" name="get scheme batch properties returns the batch properties for schemeId 14" time="0">
591
615
  </testcase>
592
- <testcase classname="CS account code map contains the expected mapping for P24" name="CS account code map contains the expected mapping for P24" time="0.001">
616
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 15" name="get scheme batch properties returns the batch properties for schemeId 15" time="0.001">
593
617
  </testcase>
594
- <testcase classname="CS account code map contains the expected mapping for P24" name="CS account code map contains the expected mapping for P24" time="0">
618
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 16" name="get scheme batch properties returns the batch properties for schemeId 16" time="0">
595
619
  </testcase>
596
- </testsuite>
597
- <testsuite name="getSchemeNameFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.051" tests="4">
598
- <testcase classname="getSchemeNameFromSchemeId returns the source system for a matching scheme ID" name="getSchemeNameFromSchemeId returns the source system for a matching scheme ID" time="0.002">
620
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 17" name="get scheme batch properties returns the batch properties for schemeId 17" time="0.001">
599
621
  </testcase>
600
- <testcase classname="getSchemeNameFromSchemeId returns unknown when the scheme ID is not found" name="getSchemeNameFromSchemeId returns unknown when the scheme ID is not found" time="0">
622
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 18" name="get scheme batch properties returns the batch properties for schemeId 18" time="0.001">
601
623
  </testcase>
602
- <testcase classname="getSchemeNameFromSchemeId returns unknown when no schemes are available" name="getSchemeNameFromSchemeId returns unknown when no schemes are available" time="0">
624
+ <testcase classname="get scheme batch properties returns the batch properties for schemeId 19" name="get scheme batch properties returns the batch properties for schemeId 19" time="0">
603
625
  </testcase>
604
- <testcase classname="getSchemeNameFromSchemeId gets schemes before searching for the source system" name="getSchemeNameFromSchemeId gets schemes before searching for the source system" time="0.001">
626
+ <testcase classname="get scheme batch properties returns undefined for an unknown schemeId" name="get scheme batch properties returns undefined for an unknown schemeId" time="0.002">
605
627
  </testcase>
606
628
  </testsuite>
607
- <testsuite name="isValidSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.049" tests="20">
608
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 1" name="isValidSchemeId returns true for valid scheme ID: 1" time="0.001">
609
- </testcase>
610
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 2" name="isValidSchemeId returns true for valid scheme ID: 2" time="0.001">
611
- </testcase>
612
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 3" name="isValidSchemeId returns true for valid scheme ID: 3" time="0.001">
613
- </testcase>
614
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 4" name="isValidSchemeId returns true for valid scheme ID: 4" time="0">
615
- </testcase>
616
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 5" name="isValidSchemeId returns true for valid scheme ID: 5" time="0.001">
617
- </testcase>
618
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 6" name="isValidSchemeId returns true for valid scheme ID: 6" time="0">
629
+ <testsuite name="isSitiAgri" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.052" tests="15">
630
+ <testcase classname="isSitiAgri returns true for SITI scheme: 1" name="isSitiAgri returns true for SITI scheme: 1" time="0.001">
619
631
  </testcase>
620
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 8" name="isValidSchemeId returns true for valid scheme ID: 8" time="0">
632
+ <testcase classname="isSitiAgri returns true for SITI scheme: 2" name="isSitiAgri returns true for SITI scheme: 2" time="0.001">
621
633
  </testcase>
622
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 9" name="isValidSchemeId returns true for valid scheme ID: 9" time="0.001">
634
+ <testcase classname="isSitiAgri returns true for SITI scheme: 3" name="isSitiAgri returns true for SITI scheme: 3" time="0">
623
635
  </testcase>
624
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 10" name="isValidSchemeId returns true for valid scheme ID: 10" time="0.001">
636
+ <testcase classname="isSitiAgri returns true for SITI scheme: 5" name="isSitiAgri returns true for SITI scheme: 5" time="0">
625
637
  </testcase>
626
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 11" name="isValidSchemeId returns true for valid scheme ID: 11" time="0">
638
+ <testcase classname="isSitiAgri returns true for SITI scheme: 6" name="isSitiAgri returns true for SITI scheme: 6" time="0">
627
639
  </testcase>
628
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 12" name="isValidSchemeId returns true for valid scheme ID: 12" time="0.001">
640
+ <testcase classname="isSitiAgri returns true for SITI scheme: 12" name="isSitiAgri returns true for SITI scheme: 12" time="0">
629
641
  </testcase>
630
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 13" name="isValidSchemeId returns true for valid scheme ID: 13" time="0">
642
+ <testcase classname="isSitiAgri returns true for SITI scheme: 13" name="isSitiAgri returns true for SITI scheme: 13" time="0.001">
631
643
  </testcase>
632
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 14" name="isValidSchemeId returns true for valid scheme ID: 14" time="0.001">
644
+ <testcase classname="isSitiAgri returns true for SITI scheme: 14" name="isSitiAgri returns true for SITI scheme: 14" time="0">
633
645
  </testcase>
634
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 15" name="isValidSchemeId returns true for valid scheme ID: 15" time="0.001">
646
+ <testcase classname="isSitiAgri returns true for SITI scheme: 15" name="isSitiAgri returns true for SITI scheme: 15" time="0">
635
647
  </testcase>
636
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 16" name="isValidSchemeId returns true for valid scheme ID: 16" time="0">
648
+ <testcase classname="isSitiAgri returns true for SITI scheme: 16" name="isSitiAgri returns true for SITI scheme: 16" time="0">
637
649
  </testcase>
638
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 17" name="isValidSchemeId returns true for valid scheme ID: 17" time="0.001">
650
+ <testcase classname="isSitiAgri returns true for SITI scheme: 19" name="isSitiAgri returns true for SITI scheme: 19" time="0">
639
651
  </testcase>
640
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 18" name="isValidSchemeId returns true for valid scheme ID: 18" time="0">
652
+ <testcase classname="isSitiAgri returns false for non-SITI scheme: unknown-scheme" name="isSitiAgri returns false for non-SITI scheme: unknown-scheme" time="0.001">
641
653
  </testcase>
642
- <testcase classname="isValidSchemeId returns true for valid scheme ID: 19" name="isValidSchemeId returns true for valid scheme ID: 19" time="0">
654
+ <testcase classname="isSitiAgri returns false for non-SITI scheme: " name="isSitiAgri returns false for non-SITI scheme: " time="0">
643
655
  </testcase>
644
- <testcase classname="isValidSchemeId returns true for a valid scheme ID with surrounding whitespace" name="isValidSchemeId returns true for a valid scheme ID with surrounding whitespace" time="0.001">
656
+ <testcase classname="isSitiAgri returns false for non-SITI scheme: null" name="isSitiAgri returns false for non-SITI scheme: null" time="0">
645
657
  </testcase>
646
- <testcase classname="isValidSchemeId returns false for a scheme ID not included in scheme IDs" name="isValidSchemeId returns false for a scheme ID not included in scheme IDs" time="0">
658
+ <testcase classname="isSitiAgri returns false for non-SITI scheme: undefined" name="isSitiAgri returns false for non-SITI scheme: undefined" time="0">
647
659
  </testcase>
648
660
  </testsuite>
649
- <testsuite name="schemeDoesNotRequirePPAs" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.056" tests="19">
650
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI" name="schemeDoesNotRequirePPAs returns the expected result for SFI" time="0.002">
651
- </testcase>
652
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI_PILOT" name="schemeDoesNotRequirePPAs returns the expected result for SFI_PILOT" time="0">
661
+ <testsuite name="getJournalSourceFromPillar" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.037" tests="4">
662
+ <testcase classname="getJournalSourceFromPillar returns the source for non-manual schemes" name="getJournalSourceFromPillar returns the source for non-manual schemes" time="0.002">
653
663
  </testcase>
654
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for LUMP_SUMS" name="schemeDoesNotRequirePPAs returns the expected result for LUMP_SUMS" time="0">
664
+ <testcase classname="getJournalSourceFromPillar returns the manual source for a matching pillar" name="getJournalSourceFromPillar returns the manual source for a matching pillar" time="0">
655
665
  </testcase>
656
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for VET_VISITS" name="schemeDoesNotRequirePPAs returns the expected result for VET_VISITS" time="0">
666
+ <testcase classname="getJournalSourceFromPillar returns the manual source for the SFI pillar" name="getJournalSourceFromPillar returns the manual source for the SFI pillar" time="0">
657
667
  </testcase>
658
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for CS" name="schemeDoesNotRequirePPAs returns the expected result for CS" time="0">
668
+ <testcase classname="getJournalSourceFromPillar returns the original source when the pillar has no manual source" name="getJournalSourceFromPillar returns the original source when the pillar has no manual source" time="0.001">
659
669
  </testcase>
660
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for BPS" name="schemeDoesNotRequirePPAs returns the expected result for BPS" time="0">
670
+ </testsuite>
671
+ <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.025" tests="2">
672
+ <testcase classname="createDefaultInvoiceNumber creates an invoice number with a padded payment request number" name="createDefaultInvoiceNumber creates an invoice number with a padded payment request number" time="0.001">
661
673
  </testcase>
662
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for MANUAL" name="schemeDoesNotRequirePPAs returns the expected result for MANUAL" time="0">
674
+ <testcase classname="createDefaultInvoiceNumber returns null when required values are missing" name="createDefaultInvoiceNumber returns null when required values are missing" time="0">
663
675
  </testcase>
664
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for ES" name="schemeDoesNotRequirePPAs returns the expected result for ES" time="0">
676
+ </testsuite>
677
+ <testsuite name="getSourceSystemFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.023" tests="4">
678
+ <testcase classname="getSourceSystemFromSchemeId returns the source system for a matching scheme ID" name="getSourceSystemFromSchemeId returns the source system for a matching scheme ID" time="0.001">
665
679
  </testcase>
666
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for FC" name="schemeDoesNotRequirePPAs returns the expected result for FC" time="0.001">
680
+ <testcase classname="getSourceSystemFromSchemeId returns unknown when the scheme ID is not found" name="getSourceSystemFromSchemeId returns unknown when the scheme ID is not found" time="0">
667
681
  </testcase>
668
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for IMPS" name="schemeDoesNotRequirePPAs returns the expected result for IMPS" time="0">
682
+ <testcase classname="getSourceSystemFromSchemeId returns unknown when no schemes are available" name="getSourceSystemFromSchemeId returns unknown when no schemes are available" time="0.001">
669
683
  </testcase>
670
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI23" name="schemeDoesNotRequirePPAs returns the expected result for SFI23" time="0">
684
+ <testcase classname="getSourceSystemFromSchemeId gets schemes before searching for the source system" name="getSourceSystemFromSchemeId gets schemes before searching for the source system" time="0">
671
685
  </testcase>
672
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for DELINKED" name="schemeDoesNotRequirePPAs returns the expected result for DELINKED" time="0">
686
+ </testsuite>
687
+ <testsuite name="getSchemeIdFromSourceSystem" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.025" tests="4">
688
+ <testcase classname="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" name="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" time="0.001">
673
689
  </testcase>
674
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI_EXPANDED" name="schemeDoesNotRequirePPAs returns the expected result for SFI_EXPANDED" time="0.001">
690
+ <testcase classname="getSchemeIdFromSourceSystem returns undefined when the source system is not found" name="getSchemeIdFromSourceSystem returns undefined when the source system is not found" time="0">
675
691
  </testcase>
676
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for COHT_REVENUE" name="schemeDoesNotRequirePPAs returns the expected result for COHT_REVENUE" time="0">
692
+ <testcase classname="getSchemeIdFromSourceSystem returns undefined when no schemes are available" name="getSchemeIdFromSourceSystem returns undefined when no schemes are available" time="0">
677
693
  </testcase>
678
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for COHT_CAPITAL" name="schemeDoesNotRequirePPAs returns the expected result for COHT_CAPITAL" time="0">
694
+ <testcase classname="getSchemeIdFromSourceSystem gets schemes before searching for the source system" name="getSchemeIdFromSourceSystem gets schemes before searching for the source system" time="0">
679
695
  </testcase>
680
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for FPTT" name="schemeDoesNotRequirePPAs returns the expected result for FPTT" time="0">
696
+ </testsuite>
697
+ <testsuite name="getSchemeIdFromPillar" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.033" tests="4">
698
+ <testcase classname="getSchemeIdFromPillar returns the schemeId for a matching pillar" name="getSchemeIdFromPillar returns the schemeId for a matching pillar" time="0.002">
681
699
  </testcase>
682
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for WMP" name="schemeDoesNotRequirePPAs returns the expected result for WMP" time="0.001">
700
+ <testcase classname="getSchemeIdFromPillar returns undefined when the pillar is not found" name="getSchemeIdFromPillar returns undefined when the pillar is not found" time="0.001">
683
701
  </testcase>
684
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI26" name="schemeDoesNotRequirePPAs returns the expected result for SFI26" time="0">
702
+ <testcase classname="getSchemeIdFromPillar returns undefined when no schemes are available" name="getSchemeIdFromPillar returns undefined when no schemes are available" time="0.001">
685
703
  </testcase>
686
- <testcase classname="schemeDoesNotRequirePPAs returns false for an unknown schemeId" name="schemeDoesNotRequirePPAs returns false for an unknown schemeId" time="0.001">
704
+ <testcase classname="getSchemeIdFromPillar gets schemes before searching for the pillar" name="getSchemeIdFromPillar gets schemes before searching for the pillar" time="0.001">
687
705
  </testcase>
688
706
  </testsuite>
689
- <testsuite name="Lump Sums account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.045" tests="1">
690
- <testcase classname="Lump Sums account code map contains the expected mapping" name="Lump Sums account code map contains the expected mapping" time="0.002">
707
+ <testsuite name="getReportingDataFilter" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.049" tests="5">
708
+ <testcase classname="getReportingDataFilter returns marketing year for BPS" name="getReportingDataFilter returns marketing year for BPS" time="0.001">
691
709
  </testcase>
692
- </testsuite>
693
- <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.03" tests="3">
694
- <testcase classname="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" name="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" time="0.001">
710
+ <testcase classname="getReportingDataFilter returns marketing year for DELINKED" name="getReportingDataFilter returns marketing year for DELINKED" time="0.001">
695
711
  </testcase>
696
- <testcase classname="createSitiAgriInvoiceNumber returns null when the invoice number is too short" name="createSitiAgriInvoiceNumber returns null when the invoice number is too short" time="0.001">
712
+ <testcase classname="getReportingDataFilter returns contract number for CS" name="getReportingDataFilter returns contract number for CS" time="0.001">
697
713
  </testcase>
698
- <testcase classname="createSitiAgriInvoiceNumber returns null when required values are missing" name="createSitiAgriInvoiceNumber returns null when required values are missing" time="0">
714
+ <testcase classname="getReportingDataFilter returns the FRPS filter including correlation ID" name="getReportingDataFilter returns the FRPS filter including correlation ID" time="0.001">
699
715
  </testcase>
700
- </testsuite>
701
- <testsuite name="getSourceSystems" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.026" tests="1">
702
- <testcase classname="getSourceSystems returns all source systems" name="getSourceSystems returns all source systems" time="0.001">
716
+ <testcase classname="getReportingDataFilter returns the default filter for non-FRPS schemes" name="getReportingDataFilter returns the default filter for non-FRPS schemes" time="0">
703
717
  </testcase>
704
718
  </testsuite>
705
- <testsuite name="useInvoiceNumberAsIs" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.025" tests="1">
706
- <testcase classname="useInvoiceNumberAsIs returns the invoice number unchanged" name="useInvoiceNumberAsIs returns the invoice number unchanged" time="0.001">
719
+ <testsuite name="getPillarFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.042" tests="4">
720
+ <testcase classname="getPillarFromSchemeId returns the pillar for a matching scheme ID" name="getPillarFromSchemeId returns the pillar for a matching scheme ID" time="0.001">
707
721
  </testcase>
708
- </testsuite>
709
- <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.022" tests="3">
710
- <testcase classname="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" name="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" time="0.001">
722
+ <testcase classname="getPillarFromSchemeId returns unknown when the scheme ID is not found" name="getPillarFromSchemeId returns unknown when the scheme ID is not found" time="0">
711
723
  </testcase>
712
- <testcase classname="createSitiAgriInvoiceNumber inserts splitId ABCDEFGH12345 into invoice number 9" name="createSitiAgriInvoiceNumber inserts splitId ABCDEFGH12345 into invoice number 9" time="0.001">
724
+ <testcase classname="getPillarFromSchemeId returns unknown when no schemes are available" name="getPillarFromSchemeId returns unknown when no schemes are available" time="0.001">
713
725
  </testcase>
714
- <testcase classname="createSitiAgriInvoiceNumber inserts splitId SITIAGRI000123 into invoice number X" name="createSitiAgriInvoiceNumber inserts splitId SITIAGRI000123 into invoice number X" time="0">
726
+ <testcase classname="getPillarFromSchemeId gets schemes before searching for the pillar" name="getPillarFromSchemeId gets schemes before searching for the pillar" time="0">
715
727
  </testcase>
716
728
  </testsuite>
717
- <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.023" tests="3">
718
- <testcase classname="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" name="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" time="0">
719
- </testcase>
720
- <testcase classname="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" name="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" time="0">
729
+ <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.035" tests="3">
730
+ <testcase classname="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" name="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" time="0.002">
721
731
  </testcase>
722
- <testcase classname="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" name="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" time="0">
732
+ <testcase classname="createSitiAgriInvoiceNumber returns null when the invoice number is too short" name="createSitiAgriInvoiceNumber returns null when the invoice number is too short" time="0.001">
723
733
  </testcase>
724
- </testsuite>
725
- <testsuite name="getSchemeNames" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.035" tests="1">
726
- <testcase classname="getSchemeNames returns all scheme names" name="getSchemeNames returns all scheme names" time="0.001">
734
+ <testcase classname="createSitiAgriInvoiceNumber returns null when required values are missing" name="createSitiAgriInvoiceNumber returns null when required values are missing" time="0">
727
735
  </testcase>
728
736
  </testsuite>
729
- <testsuite name="createStandardSchemeInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.024" tests="3">
737
+ <testsuite name="createStandardSchemeInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.033" tests="3">
730
738
  <testcase classname="createStandardSchemeInvoiceNumber creates a standard scheme invoice number" name="createStandardSchemeInvoiceNumber creates a standard scheme invoice number" time="0.001">
731
739
  </testcase>
732
740
  <testcase classname="createStandardSchemeInvoiceNumber returns null when the invoice number is too short" name="createStandardSchemeInvoiceNumber returns null when the invoice number is too short" time="0">
733
741
  </testcase>
734
- <testcase classname="createStandardSchemeInvoiceNumber returns null when required values are missing" name="createStandardSchemeInvoiceNumber returns null when required values are missing" time="0.001">
742
+ <testcase classname="createStandardSchemeInvoiceNumber returns null when required values are missing" name="createStandardSchemeInvoiceNumber returns null when required values are missing" time="0">
735
743
  </testcase>
736
744
  </testsuite>
737
- <testsuite name="getSchemeIds" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.02" tests="1">
738
- <testcase classname="getSchemeIds returns all scheme IDs" name="getSchemeIds returns all scheme IDs" time="0.001">
745
+ <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:11" time="0.039" tests="3">
746
+ <testcase classname="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" name="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" time="0.002">
747
+ </testcase>
748
+ <testcase classname="createSitiAgriInvoiceNumber inserts splitId ABCDEFGH12345 into invoice number 9" name="createSitiAgriInvoiceNumber inserts splitId ABCDEFGH12345 into invoice number 9" time="0">
749
+ </testcase>
750
+ <testcase classname="createSitiAgriInvoiceNumber inserts splitId SITIAGRI000123 into invoice number X" name="createSitiAgriInvoiceNumber inserts splitId SITIAGRI000123 into invoice number X" time="0.001">
739
751
  </testcase>
740
752
  </testsuite>
741
- <testsuite name="createIMPSInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.037" tests="3">
753
+ <testsuite name="createIMPSInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:12" time="0.035" tests="3">
742
754
  <testcase classname="createIMPSInvoiceNumber adds the trader to an invoice number" name="createIMPSInvoiceNumber adds the trader to an invoice number" time="0.001">
743
755
  </testcase>
744
756
  <testcase classname="createIMPSInvoiceNumber returns the invoice number when it already contains the trader" name="createIMPSInvoiceNumber returns the invoice number when it already contains the trader" time="0">
745
757
  </testcase>
746
- <testcase classname="createIMPSInvoiceNumber returns null when the invoice number has no separator" name="createIMPSInvoiceNumber returns null when the invoice number has no separator" time="0">
758
+ <testcase classname="createIMPSInvoiceNumber returns null when the invoice number has no separator" name="createIMPSInvoiceNumber returns null when the invoice number has no separator" time="0.001">
747
759
  </testcase>
748
760
  </testsuite>
749
- <testsuite name="getSchemeIdFromSourceSystem" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.04" tests="4">
750
- <testcase classname="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" name="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" time="0.001">
751
- </testcase>
752
- <testcase classname="getSchemeIdFromSourceSystem returns undefined when the source system is not found" name="getSchemeIdFromSourceSystem returns undefined when the source system is not found" time="0.001">
753
- </testcase>
754
- <testcase classname="getSchemeIdFromSourceSystem returns undefined when no schemes are available" name="getSchemeIdFromSourceSystem returns undefined when no schemes are available" time="0">
755
- </testcase>
756
- <testcase classname="getSchemeIdFromSourceSystem gets schemes before searching for the source system" name="getSchemeIdFromSourceSystem gets schemes before searching for the source system" time="0">
761
+ <testsuite name="createESInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:12" time="0.029" tests="1">
762
+ <testcase classname="createESInvoiceNumber creates an ES invoice number" name="createESInvoiceNumber creates an ES invoice number" time="0.001">
757
763
  </testcase>
758
764
  </testsuite>
759
- <testsuite name="COHTC account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.027" tests="4">
760
- <testcase classname="COHTC account code map returns the correct account codes for G00" name="COHTC account code map returns the correct account codes for G00" time="0.001">
765
+ <testsuite name="Lump Sums account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:12" time="0.028" tests="1">
766
+ <testcase classname="Lump Sums account code map contains the expected mapping" name="Lump Sums account code map contains the expected mapping" time="0.001">
761
767
  </testcase>
762
- <testcase classname="COHTC account code map returns the correct account codes for P02" name="COHTC account code map returns the correct account codes for P02" time="0">
763
- </testcase>
764
- <testcase classname="COHTC account code map returns the correct account codes for P24" name="COHTC account code map returns the correct account codes for P24" time="0.001">
765
- </testcase>
766
- <testcase classname="COHTC account code map contains exactly the expected mappings" name="COHTC account code map contains exactly the expected mappings" time="0">
768
+ </testsuite>
769
+ <testsuite name="getSchemeNames" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:12" time="0.024" tests="1">
770
+ <testcase classname="getSchemeNames returns all scheme names" name="getSchemeNames returns all scheme names" time="0.001">
767
771
  </testcase>
768
772
  </testsuite>
769
- <testsuite name="Vet Visits account code map" errors="0" failures="0" skipped="0" timestamp="2026-10-05T16:33:04" time="0.025" tests="1">
770
- <testcase classname="Vet Visits account code map contains the expected mapping" name="Vet Visits account code map contains the expected mapping" time="0.001">
773
+ <testsuite name="useInvoiceNumberAsIs" errors="0" failures="0" skipped="0" timestamp="2026-10-12T15:21:12" time="0.028" tests="1">
774
+ <testcase classname="useInvoiceNumberAsIs returns the invoice number unchanged" name="useInvoiceNumberAsIs returns the invoice number unchanged" time="0.001">
771
775
  </testcase>
772
776
  </testsuite>
773
777
  </testsuites>