ffc-pay-schemes 1.0.6 → 1.0.8

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 (68) hide show
  1. package/README.md +4 -0
  2. package/app/constants/pillars.js +1 -0
  3. package/app/constants/schemes.js +1 -1
  4. package/app/get-scheme-id-from-pillar.js +10 -0
  5. package/app/is-valid-scheme-id.js +10 -0
  6. package/index.js +4 -0
  7. package/package.json +1 -1
  8. package/test/unit/get-scheme-id-from-pillar.test.js +52 -0
  9. package/test/unit/is-valid-scheme-id.test.js +21 -0
  10. package/test-output/cobertura-coverage.xml +48 -9
  11. package/test-output/junit.xml +334 -284
  12. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ap.js.html +1 -1
  13. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-admin.js.html +1 -1
  14. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-irregular.js.html +1 -1
  15. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/index.html +1 -1
  16. package/test-output/lcov-report/ffc-pay-schemes/app/constants/delivery-bodies.js.html +1 -1
  17. package/test-output/lcov-report/ffc-pay-schemes/app/constants/description-codes.js.html +1 -1
  18. package/test-output/lcov-report/ffc-pay-schemes/app/constants/fund-codes.js.html +1 -1
  19. package/test-output/lcov-report/ffc-pay-schemes/app/constants/index.html +1 -1
  20. package/test-output/lcov-report/ffc-pay-schemes/app/constants/pillars.js.html +5 -2
  21. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-batch-properties.js.html +1 -1
  22. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-ids.js.html +2 -2
  23. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-names.js.html +1 -1
  24. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-not-requiring-ppas.js.html +1 -1
  25. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-providing-account-values.js.html +1 -1
  26. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes.js.html +2 -2
  27. package/test-output/lcov-report/ffc-pay-schemes/app/constants/source-systems.js.html +1 -1
  28. package/test-output/lcov-report/ffc-pay-schemes/app/constants/unknown.js.html +2 -2
  29. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-default-invoice-number.js.html +1 -1
  30. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-es-invoice-number.js.html +1 -1
  31. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-imps-invoice-number.js.html +1 -1
  32. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  33. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-standard-scheme-invoice-number.js.html +1 -1
  34. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.html +1 -1
  35. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.js.html +1 -1
  36. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/use-invoice-number-as-is.js.html +1 -1
  37. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-default-invoice-number.js.html +1 -1
  38. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  39. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.html +1 -1
  40. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.js.html +1 -1
  41. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/bps-map.js.html +1 -1
  42. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cohtc-map.js.html +1 -1
  43. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cs-map.js.html +1 -1
  44. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/default-map.js.html +1 -1
  45. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/delinked-map.js.html +1 -1
  46. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.html +1 -1
  47. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.js.html +1 -1
  48. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/lump-sums-map.js.html +1 -1
  49. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/sfi-frps-map.js.html +1 -1
  50. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/vet-visits-map.js.html +1 -1
  51. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-batch-properties.js.html +1 -1
  52. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-pillar.js.html +115 -0
  53. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-source-system.js.html +1 -1
  54. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-ids.js.html +1 -1
  55. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-name-from-scheme-id.js.html +1 -1
  56. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-names.js.html +1 -1
  57. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-properties.js.html +1 -1
  58. package/test-output/lcov-report/ffc-pay-schemes/app/get-schemes.js.html +1 -1
  59. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-system-from-scheme-id.js.html +5 -5
  60. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-systems.js.html +1 -1
  61. package/test-output/lcov-report/ffc-pay-schemes/app/index.html +38 -8
  62. package/test-output/lcov-report/ffc-pay-schemes/app/is-valid-scheme-id.js.html +115 -0
  63. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-does-not-require-ppas.js.html +1 -1
  64. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-provides-accounting-values.js.html +1 -1
  65. package/test-output/lcov-report/ffc-pay-schemes/index.html +5 -5
  66. package/test-output/lcov-report/ffc-pay-schemes/index.js.html +10 -4
  67. package/test-output/lcov-report/index.html +13 -13
  68. package/test-output/lcov.info +51 -13
@@ -1,57 +1,17 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <testsuites name="jest tests" tests="284" failures="0" errors="0" time="1.467">
3
- <testsuite name="getAccountCodeMap" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:46" time="0.204" tests="19">
4
- <testcase classname="getAccountCodeMap returns the correct map for SFI" name="getAccountCodeMap returns the correct map for SFI" time="0.002">
5
- </testcase>
6
- <testcase classname="getAccountCodeMap returns the correct map for SFI_PILOT" name="getAccountCodeMap returns the correct map for SFI_PILOT" time="0.001">
7
- </testcase>
8
- <testcase classname="getAccountCodeMap returns the correct map for LUMP_SUMS" name="getAccountCodeMap returns the correct map for LUMP_SUMS" time="0">
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">
13
- </testcase>
14
- <testcase classname="getAccountCodeMap returns the correct map for BPS" name="getAccountCodeMap returns the correct map for BPS" time="0">
15
- </testcase>
16
- <testcase classname="getAccountCodeMap returns the correct map for SFI23" name="getAccountCodeMap returns the correct map for SFI23" time="0.001">
17
- </testcase>
18
- <testcase classname="getAccountCodeMap returns the correct map for DELINKED" name="getAccountCodeMap returns the correct map for DELINKED" time="0">
19
- </testcase>
20
- <testcase classname="getAccountCodeMap returns the correct map for SFI_EXPANDED" name="getAccountCodeMap returns the correct map for SFI_EXPANDED" time="0">
21
- </testcase>
22
- <testcase classname="getAccountCodeMap returns the correct map for COHT_REVENUE" name="getAccountCodeMap returns the correct map for COHT_REVENUE" time="0">
23
- </testcase>
24
- <testcase classname="getAccountCodeMap returns the correct map for COHT_CAPITAL" name="getAccountCodeMap returns the correct map for COHT_CAPITAL" time="0">
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.001">
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.009">
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.002">
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.001">
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="getSchemeProperties" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:46" time="0.098" tests="54">
2
+ <testsuites name="jest tests" tests="307" failures="0" errors="0" time="1.607">
3
+ <testsuite name="getSchemeProperties" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:39" time="0.222" tests="54">
44
4
  <testcase classname="getSchemeProperties returns the properties for schemeId 1" name="getSchemeProperties returns the properties for schemeId 1" time="0.003">
45
5
  </testcase>
46
6
  <testcase classname="getSchemeProperties returns the properties for schemeId 2" name="getSchemeProperties returns the properties for schemeId 2" time="0.001">
47
7
  </testcase>
48
8
  <testcase classname="getSchemeProperties returns the properties for schemeId 3" name="getSchemeProperties returns the properties for schemeId 3" time="0">
49
9
  </testcase>
50
- <testcase classname="getSchemeProperties returns the properties for schemeId 4" name="getSchemeProperties returns the properties for schemeId 4" time="0">
10
+ <testcase classname="getSchemeProperties returns the properties for schemeId 4" name="getSchemeProperties returns the properties for schemeId 4" time="0.001">
51
11
  </testcase>
52
12
  <testcase classname="getSchemeProperties returns the properties for schemeId 5" name="getSchemeProperties returns the properties for schemeId 5" time="0">
53
13
  </testcase>
54
- <testcase classname="getSchemeProperties returns the properties for schemeId 6" name="getSchemeProperties returns the properties for schemeId 6" time="0">
14
+ <testcase classname="getSchemeProperties returns the properties for schemeId 6" name="getSchemeProperties returns the properties for schemeId 6" time="0.001">
55
15
  </testcase>
56
16
  <testcase classname="getSchemeProperties returns the properties for schemeId 8" name="getSchemeProperties returns the properties for schemeId 8" time="0">
57
17
  </testcase>
@@ -63,7 +23,7 @@
63
23
  </testcase>
64
24
  <testcase classname="getSchemeProperties returns the properties for schemeId 12" name="getSchemeProperties returns the properties for schemeId 12" time="0">
65
25
  </testcase>
66
- <testcase classname="getSchemeProperties returns the properties for schemeId 13" name="getSchemeProperties returns the properties for schemeId 13" time="0.001">
26
+ <testcase classname="getSchemeProperties returns the properties for schemeId 13" name="getSchemeProperties returns the properties for schemeId 13" time="0">
67
27
  </testcase>
68
28
  <testcase classname="getSchemeProperties returns the properties for schemeId 14" name="getSchemeProperties returns the properties for schemeId 14" time="0">
69
29
  </testcase>
@@ -71,17 +31,17 @@
71
31
  </testcase>
72
32
  <testcase classname="getSchemeProperties returns the properties for schemeId 16" name="getSchemeProperties returns the properties for schemeId 16" time="0">
73
33
  </testcase>
74
- <testcase classname="getSchemeProperties returns the properties for schemeId 17" name="getSchemeProperties returns the properties for schemeId 17" time="0">
34
+ <testcase classname="getSchemeProperties returns the properties for schemeId 17" name="getSchemeProperties returns the properties for schemeId 17" time="0.001">
75
35
  </testcase>
76
36
  <testcase classname="getSchemeProperties returns the properties for schemeId 18" name="getSchemeProperties returns the properties for schemeId 18" time="0">
77
37
  </testcase>
78
38
  <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">
79
39
  </testcase>
80
- <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">
40
+ <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">
81
41
  </testcase>
82
42
  <testcase classname="getSchemeProperties returns the properties for schemeId 3, even if sourceSystem does not match" name="getSchemeProperties returns the properties for schemeId 3, even if sourceSystem does not match" time="0">
83
43
  </testcase>
84
- <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.001">
44
+ <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">
85
45
  </testcase>
86
46
  <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">
87
47
  </testcase>
@@ -89,9 +49,9 @@
89
49
  </testcase>
90
50
  <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">
91
51
  </testcase>
92
- <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">
52
+ <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">
93
53
  </testcase>
94
- <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">
54
+ <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">
95
55
  </testcase>
96
56
  <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">
97
57
  </testcase>
@@ -99,7 +59,7 @@
99
59
  </testcase>
100
60
  <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.001">
101
61
  </testcase>
102
- <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">
62
+ <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">
103
63
  </testcase>
104
64
  <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">
105
65
  </testcase>
@@ -117,301 +77,349 @@
117
77
  </testcase>
118
78
  <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">
119
79
  </testcase>
120
- <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">
80
+ <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">
121
81
  </testcase>
122
82
  <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">
123
83
  </testcase>
124
- <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.002">
84
+ <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">
125
85
  </testcase>
126
86
  <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">
127
87
  </testcase>
128
- <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">
88
+ <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">
129
89
  </testcase>
130
90
  <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">
131
91
  </testcase>
132
92
  <testcase classname="getSchemeProperties returns the properties for sourceSystem SFIA when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem SFIA when schemeId is not present" time="0">
133
93
  </testcase>
134
- <testcase classname="getSchemeProperties returns the properties for sourceSystem DP when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem DP when schemeId is not present" time="0">
94
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem DP when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem DP when schemeId is not present" time="0.001">
135
95
  </testcase>
136
96
  <testcase classname="getSchemeProperties returns the properties for sourceSystem ESFIO when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem ESFIO when schemeId is not present" time="0">
137
97
  </testcase>
138
- <testcase classname="getSchemeProperties returns the properties for sourceSystem COHTR when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem COHTR when schemeId is not present" time="0.001">
98
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem COHTR when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem COHTR when schemeId is not present" time="0">
139
99
  </testcase>
140
- <testcase classname="getSchemeProperties returns the properties for sourceSystem COHTC when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem COHTC when schemeId is not present" time="0">
100
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem COHTC when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem COHTC when schemeId is not present" time="0.001">
141
101
  </testcase>
142
102
  <testcase classname="getSchemeProperties returns the properties for sourceSystem FPTT when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem FPTT when schemeId is not present" time="0">
143
103
  </testcase>
144
- <testcase classname="getSchemeProperties returns the properties for sourceSystem WMP when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem WMP when schemeId is not present" time="0.001">
104
+ <testcase classname="getSchemeProperties returns the properties for sourceSystem WMP when schemeId is not present" name="getSchemeProperties returns the properties for sourceSystem WMP when schemeId is not present" time="0">
145
105
  </testcase>
146
- <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.013">
106
+ <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.009">
147
107
  </testcase>
148
108
  <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">
149
109
  </testcase>
150
- <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">
110
+ <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">
151
111
  </testcase>
152
112
  </testsuite>
153
- <testsuite name="getSourceSystemFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:46" time="0.046" tests="4">
154
- <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.002">
113
+ <testsuite name="createInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.046" tests="19">
114
+ <testcase classname="createInvoiceNumber returns the existing invoice number for MANUAL" name="createInvoiceNumber returns the existing invoice number for MANUAL" time="0.001">
115
+ </testcase>
116
+ <testcase classname="createInvoiceNumber returns the existing invoice number for FC" name="createInvoiceNumber returns the existing invoice number for FC" time="0">
117
+ </testcase>
118
+ <testcase classname="createInvoiceNumber returns the existing invoice number for FPTT" name="createInvoiceNumber returns the existing invoice number for FPTT" time="0.001">
119
+ </testcase>
120
+ <testcase classname="createInvoiceNumber returns the existing invoice number for WMP" name="createInvoiceNumber returns the existing invoice number for WMP" time="0">
121
+ </testcase>
122
+ <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">
123
+ </testcase>
124
+ <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">
125
+ </testcase>
126
+ <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">
127
+ </testcase>
128
+ <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">
129
+ </testcase>
130
+ <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">
131
+ </testcase>
132
+ <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">
133
+ </testcase>
134
+ <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">
155
135
  </testcase>
156
- <testcase classname="getSourceSystemFromSchemeId returns undefined when the scheme ID is not found" name="getSourceSystemFromSchemeId returns undefined when the scheme ID is not found" time="0.001">
136
+ <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">
157
137
  </testcase>
158
- <testcase classname="getSourceSystemFromSchemeId returns undefined when no schemes are available" name="getSourceSystemFromSchemeId returns undefined when no schemes are available" time="0">
138
+ <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">
139
+ </testcase>
140
+ <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for BPS" name="createInvoiceNumber uses the SITI Agri invoice number creator for BPS" time="0.001">
141
+ </testcase>
142
+ <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">
143
+ </testcase>
144
+ <testcase classname="createInvoiceNumber uses the ES invoice number creator" name="createInvoiceNumber uses the ES invoice number creator" time="0.001">
145
+ </testcase>
146
+ <testcase classname="createInvoiceNumber uses the IMPS invoice number creator" name="createInvoiceNumber uses the IMPS invoice number creator" time="0">
159
147
  </testcase>
160
- <testcase classname="getSourceSystemFromSchemeId gets schemes before searching for the source system" name="getSourceSystemFromSchemeId gets schemes before searching for the source system" time="0.001">
148
+ <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">
149
+ </testcase>
150
+ <testcase classname="createInvoiceNumber returns null when the payment request is invalid" name="createInvoiceNumber returns null when the payment request is invalid" time="0">
161
151
  </testcase>
162
152
  </testsuite>
163
- <testsuite name="getSchemes" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:46" time="0.067" tests="18">
164
- <testcase classname="getSchemes returns all schemes with their IDs and names" name="getSchemes returns all schemes with their IDs and names" time="0.003">
153
+ <testsuite name="isValidSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.149" tests="19">
154
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 1" name="isValidSchemeId returns true for valid scheme ID: 1" time="0.001">
165
155
  </testcase>
166
- <testcase classname="getSchemes returns the correct details for SFI" name="getSchemes returns the correct details for SFI" time="0.001">
156
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 2" name="isValidSchemeId returns true for valid scheme ID: 2" time="0">
167
157
  </testcase>
168
- <testcase classname="getSchemes returns the correct details for SFI_PILOT" name="getSchemes returns the correct details for SFI_PILOT" time="0.001">
158
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 3" name="isValidSchemeId returns true for valid scheme ID: 3" time="0.001">
169
159
  </testcase>
170
- <testcase classname="getSchemes returns the correct details for LUMP_SUMS" name="getSchemes returns the correct details for LUMP_SUMS" time="0.001">
160
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 4" name="isValidSchemeId returns true for valid scheme ID: 4" time="0">
171
161
  </testcase>
172
- <testcase classname="getSchemes returns the correct details for VET_VISITS" name="getSchemes returns the correct details for VET_VISITS" time="0.001">
162
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 5" name="isValidSchemeId returns true for valid scheme ID: 5" time="0">
173
163
  </testcase>
174
- <testcase classname="getSchemes returns the correct details for CS" name="getSchemes returns the correct details for CS" time="0">
164
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 6" name="isValidSchemeId returns true for valid scheme ID: 6" time="0">
175
165
  </testcase>
176
- <testcase classname="getSchemes returns the correct details for BPS" name="getSchemes returns the correct details for BPS" time="0">
166
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 8" name="isValidSchemeId returns true for valid scheme ID: 8" time="0.001">
177
167
  </testcase>
178
- <testcase classname="getSchemes returns the correct details for MANUAL" name="getSchemes returns the correct details for MANUAL" time="0.001">
168
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 9" name="isValidSchemeId returns true for valid scheme ID: 9" time="0">
179
169
  </testcase>
180
- <testcase classname="getSchemes returns the correct details for ES" name="getSchemes returns the correct details for ES" time="0">
170
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 10" name="isValidSchemeId returns true for valid scheme ID: 10" time="0">
181
171
  </testcase>
182
- <testcase classname="getSchemes returns the correct details for FC" name="getSchemes returns the correct details for FC" time="0.001">
172
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 11" name="isValidSchemeId returns true for valid scheme ID: 11" time="0">
183
173
  </testcase>
184
- <testcase classname="getSchemes returns the correct details for IMPS" name="getSchemes returns the correct details for IMPS" time="0">
174
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 12" name="isValidSchemeId returns true for valid scheme ID: 12" time="0">
185
175
  </testcase>
186
- <testcase classname="getSchemes returns the correct details for SFI23" name="getSchemes returns the correct details for SFI23" time="0">
176
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 13" name="isValidSchemeId returns true for valid scheme ID: 13" time="0.001">
187
177
  </testcase>
188
- <testcase classname="getSchemes returns the correct details for DELINKED" name="getSchemes returns the correct details for DELINKED" time="0.001">
178
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 14" name="isValidSchemeId returns true for valid scheme ID: 14" time="0">
189
179
  </testcase>
190
- <testcase classname="getSchemes returns the correct details for SFI_EXPANDED" name="getSchemes returns the correct details for SFI_EXPANDED" time="0">
180
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 15" name="isValidSchemeId returns true for valid scheme ID: 15" time="0">
191
181
  </testcase>
192
- <testcase classname="getSchemes returns the correct details for COHT_REVENUE" name="getSchemes returns the correct details for COHT_REVENUE" time="0">
182
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 16" name="isValidSchemeId returns true for valid scheme ID: 16" time="0">
193
183
  </testcase>
194
- <testcase classname="getSchemes returns the correct details for COHT_CAPITAL" name="getSchemes returns the correct details for COHT_CAPITAL" time="0.001">
184
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 17" name="isValidSchemeId returns true for valid scheme ID: 17" time="0">
195
185
  </testcase>
196
- <testcase classname="getSchemes returns the correct details for FPTT" name="getSchemes returns the correct details for FPTT" time="0.001">
186
+ <testcase classname="isValidSchemeId returns true for valid scheme ID: 18" name="isValidSchemeId returns true for valid scheme ID: 18" time="0">
187
+ </testcase>
188
+ <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">
197
189
  </testcase>
198
- <testcase classname="getSchemes returns the correct details for WMP" name="getSchemes returns the correct details for WMP" time="0.003">
190
+ <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">
199
191
  </testcase>
200
192
  </testsuite>
201
- <testsuite name="createInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:46" time="0.051" tests="19">
202
- <testcase classname="createInvoiceNumber returns the existing invoice number for MANUAL" name="createInvoiceNumber returns the existing invoice number for MANUAL" time="0.002">
193
+ <testsuite name="BPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.063" tests="28">
194
+ <testcase classname="BPS account code map contains all expected line codes" name="BPS account code map contains all expected line codes" time="0.009">
203
195
  </testcase>
204
- <testcase classname="createInvoiceNumber returns the existing invoice number for FC" name="createInvoiceNumber returns the existing invoice number for FC" time="0">
196
+ <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">
205
197
  </testcase>
206
- <testcase classname="createInvoiceNumber returns the existing invoice number for FPTT" name="createInvoiceNumber returns the existing invoice number for FPTT" time="0">
198
+ <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">
207
199
  </testcase>
208
- <testcase classname="createInvoiceNumber returns the existing invoice number for WMP" name="createInvoiceNumber returns the existing invoice number for WMP" time="0">
200
+ <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">
209
201
  </testcase>
210
- <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">
202
+ <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">
211
203
  </testcase>
212
- <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">
204
+ <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">
213
205
  </testcase>
214
- <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">
206
+ <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">
215
207
  </testcase>
216
- <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">
208
+ <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.001">
217
209
  </testcase>
218
- <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">
210
+ <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">
219
211
  </testcase>
220
- <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">
212
+ <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">
221
213
  </testcase>
222
- <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">
214
+ <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">
223
215
  </testcase>
224
- <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">
216
+ <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.001">
225
217
  </testcase>
226
- <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">
218
+ <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">
227
219
  </testcase>
228
- <testcase classname="createInvoiceNumber uses the SITI Agri invoice number creator for BPS" name="createInvoiceNumber uses the SITI Agri invoice number creator for BPS" time="0">
220
+ <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">
229
221
  </testcase>
230
- <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">
222
+ <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">
231
223
  </testcase>
232
- <testcase classname="createInvoiceNumber uses the ES invoice number creator" name="createInvoiceNumber uses the ES invoice number creator" time="0">
224
+ <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">
233
225
  </testcase>
234
- <testcase classname="createInvoiceNumber uses the IMPS invoice number creator" name="createInvoiceNumber uses the IMPS invoice number creator" time="0.001">
226
+ <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">
235
227
  </testcase>
236
- <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">
228
+ <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">
237
229
  </testcase>
238
- <testcase classname="createInvoiceNumber returns null when the payment request is invalid" name="createInvoiceNumber returns null when the payment request is invalid" time="0.001">
230
+ <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">
239
231
  </testcase>
240
- </testsuite>
241
- <testsuite name="get scheme batch properties" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.056" tests="18">
242
- <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.002">
232
+ <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">
243
233
  </testcase>
244
- <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">
234
+ <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">
245
235
  </testcase>
246
- <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">
236
+ <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">
247
237
  </testcase>
248
- <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.001">
238
+ <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">
249
239
  </testcase>
250
- <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">
240
+ <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.001">
251
241
  </testcase>
252
- <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">
242
+ <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">
253
243
  </testcase>
254
- <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">
244
+ <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">
255
245
  </testcase>
256
- <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">
246
+ <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">
257
247
  </testcase>
258
- <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">
248
+ <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">
259
249
  </testcase>
260
- <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">
250
+ </testsuite>
251
+ <testsuite name="getSchemes" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.032" tests="18">
252
+ <testcase classname="getSchemes returns all schemes with their IDs and names" name="getSchemes returns all schemes with their IDs and names" time="0.001">
261
253
  </testcase>
262
- <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">
254
+ <testcase classname="getSchemes returns the correct details for SFI" name="getSchemes returns the correct details for SFI" time="0">
263
255
  </testcase>
264
- <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">
256
+ <testcase classname="getSchemes returns the correct details for SFI_PILOT" name="getSchemes returns the correct details for SFI_PILOT" time="0">
265
257
  </testcase>
266
- <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">
258
+ <testcase classname="getSchemes returns the correct details for LUMP_SUMS" name="getSchemes returns the correct details for LUMP_SUMS" time="0.001">
267
259
  </testcase>
268
- <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">
260
+ <testcase classname="getSchemes returns the correct details for VET_VISITS" name="getSchemes returns the correct details for VET_VISITS" time="0">
269
261
  </testcase>
270
- <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">
262
+ <testcase classname="getSchemes returns the correct details for CS" name="getSchemes returns the correct details for CS" time="0">
271
263
  </testcase>
272
- <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">
264
+ <testcase classname="getSchemes returns the correct details for BPS" name="getSchemes returns the correct details for BPS" time="0">
273
265
  </testcase>
274
- <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">
266
+ <testcase classname="getSchemes returns the correct details for MANUAL" name="getSchemes returns the correct details for MANUAL" time="0">
275
267
  </testcase>
276
- <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.001">
268
+ <testcase classname="getSchemes returns the correct details for ES" name="getSchemes returns the correct details for ES" time="0.001">
277
269
  </testcase>
278
- </testsuite>
279
- <testsuite name="getSchemeNameFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.044" tests="4">
280
- <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">
270
+ <testcase classname="getSchemes returns the correct details for FC" name="getSchemes returns the correct details for FC" time="0">
271
+ </testcase>
272
+ <testcase classname="getSchemes returns the correct details for IMPS" name="getSchemes returns the correct details for IMPS" time="0">
273
+ </testcase>
274
+ <testcase classname="getSchemes returns the correct details for SFI23" name="getSchemes returns the correct details for SFI23" time="0">
275
+ </testcase>
276
+ <testcase classname="getSchemes returns the correct details for DELINKED" name="getSchemes returns the correct details for DELINKED" time="0.001">
277
+ </testcase>
278
+ <testcase classname="getSchemes returns the correct details for SFI_EXPANDED" name="getSchemes returns the correct details for SFI_EXPANDED" time="0">
279
+ </testcase>
280
+ <testcase classname="getSchemes returns the correct details for COHT_REVENUE" name="getSchemes returns the correct details for COHT_REVENUE" time="0">
281
281
  </testcase>
282
- <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">
282
+ <testcase classname="getSchemes returns the correct details for COHT_CAPITAL" name="getSchemes returns the correct details for COHT_CAPITAL" time="0">
283
283
  </testcase>
284
- <testcase classname="getSchemeNameFromSchemeId returns unknown when no schemes are available" name="getSchemeNameFromSchemeId returns unknown when no schemes are available" time="0">
284
+ <testcase classname="getSchemes returns the correct details for FPTT" name="getSchemes returns the correct details for FPTT" time="0.001">
285
285
  </testcase>
286
- <testcase classname="getSchemeNameFromSchemeId gets schemes before searching for the source system" name="getSchemeNameFromSchemeId gets schemes before searching for the source system" time="0">
286
+ <testcase classname="getSchemes returns the correct details for WMP" name="getSchemes returns the correct details for WMP" time="0">
287
287
  </testcase>
288
288
  </testsuite>
289
- <testsuite name="CS account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.04" tests="22">
290
- <testcase classname="CS account code map contains all expected mappings" name="CS account code map contains all expected mappings" time="0.002">
289
+ <testsuite name="getAccountCodeMap" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.055" tests="19">
290
+ <testcase classname="getAccountCodeMap returns the correct map for SFI" name="getAccountCodeMap returns the correct map for SFI" time="0.001">
291
291
  </testcase>
292
- <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">
292
+ <testcase classname="getAccountCodeMap returns the correct map for SFI_PILOT" name="getAccountCodeMap returns the correct map for SFI_PILOT" time="0.001">
293
293
  </testcase>
294
- <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">
294
+ <testcase classname="getAccountCodeMap returns the correct map for LUMP_SUMS" name="getAccountCodeMap returns the correct map for LUMP_SUMS" time="0">
295
295
  </testcase>
296
- <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">
296
+ <testcase classname="getAccountCodeMap returns the correct map for VET_VISITS" name="getAccountCodeMap returns the correct map for VET_VISITS" time="0">
297
297
  </testcase>
298
- <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">
298
+ <testcase classname="getAccountCodeMap returns the correct map for CS" name="getAccountCodeMap returns the correct map for CS" time="0">
299
299
  </testcase>
300
- <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">
300
+ <testcase classname="getAccountCodeMap returns the correct map for BPS" name="getAccountCodeMap returns the correct map for BPS" time="0">
301
301
  </testcase>
302
- <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">
302
+ <testcase classname="getAccountCodeMap returns the correct map for SFI23" name="getAccountCodeMap returns the correct map for SFI23" time="0">
303
303
  </testcase>
304
- <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">
304
+ <testcase classname="getAccountCodeMap returns the correct map for DELINKED" name="getAccountCodeMap returns the correct map for DELINKED" time="0.001">
305
305
  </testcase>
306
- <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">
306
+ <testcase classname="getAccountCodeMap returns the correct map for SFI_EXPANDED" name="getAccountCodeMap returns the correct map for SFI_EXPANDED" time="0">
307
307
  </testcase>
308
- <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">
308
+ <testcase classname="getAccountCodeMap returns the correct map for COHT_REVENUE" name="getAccountCodeMap returns the correct map for COHT_REVENUE" time="0">
309
309
  </testcase>
310
- <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">
310
+ <testcase classname="getAccountCodeMap returns the correct map for COHT_CAPITAL" name="getAccountCodeMap returns the correct map for COHT_CAPITAL" time="0">
311
311
  </testcase>
312
- <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">
312
+ <testcase classname="getAccountCodeMap returns the correct map for FPTT" name="getAccountCodeMap returns the correct map for FPTT" time="0.001">
313
313
  </testcase>
314
- <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">
314
+ <testcase classname="getAccountCodeMap returns the correct map for WMP" name="getAccountCodeMap returns the correct map for WMP" time="0">
315
315
  </testcase>
316
- <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">
316
+ <testcase classname="getAccountCodeMap throws an error for the unmapped MANUAL scheme" name="getAccountCodeMap throws an error for the unmapped MANUAL scheme" time="0.006">
317
317
  </testcase>
318
- <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">
318
+ <testcase classname="getAccountCodeMap throws an error for the unmapped ES scheme" name="getAccountCodeMap throws an error for the unmapped ES scheme" time="0.001">
319
319
  </testcase>
320
- <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">
320
+ <testcase classname="getAccountCodeMap throws an error for the unmapped FC scheme" name="getAccountCodeMap throws an error for the unmapped FC scheme" time="0.001">
321
321
  </testcase>
322
- <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">
322
+ <testcase classname="getAccountCodeMap throws an error for the unmapped IMPS scheme" name="getAccountCodeMap throws an error for the unmapped IMPS scheme" time="0.001">
323
323
  </testcase>
324
- <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">
324
+ <testcase classname="getAccountCodeMap throws an error when schemeId is not provided" name="getAccountCodeMap throws an error when schemeId is not provided" time="0.002">
325
325
  </testcase>
326
- <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">
326
+ <testcase classname="getAccountCodeMap throws an error for an unknown schemeId" name="getAccountCodeMap throws an error for an unknown schemeId" time="0.001">
327
327
  </testcase>
328
- <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">
328
+ </testsuite>
329
+ <testsuite name="createStandardSchemeInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.033" tests="3">
330
+ <testcase classname="createStandardSchemeInvoiceNumber creates a standard scheme invoice number" name="createStandardSchemeInvoiceNumber creates a standard scheme invoice number" time="0.001">
329
331
  </testcase>
330
- <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">
332
+ <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.001">
331
333
  </testcase>
332
- <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">
334
+ <testcase classname="createStandardSchemeInvoiceNumber returns null when required values are missing" name="createStandardSchemeInvoiceNumber returns null when required values are missing" time="0">
333
335
  </testcase>
334
336
  </testsuite>
335
- <testsuite name="BPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.063" tests="28">
336
- <testcase classname="BPS account code map contains all expected line codes" name="BPS account code map contains all expected line codes" time="0.003">
337
+ <testsuite name="CS account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.045" tests="22">
338
+ <testcase classname="CS account code map contains all expected mappings" name="CS account code map contains all expected mappings" time="0.003">
337
339
  </testcase>
338
- <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.002">
340
+ <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">
339
341
  </testcase>
340
- <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">
342
+ <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">
341
343
  </testcase>
342
- <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">
344
+ <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">
343
345
  </testcase>
344
- <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">
346
+ <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">
345
347
  </testcase>
346
- <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">
348
+ <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">
347
349
  </testcase>
348
- <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.001">
350
+ <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">
349
351
  </testcase>
350
- <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 P05" name="CS account code map contains the expected mapping for P05" time="0.001">
351
353
  </testcase>
352
- <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.001">
354
+ <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">
353
355
  </testcase>
354
- <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.01">
356
+ <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">
355
357
  </testcase>
356
- <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.001">
358
+ <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">
357
359
  </testcase>
358
- <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 P08" name="CS account code map contains the expected mapping for P08" time="0">
359
361
  </testcase>
360
- <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 P08" name="CS account code map contains the expected mapping for P08" time="0">
361
363
  </testcase>
362
- <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">
364
+ <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">
363
365
  </testcase>
364
- <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 P14" name="CS account code map contains the expected mapping for P14" time="0">
365
367
  </testcase>
366
- <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 P22" name="CS account code map contains the expected mapping for P22" time="0">
367
369
  </testcase>
368
- <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 P22" name="CS account code map contains the expected mapping for P22" time="0.001">
369
371
  </testcase>
370
- <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 P23" name="CS account code map contains the expected mapping for P23" time="0">
371
373
  </testcase>
372
- <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">
374
+ <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">
373
375
  </testcase>
374
- <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 P24" name="CS account code map contains the expected mapping for P24" time="0.001">
375
377
  </testcase>
376
- <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 P24" name="CS account code map contains the expected mapping for P24" time="0.001">
377
379
  </testcase>
378
- <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.001">
380
+ <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">
379
381
  </testcase>
380
- <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
+ </testsuite>
383
+ <testsuite name="schemeProvidesAccountingValues" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.03" tests="18">
384
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI" name="schemeProvidesAccountingValues returns the expected result for SFI" time="0">
381
385
  </testcase>
382
- <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">
386
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" name="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" time="0">
383
387
  </testcase>
384
- <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">
388
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" name="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" time="0">
385
389
  </testcase>
386
- <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">
390
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for VET_VISITS" name="schemeProvidesAccountingValues returns the expected result for VET_VISITS" time="0">
387
391
  </testcase>
388
- <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">
392
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for CS" name="schemeProvidesAccountingValues returns the expected result for CS" time="0">
389
393
  </testcase>
390
- <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">
394
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for BPS" name="schemeProvidesAccountingValues returns the expected result for BPS" time="0.001">
391
395
  </testcase>
392
- </testsuite>
393
- <testsuite name="COHTC account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.022" tests="4">
394
- <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">
396
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for MANUAL" name="schemeProvidesAccountingValues returns the expected result for MANUAL" time="0">
395
397
  </testcase>
396
- <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">
398
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for ES" name="schemeProvidesAccountingValues returns the expected result for ES" time="0">
397
399
  </testcase>
398
- <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">
400
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for FC" name="schemeProvidesAccountingValues returns the expected result for FC" time="0">
399
401
  </testcase>
400
- <testcase classname="COHTC account code map contains exactly the expected mappings" name="COHTC account code map contains exactly the expected mappings" time="0">
402
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for IMPS" name="schemeProvidesAccountingValues returns the expected result for IMPS" time="0.001">
401
403
  </testcase>
402
- </testsuite>
403
- <testsuite name="getSchemeIdFromSourceSystem" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.021" tests="4">
404
- <testcase classname="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" name="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" time="0">
404
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI23" name="schemeProvidesAccountingValues returns the expected result for SFI23" time="0">
405
405
  </testcase>
406
- <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">
406
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for DELINKED" name="schemeProvidesAccountingValues returns the expected result for DELINKED" time="0">
407
407
  </testcase>
408
- <testcase classname="getSchemeIdFromSourceSystem returns undefined when no schemes are available" name="getSchemeIdFromSourceSystem returns undefined when no schemes are available" time="0">
408
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_EXPANDED" name="schemeProvidesAccountingValues returns the expected result for SFI_EXPANDED" time="0.001">
409
+ </testcase>
410
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" name="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" time="0">
411
+ </testcase>
412
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_CAPITAL" name="schemeProvidesAccountingValues returns the expected result for COHT_CAPITAL" time="0">
409
413
  </testcase>
410
- <testcase classname="getSchemeIdFromSourceSystem gets schemes before searching for the source system" name="getSchemeIdFromSourceSystem gets schemes before searching for the source system" time="0">
414
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for FPTT" name="schemeProvidesAccountingValues returns the expected result for FPTT" time="0">
415
+ </testcase>
416
+ <testcase classname="schemeProvidesAccountingValues returns the expected result for WMP" name="schemeProvidesAccountingValues returns the expected result for WMP" time="0">
417
+ </testcase>
418
+ <testcase classname="schemeProvidesAccountingValues returns false for an unknown schemeId" name="schemeProvidesAccountingValues returns false for an unknown schemeId" time="0">
411
419
  </testcase>
412
420
  </testsuite>
413
- <testsuite name="schemeDoesNotRequirePPAs" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.024" tests="18">
414
- <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI" name="schemeDoesNotRequirePPAs returns the expected result for SFI" time="0.001">
421
+ <testsuite name="schemeDoesNotRequirePPAs" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.035" tests="18">
422
+ <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI" name="schemeDoesNotRequirePPAs returns the expected result for SFI" time="0">
415
423
  </testcase>
416
424
  <testcase classname="schemeDoesNotRequirePPAs returns the expected result for SFI_PILOT" name="schemeDoesNotRequirePPAs returns the expected result for SFI_PILOT" time="0">
417
425
  </testcase>
@@ -448,184 +456,226 @@
448
456
  <testcase classname="schemeDoesNotRequirePPAs returns false for an unknown schemeId" name="schemeDoesNotRequirePPAs returns false for an unknown schemeId" time="0">
449
457
  </testcase>
450
458
  </testsuite>
451
- <testsuite name="getSourceSystems" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.025" tests="1">
452
- <testcase classname="getSourceSystems returns all source systems" name="getSourceSystems returns all source systems" time="0.001">
459
+ <testsuite name="getSourceSystemFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.023" tests="4">
460
+ <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">
461
+ </testcase>
462
+ <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.001">
463
+ </testcase>
464
+ <testcase classname="getSourceSystemFromSchemeId returns unknown when no schemes are available" name="getSourceSystemFromSchemeId returns unknown when no schemes are available" time="0">
465
+ </testcase>
466
+ <testcase classname="getSourceSystemFromSchemeId gets schemes before searching for the source system" name="getSourceSystemFromSchemeId gets schemes before searching for the source system" time="0">
453
467
  </testcase>
454
468
  </testsuite>
455
- <testsuite name="getSchemeNames" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.018" tests="1">
469
+ <testsuite name="getSchemeNames" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.018" tests="1">
456
470
  <testcase classname="getSchemeNames returns all scheme names" name="getSchemeNames returns all scheme names" time="0.001">
457
471
  </testcase>
458
472
  </testsuite>
459
- <testsuite name="SFI FRPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.021" tests="10">
460
- <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">
461
- </testcase>
462
- <testcase classname="SFI FRPS account code map contains default mapping 0" name="SFI FRPS account code map contains default mapping 0" time="0">
473
+ <testsuite name="getSourceSystems" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.023" tests="1">
474
+ <testcase classname="getSourceSystems returns all source systems" name="getSourceSystems returns all source systems" time="0.001">
463
475
  </testcase>
464
- <testcase classname="SFI FRPS account code map contains default mapping 1" name="SFI FRPS account code map contains default mapping 1" time="0">
476
+ </testsuite>
477
+ <testsuite name="getSchemeNameFromSchemeId" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.029" tests="4">
478
+ <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">
465
479
  </testcase>
466
- <testcase classname="SFI FRPS account code map contains default mapping 2" name="SFI FRPS account code map contains default mapping 2" time="0.001">
480
+ <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.001">
467
481
  </testcase>
468
- <testcase classname="SFI FRPS account code map contains default mapping 3" name="SFI FRPS account code map contains default mapping 3" time="0">
482
+ <testcase classname="getSchemeNameFromSchemeId returns unknown when no schemes are available" name="getSchemeNameFromSchemeId returns unknown when no schemes are available" time="0.001">
469
483
  </testcase>
470
- <testcase classname="SFI FRPS account code map contains default mapping 4" name="SFI FRPS account code map contains default mapping 4" time="0">
484
+ <testcase classname="getSchemeNameFromSchemeId gets schemes before searching for the source system" name="getSchemeNameFromSchemeId gets schemes before searching for the source system" time="0.001">
471
485
  </testcase>
472
- <testcase classname="SFI FRPS account code map contains default mapping 5" name="SFI FRPS account code map contains default mapping 5" time="0.001">
486
+ </testsuite>
487
+ <testsuite name="COHTC account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.023" tests="4">
488
+ <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">
473
489
  </testcase>
474
- <testcase classname="SFI FRPS account code map contains default mapping 6" name="SFI FRPS account code map contains default mapping 6" time="0">
490
+ <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">
475
491
  </testcase>
476
- <testcase classname="SFI FRPS account code map contains default mapping 7" name="SFI FRPS account code map contains default mapping 7" time="0.001">
492
+ <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">
477
493
  </testcase>
478
- <testcase classname="SFI FRPS account code map contains the P02 mapping" name="SFI FRPS account code map contains the P02 mapping" time="0">
494
+ <testcase classname="COHTC account code map contains exactly the expected mappings" name="COHTC account code map contains exactly the expected mappings" time="0.001">
479
495
  </testcase>
480
496
  </testsuite>
481
- <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.025" tests="2">
482
- <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">
497
+ <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.019" tests="2">
498
+ <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">
483
499
  </testcase>
484
500
  <testcase classname="createDefaultInvoiceNumber returns null when required values are missing" name="createDefaultInvoiceNumber returns null when required values are missing" time="0">
485
501
  </testcase>
486
502
  </testsuite>
487
- <testsuite name="schemeProvidesAccountingValues" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.04" tests="18">
488
- <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI" name="schemeProvidesAccountingValues returns the expected result for SFI" time="0.001">
503
+ <testsuite name="createSplitInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.035" tests="18">
504
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI" name="createSplitInvoiceNumber uses the correct invoice format for SFI" time="0.001">
489
505
  </testcase>
490
- <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" name="schemeProvidesAccountingValues returns the expected result for SFI_PILOT" time="0.001">
506
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI_PILOT" name="createSplitInvoiceNumber uses the correct invoice format for SFI_PILOT" time="0.001">
491
507
  </testcase>
492
- <testcase classname="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" name="schemeProvidesAccountingValues returns the expected result for LUMP_SUMS" time="0">
508
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for LUMP_SUMS" name="createSplitInvoiceNumber uses the correct invoice format for LUMP_SUMS" time="0">
493
509
  </testcase>
494
- <testcase classname="schemeProvidesAccountingValues returns the expected result for VET_VISITS" name="schemeProvidesAccountingValues returns the expected result for VET_VISITS" time="0">
510
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for VET_VISITS" name="createSplitInvoiceNumber uses the correct invoice format for VET_VISITS" time="0">
495
511
  </testcase>
496
- <testcase classname="schemeProvidesAccountingValues returns the expected result for CS" name="schemeProvidesAccountingValues returns the expected result for CS" time="0.001">
512
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for CS" name="createSplitInvoiceNumber uses the correct invoice format for CS" time="0.001">
497
513
  </testcase>
498
- <testcase classname="schemeProvidesAccountingValues returns the expected result for BPS" name="schemeProvidesAccountingValues returns the expected result for BPS" time="0">
514
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for BPS" name="createSplitInvoiceNumber uses the correct invoice format for BPS" time="0">
499
515
  </testcase>
500
- <testcase classname="schemeProvidesAccountingValues returns the expected result for MANUAL" name="schemeProvidesAccountingValues returns the expected result for MANUAL" time="0">
516
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for MANUAL" name="createSplitInvoiceNumber uses the correct invoice format for MANUAL" time="0">
501
517
  </testcase>
502
- <testcase classname="schemeProvidesAccountingValues returns the expected result for ES" name="schemeProvidesAccountingValues returns the expected result for ES" time="0">
518
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for ES" name="createSplitInvoiceNumber uses the correct invoice format for ES" time="0.001">
519
+ </testcase>
520
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for FC" name="createSplitInvoiceNumber uses the correct invoice format for FC" time="0.001">
503
521
  </testcase>
504
- <testcase classname="schemeProvidesAccountingValues returns the expected result for FC" name="schemeProvidesAccountingValues returns the expected result for FC" time="0.001">
522
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for IMPS" name="createSplitInvoiceNumber uses the correct invoice format for IMPS" time="0">
505
523
  </testcase>
506
- <testcase classname="schemeProvidesAccountingValues returns the expected result for IMPS" name="schemeProvidesAccountingValues returns the expected result for IMPS" time="0">
524
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI23" name="createSplitInvoiceNumber uses the correct invoice format for SFI23" time="0">
507
525
  </testcase>
508
- <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI23" name="schemeProvidesAccountingValues returns the expected result for SFI23" time="0">
526
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for DELINKED" name="createSplitInvoiceNumber uses the correct invoice format for DELINKED" time="0">
509
527
  </testcase>
510
- <testcase classname="schemeProvidesAccountingValues returns the expected result for DELINKED" name="schemeProvidesAccountingValues returns the expected result for DELINKED" time="0.001">
528
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI_EXPANDED" name="createSplitInvoiceNumber uses the correct invoice format for SFI_EXPANDED" time="0">
511
529
  </testcase>
512
- <testcase classname="schemeProvidesAccountingValues returns the expected result for SFI_EXPANDED" name="schemeProvidesAccountingValues returns the expected result for SFI_EXPANDED" time="0">
530
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for COHT_REVENUE" name="createSplitInvoiceNumber uses the correct invoice format for COHT_REVENUE" time="0">
513
531
  </testcase>
514
- <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" name="schemeProvidesAccountingValues returns the expected result for COHT_REVENUE" time="0">
532
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for COHT_CAPITAL" name="createSplitInvoiceNumber uses the correct invoice format for COHT_CAPITAL" time="0">
515
533
  </testcase>
516
- <testcase classname="schemeProvidesAccountingValues returns the expected result for COHT_CAPITAL" name="schemeProvidesAccountingValues returns the expected result for COHT_CAPITAL" time="0">
534
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for FPTT" name="createSplitInvoiceNumber uses the correct invoice format for FPTT" time="0">
517
535
  </testcase>
518
- <testcase classname="schemeProvidesAccountingValues returns the expected result for FPTT" name="schemeProvidesAccountingValues returns the expected result for FPTT" time="0">
536
+ <testcase classname="createSplitInvoiceNumber uses the correct invoice format for WMP" name="createSplitInvoiceNumber uses the correct invoice format for WMP" time="0">
519
537
  </testcase>
520
- <testcase classname="schemeProvidesAccountingValues returns the expected result for WMP" name="schemeProvidesAccountingValues returns the expected result for WMP" time="0">
538
+ <testcase classname="createSplitInvoiceNumber uses the default format for an unknown schemeId" name="createSplitInvoiceNumber uses the default format for an unknown schemeId" time="0">
521
539
  </testcase>
522
- <testcase classname="schemeProvidesAccountingValues returns false for an unknown schemeId" name="schemeProvidesAccountingValues returns false for an unknown schemeId" time="0.001">
540
+ </testsuite>
541
+ <testsuite name="Vet Visits account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:40" time="0.022" tests="1">
542
+ <testcase classname="Vet Visits account code map contains the expected mapping" name="Vet Visits account code map contains the expected mapping" time="0.001">
523
543
  </testcase>
524
544
  </testsuite>
525
- <testsuite name="createSplitInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.032" tests="18">
526
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI" name="createSplitInvoiceNumber uses the correct invoice format for SFI" time="0.001">
545
+ <testsuite name="default account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.021" tests="1">
546
+ <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">
527
547
  </testcase>
528
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI_PILOT" name="createSplitInvoiceNumber uses the correct invoice format for SFI_PILOT" time="0">
548
+ </testsuite>
549
+ <testsuite name="getSchemeIdFromSourceSystem" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.019" tests="4">
550
+ <testcase classname="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" name="getSchemeIdFromSourceSystem returns the schemeId for a matching source system" time="0.001">
529
551
  </testcase>
530
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for LUMP_SUMS" name="createSplitInvoiceNumber uses the correct invoice format for LUMP_SUMS" time="0">
552
+ <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">
531
553
  </testcase>
532
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for VET_VISITS" name="createSplitInvoiceNumber uses the correct invoice format for VET_VISITS" time="0.001">
554
+ <testcase classname="getSchemeIdFromSourceSystem returns undefined when no schemes are available" name="getSchemeIdFromSourceSystem returns undefined when no schemes are available" time="0">
533
555
  </testcase>
534
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for CS" name="createSplitInvoiceNumber uses the correct invoice format for CS" time="0">
556
+ <testcase classname="getSchemeIdFromSourceSystem gets schemes before searching for the source system" name="getSchemeIdFromSourceSystem gets schemes before searching for the source system" time="0.001">
535
557
  </testcase>
536
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for BPS" name="createSplitInvoiceNumber uses the correct invoice format for BPS" time="0">
558
+ </testsuite>
559
+ <testsuite name="useInvoiceNumberAsIs" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.05" tests="1">
560
+ <testcase classname="useInvoiceNumberAsIs returns the invoice number unchanged" name="useInvoiceNumberAsIs returns the invoice number unchanged" time="0.002">
537
561
  </testcase>
538
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for MANUAL" name="createSplitInvoiceNumber uses the correct invoice format for MANUAL" time="0">
562
+ </testsuite>
563
+ <testsuite name="get scheme batch properties" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.046" tests="18">
564
+ <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.002">
539
565
  </testcase>
540
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for ES" name="createSplitInvoiceNumber uses the correct invoice format for ES" time="0">
566
+ <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.002">
541
567
  </testcase>
542
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for FC" name="createSplitInvoiceNumber uses the correct invoice format for FC" time="0.001">
568
+ <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.001">
543
569
  </testcase>
544
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for IMPS" name="createSplitInvoiceNumber uses the correct invoice format for IMPS" time="0">
570
+ <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">
545
571
  </testcase>
546
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI23" name="createSplitInvoiceNumber uses the correct invoice format for SFI23" time="0">
572
+ <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">
547
573
  </testcase>
548
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for DELINKED" name="createSplitInvoiceNumber uses the correct invoice format for DELINKED" time="0">
574
+ <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">
549
575
  </testcase>
550
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for SFI_EXPANDED" name="createSplitInvoiceNumber uses the correct invoice format for SFI_EXPANDED" time="0">
576
+ <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">
551
577
  </testcase>
552
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for COHT_REVENUE" name="createSplitInvoiceNumber uses the correct invoice format for COHT_REVENUE" time="0">
578
+ <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">
553
579
  </testcase>
554
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for COHT_CAPITAL" name="createSplitInvoiceNumber uses the correct invoice format for COHT_CAPITAL" time="0.001">
580
+ <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">
555
581
  </testcase>
556
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for FPTT" name="createSplitInvoiceNumber uses the correct invoice format for FPTT" time="0">
582
+ <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">
557
583
  </testcase>
558
- <testcase classname="createSplitInvoiceNumber uses the correct invoice format for WMP" name="createSplitInvoiceNumber uses the correct invoice format for WMP" time="0">
584
+ <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">
559
585
  </testcase>
560
- <testcase classname="createSplitInvoiceNumber uses the default format for an unknown schemeId" name="createSplitInvoiceNumber uses the default format for an unknown schemeId" time="0">
586
+ <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">
561
587
  </testcase>
562
- </testsuite>
563
- <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.026" tests="3">
564
- <testcase classname="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" name="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" time="0.001">
588
+ <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">
565
589
  </testcase>
566
- <testcase classname="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" name="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" time="0.001">
590
+ <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">
567
591
  </testcase>
568
- <testcase classname="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" name="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" time="0">
592
+ <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">
569
593
  </testcase>
570
- </testsuite>
571
- <testsuite name="createStandardSchemeInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.029" tests="3">
572
- <testcase classname="createStandardSchemeInvoiceNumber creates a standard scheme invoice number" name="createStandardSchemeInvoiceNumber creates a standard scheme invoice number" time="0.002">
594
+ <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">
573
595
  </testcase>
574
- <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">
596
+ <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">
575
597
  </testcase>
576
- <testcase classname="createStandardSchemeInvoiceNumber returns null when required values are missing" name="createStandardSchemeInvoiceNumber returns null when required values are missing" time="0.001">
598
+ <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.001">
577
599
  </testcase>
578
600
  </testsuite>
579
- <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.027" tests="3">
580
- <testcase classname="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" name="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" time="0.001">
601
+ <testsuite name="SFI FRPS account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.028" tests="10">
602
+ <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.002">
581
603
  </testcase>
582
- <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">
604
+ <testcase classname="SFI FRPS account code map contains default mapping 0" name="SFI FRPS account code map contains default mapping 0" time="0">
583
605
  </testcase>
584
- <testcase classname="createSitiAgriInvoiceNumber returns null when required values are missing" name="createSitiAgriInvoiceNumber returns null when required values are missing" time="0">
606
+ <testcase classname="SFI FRPS account code map contains default mapping 1" name="SFI FRPS account code map contains default mapping 1" time="0">
607
+ </testcase>
608
+ <testcase classname="SFI FRPS account code map contains default mapping 2" name="SFI FRPS account code map contains default mapping 2" time="0">
609
+ </testcase>
610
+ <testcase classname="SFI FRPS account code map contains default mapping 3" name="SFI FRPS account code map contains default mapping 3" time="0.001">
611
+ </testcase>
612
+ <testcase classname="SFI FRPS account code map contains default mapping 4" name="SFI FRPS account code map contains default mapping 4" time="0">
613
+ </testcase>
614
+ <testcase classname="SFI FRPS account code map contains default mapping 5" name="SFI FRPS account code map contains default mapping 5" time="0">
615
+ </testcase>
616
+ <testcase classname="SFI FRPS account code map contains default mapping 6" name="SFI FRPS account code map contains default mapping 6" time="0">
617
+ </testcase>
618
+ <testcase classname="SFI FRPS account code map contains default mapping 7" name="SFI FRPS account code map contains default mapping 7" time="0">
619
+ </testcase>
620
+ <testcase classname="SFI FRPS account code map contains the P02 mapping" name="SFI FRPS account code map contains the P02 mapping" time="0">
585
621
  </testcase>
586
622
  </testsuite>
587
- <testsuite name="createIMPSInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.031" tests="3">
588
- <testcase classname="createIMPSInvoiceNumber adds the trader to an invoice number" name="createIMPSInvoiceNumber adds the trader to an invoice number" time="0.001">
623
+ <testsuite name="createIMPSInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.031" tests="3">
624
+ <testcase classname="createIMPSInvoiceNumber adds the trader to an invoice number" name="createIMPSInvoiceNumber adds the trader to an invoice number" time="0.002">
589
625
  </testcase>
590
- <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.001">
626
+ <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">
591
627
  </testcase>
592
628
  <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">
593
629
  </testcase>
594
630
  </testsuite>
595
- <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.024" tests="3">
596
- <testcase classname="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" name="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" time="0.001">
631
+ <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.024" tests="3">
632
+ <testcase classname="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" name="createSitiAgriInvoiceNumber inserts splitId 1234567890123 into invoice number A" time="0.002">
597
633
  </testcase>
598
634
  <testcase classname="createSitiAgriInvoiceNumber inserts splitId ABCDEFGH12345 into invoice number 9" name="createSitiAgriInvoiceNumber inserts splitId ABCDEFGH12345 into invoice number 9" time="0.001">
599
635
  </testcase>
600
636
  <testcase classname="createSitiAgriInvoiceNumber inserts splitId SITIAGRI000123 into invoice number X" name="createSitiAgriInvoiceNumber inserts splitId SITIAGRI000123 into invoice number X" time="0">
601
637
  </testcase>
602
638
  </testsuite>
603
- <testsuite name="Vet Visits account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.019" tests="1">
604
- <testcase classname="Vet Visits account code map contains the expected mapping" name="Vet Visits account code map contains the expected mapping" time="0.001">
639
+ <testsuite name="createESInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.024" tests="1">
640
+ <testcase classname="createESInvoiceNumber creates an ES invoice number" name="createESInvoiceNumber creates an ES invoice number" time="0.002">
605
641
  </testcase>
606
642
  </testsuite>
607
- <testsuite name="Delinked account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.021" tests="1">
608
- <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">
643
+ <testsuite name="getSchemeIds" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.033" tests="1">
644
+ <testcase classname="getSchemeIds returns all scheme IDs" name="getSchemeIds returns all scheme IDs" time="0.002">
609
645
  </testcase>
610
646
  </testsuite>
611
- <testsuite name="useInvoiceNumberAsIs" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.022" tests="1">
612
- <testcase classname="useInvoiceNumberAsIs returns the invoice number unchanged" name="useInvoiceNumberAsIs returns the invoice number unchanged" time="0.001">
647
+ <testsuite name="Lump Sums account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.028" tests="1">
648
+ <testcase classname="Lump Sums account code map contains the expected mapping" name="Lump Sums account code map contains the expected mapping" time="0.001">
613
649
  </testcase>
614
650
  </testsuite>
615
- <testsuite name="createESInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.023" tests="1">
616
- <testcase classname="createESInvoiceNumber creates an ES invoice number" name="createESInvoiceNumber creates an ES invoice number" time="0.001">
651
+ <testsuite name="getSchemeIdFromPillar" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.033" tests="4">
652
+ <testcase classname="getSchemeIdFromPillar returns the schemeId for a matching pillar" name="getSchemeIdFromPillar returns the schemeId for a matching pillar" time="0.002">
653
+ </testcase>
654
+ <testcase classname="getSchemeIdFromPillar returns undefined when the pillar is not found" name="getSchemeIdFromPillar returns undefined when the pillar is not found" time="0.001">
655
+ </testcase>
656
+ <testcase classname="getSchemeIdFromPillar returns undefined when no schemes are available" name="getSchemeIdFromPillar returns undefined when no schemes are available" time="0">
657
+ </testcase>
658
+ <testcase classname="getSchemeIdFromPillar gets schemes before searching for the pillar" name="getSchemeIdFromPillar gets schemes before searching for the pillar" time="0.001">
617
659
  </testcase>
618
660
  </testsuite>
619
- <testsuite name="Lump Sums account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.017" tests="1">
620
- <testcase classname="Lump Sums account code map contains the expected mapping" name="Lump Sums account code map contains the expected mapping" time="0.001">
661
+ <testsuite name="Delinked account code map" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.032" tests="1">
662
+ <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">
621
663
  </testcase>
622
664
  </testsuite>
623
- <testsuite name="default account code map" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.023" tests="1">
624
- <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.002">
665
+ <testsuite name="createSitiAgriInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.021" tests="3">
666
+ <testcase classname="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" name="createSitiAgriInvoiceNumber creates a SITI Agri invoice number" time="0.002">
667
+ </testcase>
668
+ <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">
669
+ </testcase>
670
+ <testcase classname="createSitiAgriInvoiceNumber returns null when required values are missing" name="createSitiAgriInvoiceNumber returns null when required values are missing" time="0">
625
671
  </testcase>
626
672
  </testsuite>
627
- <testsuite name="getSchemeIds" errors="0" failures="0" skipped="0" timestamp="2026-08-27T16:05:47" time="0.024" tests="1">
628
- <testcase classname="getSchemeIds returns all scheme IDs" name="getSchemeIds returns all scheme IDs" time="0.001">
673
+ <testsuite name="createDefaultInvoiceNumber" errors="0" failures="0" skipped="0" timestamp="2026-09-02T16:27:41" time="0.023" tests="3">
674
+ <testcase classname="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" name="createDefaultInvoiceNumber inserts splitId INV1234 into invoice number A" time="0.002">
675
+ </testcase>
676
+ <testcase classname="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" name="createDefaultInvoiceNumber inserts splitId 123456789 into invoice number B" time="0">
677
+ </testcase>
678
+ <testcase classname="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" name="createDefaultInvoiceNumber inserts splitId ABC-1234 into invoice number 9" time="0.001">
629
679
  </testcase>
630
680
  </testsuite>
631
681
  </testsuites>