ffc-pay-schemes 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +4 -0
  2. package/app/scheme-properties/get-siti-agri-schemes.js +30 -0
  3. package/index.js +4 -2
  4. package/package.json +1 -1
  5. package/test/unit/{helpers → scheme-id}/get-siti-agri-scheme-ids.test.js +1 -1
  6. package/test/unit/{helpers → scheme-id}/is-valid-scheme-id.test.js +1 -1
  7. package/test/unit/scheme-properties/get-siti-agri-schemes.test.js +42 -0
  8. package/test-output/cobertura-coverage.xml +62 -39
  9. package/test-output/junit.xml +357 -353
  10. package/test-output/lcov-report/constants/account-codes/ap.js.html +1 -1
  11. package/test-output/lcov-report/constants/account-codes/ar-admin.js.html +1 -1
  12. package/test-output/lcov-report/constants/account-codes/ar-irregular.js.html +1 -1
  13. package/test-output/lcov-report/constants/account-codes/index.html +1 -1
  14. package/test-output/lcov-report/constants/batch-schemes.js.html +94 -0
  15. package/test-output/lcov-report/constants/delivery-bodies.js.html +1 -1
  16. package/test-output/lcov-report/constants/description-codes.js.html +1 -1
  17. package/test-output/lcov-report/constants/file-masks.js.html +1 -1
  18. package/test-output/lcov-report/constants/frps-schemes.js.html +1 -1
  19. package/test-output/lcov-report/constants/fund-codes.js.html +1 -1
  20. package/test-output/lcov-report/constants/index.html +1 -1
  21. package/test-output/lcov-report/constants/manual-sources.js.html +1 -1
  22. package/test-output/lcov-report/constants/pillars.js.html +2 -2
  23. package/test-output/lcov-report/constants/scheme-batch-properties.js.html +1 -1
  24. package/test-output/lcov-report/constants/scheme-ids.js.html +2 -2
  25. package/test-output/lcov-report/constants/scheme-names.js.html +2 -2
  26. package/test-output/lcov-report/constants/schemes-not-requiring-ppas.js.html +1 -1
  27. package/test-output/lcov-report/constants/schemes-providing-account-values.js.html +1 -1
  28. package/test-output/lcov-report/constants/schemes.js.html +1 -1
  29. package/test-output/lcov-report/constants/sequence-positions.js.html +1 -1
  30. package/test-output/lcov-report/constants/siti-agri-schemes.js.html +3 -3
  31. package/test-output/lcov-report/constants/source-systems.js.html +2 -2
  32. package/test-output/lcov-report/constants/unknown.js.html +1 -1
  33. package/test-output/lcov-report/create-invoice-number/create-default-invoice-number.js.html +1 -1
  34. package/test-output/lcov-report/create-invoice-number/create-es-invoice-number.js.html +1 -1
  35. package/test-output/lcov-report/create-invoice-number/create-imps-invoice-number.js.html +1 -1
  36. package/test-output/lcov-report/create-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  37. package/test-output/lcov-report/create-invoice-number/create-standard-scheme-invoice-number.js.html +1 -1
  38. package/test-output/lcov-report/create-invoice-number/index.html +1 -1
  39. package/test-output/lcov-report/create-invoice-number/index.js.html +1 -1
  40. package/test-output/lcov-report/create-invoice-number/use-invoice-number-as-is.js.html +1 -1
  41. package/test-output/lcov-report/create-split-invoice-number/create-default-invoice-number.js.html +1 -1
  42. package/test-output/lcov-report/create-split-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  43. package/test-output/lcov-report/create-split-invoice-number/index.html +1 -1
  44. package/test-output/lcov-report/create-split-invoice-number/index.js.html +1 -1
  45. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ap.js.html +1 -1
  46. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-admin.js.html +1 -1
  47. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-irregular.js.html +1 -1
  48. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/index.html +1 -1
  49. package/test-output/lcov-report/ffc-pay-schemes/app/constants/delivery-bodies.js.html +1 -1
  50. package/test-output/lcov-report/ffc-pay-schemes/app/constants/description-codes.js.html +1 -1
  51. package/test-output/lcov-report/ffc-pay-schemes/app/constants/file-masks.js.html +1 -1
  52. package/test-output/lcov-report/ffc-pay-schemes/app/constants/frps-schemes.js.html +1 -1
  53. package/test-output/lcov-report/ffc-pay-schemes/app/constants/fund-codes.js.html +1 -1
  54. package/test-output/lcov-report/ffc-pay-schemes/app/constants/index.html +1 -1
  55. package/test-output/lcov-report/ffc-pay-schemes/app/constants/manual-sources.js.html +1 -1
  56. package/test-output/lcov-report/ffc-pay-schemes/app/constants/pillars.js.html +1 -1
  57. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-batch-properties.js.html +1 -1
  58. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-ids.js.html +2 -2
  59. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-names.js.html +17 -17
  60. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-not-requiring-ppas.js.html +1 -1
  61. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-providing-account-values.js.html +1 -1
  62. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes.js.html +3 -6
  63. package/test-output/lcov-report/ffc-pay-schemes/app/constants/sequence-positions.js.html +1 -1
  64. package/test-output/lcov-report/ffc-pay-schemes/app/constants/siti-agri-schemes.js.html +3 -3
  65. package/test-output/lcov-report/ffc-pay-schemes/app/constants/source-systems.js.html +1 -1
  66. package/test-output/lcov-report/ffc-pay-schemes/app/constants/unknown.js.html +1 -1
  67. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-default-invoice-number.js.html +1 -1
  68. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-es-invoice-number.js.html +1 -1
  69. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-imps-invoice-number.js.html +1 -1
  70. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  71. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-standard-scheme-invoice-number.js.html +1 -1
  72. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.html +1 -1
  73. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.js.html +1 -1
  74. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/use-invoice-number-as-is.js.html +1 -1
  75. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-default-invoice-number.js.html +1 -1
  76. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  77. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.html +1 -1
  78. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.js.html +1 -1
  79. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/bps-map.js.html +1 -1
  80. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cohtc-map.js.html +1 -1
  81. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cs-map.js.html +1 -1
  82. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/default-map.js.html +1 -1
  83. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/delinked-map.js.html +1 -1
  84. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.html +1 -1
  85. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.js.html +1 -1
  86. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/lump-sums-map.js.html +1 -1
  87. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/sfi-frps-map.js.html +1 -1
  88. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/vet-visits-map.js.html +1 -1
  89. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-batch-properties.js.html +112 -0
  90. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-pillar.js.html +115 -0
  91. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-source-system.js.html +115 -0
  92. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-ids.js.html +112 -0
  93. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-name-from-scheme-id.js.html +118 -0
  94. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-name.js.html +115 -0
  95. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-names.js.html +112 -0
  96. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-properties.js.html +178 -0
  97. package/test-output/lcov-report/ffc-pay-schemes/app/get-schemes.js.html +133 -0
  98. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-system-from-scheme-id.js.html +118 -0
  99. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-system.js.html +115 -0
  100. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-systems.js.html +112 -0
  101. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/get-batch-sequence-from-file-name.js.html +1 -1
  102. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/get-journal-source-from-pillar.js.html +1 -1
  103. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/get-reporting-data-filter.js.html +1 -1
  104. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/index.html +4 -19
  105. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/is-frps.js.html +1 -1
  106. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/is-siti-agri.js.html +1 -1
  107. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/is-valid-scheme-id.js.html +1 -1
  108. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/scheme-does-not-require-ppas.js.html +1 -1
  109. package/test-output/lcov-report/ffc-pay-schemes/app/helpers/scheme-provides-accounting-values.js.html +1 -1
  110. package/test-output/lcov-report/ffc-pay-schemes/app/index.html +131 -0
  111. package/test-output/lcov-report/ffc-pay-schemes/app/is-valid-scheme-id.js.html +115 -0
  112. package/test-output/lcov-report/ffc-pay-schemes/app/pillar/get-pillar-from-scheme-id.js.html +1 -1
  113. package/test-output/lcov-report/ffc-pay-schemes/app/pillar/get-pillars.js.html +1 -1
  114. package/test-output/lcov-report/ffc-pay-schemes/app/pillar/index.html +1 -1
  115. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-does-not-require-ppas.js.html +112 -0
  116. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/get-scheme-id-from-pillar.js.html +1 -1
  117. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/get-scheme-id-from-source-system.js.html +1 -1
  118. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/get-scheme-ids.js.html +1 -1
  119. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/index.html +1 -1
  120. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-id/is-valid-scheme-id.js.html +115 -0
  121. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-name/get-scheme-name-from-scheme-id.js.html +1 -1
  122. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-name/get-scheme-names.js.html +1 -1
  123. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-name/index.html +1 -1
  124. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-scheme-batch-properties.js.html +1 -1
  125. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-scheme-from-batch-file-name.js.html +1 -1
  126. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-scheme-properties.js.html +1 -1
  127. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/get-schemes.js.html +1 -1
  128. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-properties/index.html +1 -1
  129. package/test-output/lcov-report/ffc-pay-schemes/app/{helpers/get-siti-agri-scheme-ids.js.html → scheme-properties/scheme-does-not-require-ppas.js.html} +8 -8
  130. package/test-output/lcov-report/ffc-pay-schemes/app/{helpers/getSitiAgriSchemeIds.js.html → scheme-properties/scheme-provides-accounting-values.js.html} +19 -19
  131. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-provides-accounting-values.js.html +112 -0
  132. package/test-output/lcov-report/ffc-pay-schemes/app/source-system/get-source-system-from-scheme-id.js.html +1 -1
  133. package/test-output/lcov-report/ffc-pay-schemes/app/source-system/get-source-systems.js.html +1 -1
  134. package/test-output/lcov-report/ffc-pay-schemes/app/source-system/index.html +1 -1
  135. package/test-output/lcov-report/ffc-pay-schemes/index.html +5 -5
  136. package/test-output/lcov-report/ffc-pay-schemes/index.js.html +4 -10
  137. package/test-output/lcov-report/get-account-code-map/bps-map.js.html +1 -1
  138. package/test-output/lcov-report/get-account-code-map/cohtc-map.js.html +1 -1
  139. package/test-output/lcov-report/get-account-code-map/cs-map.js.html +1 -1
  140. package/test-output/lcov-report/get-account-code-map/default-map.js.html +1 -1
  141. package/test-output/lcov-report/get-account-code-map/delinked-map.js.html +1 -1
  142. package/test-output/lcov-report/get-account-code-map/index.html +1 -1
  143. package/test-output/lcov-report/get-account-code-map/index.js.html +1 -1
  144. package/test-output/lcov-report/get-account-code-map/lump-sums-map.js.html +1 -1
  145. package/test-output/lcov-report/get-account-code-map/sfi-frps-map.js.html +1 -1
  146. package/test-output/lcov-report/get-account-code-map/vet-visits-map.js.html +1 -1
  147. package/test-output/lcov-report/helpers/get-batch-sequence-from-file-name.js.html +1 -1
  148. package/test-output/lcov-report/helpers/get-journal-source-from-pillar.js.html +1 -1
  149. package/test-output/lcov-report/helpers/get-reporting-data-filter.js.html +1 -1
  150. package/test-output/lcov-report/helpers/get-siti-agri-scheme-ids.js.html +1 -1
  151. package/test-output/lcov-report/helpers/index.html +4 -34
  152. package/test-output/lcov-report/helpers/is-frps.js.html +1 -1
  153. package/test-output/lcov-report/helpers/is-siti-agri.js.html +1 -1
  154. package/test-output/lcov-report/helpers/is-valid-scheme-id.js.html +1 -1
  155. package/test-output/lcov-report/helpers/scheme-does-not-require-ppas.js.html +1 -1
  156. package/test-output/lcov-report/helpers/scheme-provides-accounting-values.js.html +1 -1
  157. package/test-output/lcov-report/index.html +13 -13
  158. package/test-output/lcov-report/pillar/get-pillar-from-scheme-id.js.html +1 -1
  159. package/test-output/lcov-report/pillar/get-pillars.js.html +1 -1
  160. package/test-output/lcov-report/pillar/index.html +1 -1
  161. package/test-output/lcov-report/scheme-id/get-scheme-id-from-pillar.js.html +1 -1
  162. package/test-output/lcov-report/scheme-id/get-scheme-id-from-source-system.js.html +1 -1
  163. package/test-output/lcov-report/scheme-id/get-scheme-ids.js.html +1 -1
  164. package/test-output/lcov-report/scheme-id/get-siti-agri-scheme-ids.js.html +112 -0
  165. package/test-output/lcov-report/scheme-id/index.html +34 -4
  166. package/test-output/lcov-report/scheme-id/is-valid-scheme-id.js.html +115 -0
  167. package/test-output/lcov-report/scheme-name/get-scheme-name-from-scheme-id.js.html +1 -1
  168. package/test-output/lcov-report/scheme-name/get-scheme-names.js.html +1 -1
  169. package/test-output/lcov-report/scheme-name/index.html +1 -1
  170. package/test-output/lcov-report/scheme-properties/get-scheme-batch-properties.js.html +1 -1
  171. package/test-output/lcov-report/scheme-properties/get-scheme-from-batch-file-name.js.html +1 -1
  172. package/test-output/lcov-report/scheme-properties/get-scheme-properties.js.html +1 -1
  173. package/test-output/lcov-report/scheme-properties/get-schemes.js.html +1 -1
  174. package/test-output/lcov-report/scheme-properties/get-siti-agri-schemes.js.html +175 -0
  175. package/test-output/lcov-report/scheme-properties/index.html +19 -4
  176. package/test-output/lcov-report/source-system/get-source-system-from-scheme-id.js.html +1 -1
  177. package/test-output/lcov-report/source-system/get-source-systems.js.html +1 -1
  178. package/test-output/lcov-report/source-system/index.html +1 -1
  179. package/test-output/lcov.info +57 -37
  180. /package/app/{helpers → scheme-id}/get-siti-agri-scheme-ids.js +0 -0
  181. /package/app/{helpers → scheme-id}/is-valid-scheme-id.js +0 -0
package/README.md CHANGED
@@ -31,6 +31,8 @@ const {
31
31
  getSchemeNames,
32
32
  getSchemeProperties,
33
33
  getSchemes,
34
+ getSitiAgriSchemeIds,
35
+ getSitiAgriSchemes,
34
36
  getSourceSystemFromSchemeId,
35
37
  getSourceSystems,
36
38
  isFRPS,
@@ -58,6 +60,8 @@ const {
58
60
  - `getSchemeNames()` returns all supported scheme names.
59
61
  - `getSchemeProperties(schemeId, sourceSystem, pillar)` returns the default payment properties for a scheme. A scheme can be identified by its ID or source system. The optional `pillar` can be used for manual payments.
60
62
  - `getSchemes()` returns all supported schemes as an array of objects containing `schemeId`, `schemeName`, `sourceSystem` and `pillar`.
63
+ - `getSitiAgriSchemeIds()` returns all scheme IDs where the scheme is delivered via Siti Agri.
64
+ - `getSitiAgriSchemes()` returns all Siti Agri delivered schemes as an array of objects containing `schemeId`, `schemeName`, `sourceSystem` and `pillar`.
61
65
  - `getSourceSystemFromSchemeId(schemeId)` returns the source system name for a given `schemeId`.
62
66
  - `getSourceSystems()` returns all supported source systems.
63
67
  - `isFRPS(schemeId)` returns `true` if the scheme ID comes from FRPS, or `false` if not.
@@ -0,0 +1,30 @@
1
+ const pillars = require('../constants/pillars')
2
+ const sitiAgriSchemeIds = require('../constants/siti-agri-schemes')
3
+ const schemeNames = require('../constants/scheme-names')
4
+ const sourceSystems = require('../constants/source-systems')
5
+ const schemeIds = require('../constants/scheme-ids')
6
+
7
+ const schemeKeyById = Object.entries(schemeIds).reduce((acc, [key, value]) => {
8
+ acc[value] = key
9
+ return acc
10
+ }, {})
11
+
12
+ const getSitiAgriSchemes = () =>
13
+ sitiAgriSchemeIds.map((schemeId) => {
14
+ const schemeKey = schemeKeyById[schemeId]
15
+
16
+ if (!schemeKey) {
17
+ throw new Error(`No scheme metadata found for schemeId: ${schemeId}`)
18
+ }
19
+
20
+ return {
21
+ schemeId,
22
+ schemeName: schemeNames[schemeKey],
23
+ sourceSystem: sourceSystems[schemeKey],
24
+ pillar: pillars[schemeKey]
25
+ }
26
+ })
27
+
28
+ module.exports = {
29
+ getSitiAgriSchemes
30
+ }
package/index.js CHANGED
@@ -15,12 +15,13 @@ const { getSchemeNameFromSchemeId } = require('./app/scheme-name/get-scheme-name
15
15
  const { getSchemeNames } = require('./app/scheme-name/get-scheme-names')
16
16
  const { getSchemeProperties } = require('./app/scheme-properties/get-scheme-properties')
17
17
  const { getSchemes } = require('./app/scheme-properties/get-schemes')
18
- const { getSitiAgriSchemeIds } = require('./app/helpers/get-siti-agri-scheme-ids')
18
+ const { getSitiAgriSchemeIds } = require('./app/scheme-id/get-siti-agri-scheme-ids')
19
+ const { getSitiAgriSchemes } = require('./app/scheme-properties/get-siti-agri-schemes')
19
20
  const { getSourceSystemFromSchemeId } = require('./app/source-system/get-source-system-from-scheme-id')
20
21
  const { getSourceSystems } = require('./app/source-system/get-source-systems')
21
22
  const { isFRPS } = require('./app/helpers/is-frps')
22
23
  const { isSitiAgri } = require('./app/helpers/is-siti-agri')
23
- const { isValidSchemeId } = require('./app/helpers/is-valid-scheme-id')
24
+ const { isValidSchemeId } = require('./app/scheme-id/is-valid-scheme-id')
24
25
  const { schemeDoesNotRequirePPAs } = require('./app/helpers/scheme-does-not-require-ppas')
25
26
  const { schemeProvidesAccountingValues } = require('./app/helpers/scheme-provides-accounting-values')
26
27
 
@@ -43,6 +44,7 @@ module.exports = {
43
44
  getSchemeProperties,
44
45
  getSchemes,
45
46
  getSitiAgriSchemeIds,
47
+ getSitiAgriSchemes,
46
48
  getSourceSystemFromSchemeId,
47
49
  getSourceSystems,
48
50
  isFRPS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ffc-pay-schemes",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Module for defining and providing details for the payment schemes supported by the Payment Hub.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,5 +1,5 @@
1
1
  const sitiAgriSchemes = require('../../../app/constants/siti-agri-schemes')
2
- const { getSitiAgriSchemeIds } = require('../../../app/helpers/get-siti-agri-scheme-ids')
2
+ const { getSitiAgriSchemeIds } = require('../../../app/scheme-id/get-siti-agri-scheme-ids')
3
3
 
4
4
  describe('getSitiAgriSchemeIds', () => {
5
5
  test('returns the Siti Agri scheme IDs', () => {
@@ -1,5 +1,5 @@
1
1
  const schemeIds = require('../../../app/constants/scheme-ids')
2
- const { isValidSchemeId } = require('../../../app/helpers/is-valid-scheme-id')
2
+ const { isValidSchemeId } = require('../../../app/scheme-id/is-valid-scheme-id')
3
3
 
4
4
  describe('isValidSchemeId', () => {
5
5
  test.each(Object.values(schemeIds))(
@@ -0,0 +1,42 @@
1
+ const sitiAgriSchemeIds = require('../../../app/constants/siti-agri-schemes')
2
+ const schemeIds = require('../../../app/constants/scheme-ids')
3
+ const schemeNames = require('../../../app/constants/scheme-names')
4
+ const sourceSystems = require('../../../app/constants/source-systems')
5
+ const pillars = require('../../../app/constants/pillars')
6
+ const { getSitiAgriSchemes } = require('../../../app/scheme-properties/get-siti-agri-schemes')
7
+
8
+ const schemeKeyById = Object.entries(schemeIds).reduce((acc, [key, value]) => {
9
+ acc[value] = key
10
+ return acc
11
+ }, {})
12
+
13
+ describe('getSitiAgriSchemes', () => {
14
+ test('returns one scheme object for each SITI Agri scheme id', () => {
15
+ const expected = sitiAgriSchemeIds.map((schemeId) => {
16
+ const schemeKey = schemeKeyById[schemeId]
17
+
18
+ expect(schemeKey).toBeDefined()
19
+
20
+ return {
21
+ schemeId,
22
+ schemeName: schemeNames[schemeKey],
23
+ sourceSystem: sourceSystems[schemeKey],
24
+ pillar: pillars[schemeKey]
25
+ }
26
+ })
27
+
28
+ expect(getSitiAgriSchemes()).toEqual(expected)
29
+ })
30
+
31
+ test('returns the correct metadata for specific scheme (SFI23)', () => {
32
+ const schemes = getSitiAgriSchemes()
33
+ const sfi23 = schemes.find((scheme) => scheme.schemeId === schemeIds.SFI23)
34
+
35
+ expect(sfi23).toEqual({
36
+ schemeId: schemeIds.SFI23,
37
+ schemeName: schemeNames.SFI23,
38
+ sourceSystem: sourceSystems.SFI23,
39
+ pillar: pillars.SFI23
40
+ })
41
+ })
42
+ })
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0" ?>
2
2
  <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
3
- <coverage lines-valid="305" lines-covered="305" line-rate="1" branches-valid="67" branches-covered="67" branch-rate="1" timestamp="1791217984854" complexity="0" version="0.1">
3
+ <coverage lines-valid="312" lines-covered="312" line-rate="1" branches-valid="67" branches-covered="67" branch-rate="1" timestamp="1791821370454" complexity="0" version="0.1">
4
4
  <sources>
5
- <source>/home/bunglehaze/defra/ffc-pay-schemes</source>
5
+ <source>/home/samplackett/ffc-pay-schemes</source>
6
6
  </sources>
7
7
  <packages>
8
8
  <package name="constants" line-rate="1" branch-rate="1">
@@ -55,7 +55,7 @@
55
55
  <methods>
56
56
  </methods>
57
57
  <lines>
58
- <line number="1" hits="4" branch="false"/>
58
+ <line number="1" hits="5" branch="false"/>
59
59
  </lines>
60
60
  </class>
61
61
  <class name="scheme-batch-properties.js" filename="app/constants/scheme-batch-properties.js" line-rate="1" branch-rate="1">
@@ -70,14 +70,14 @@
70
70
  <methods>
71
71
  </methods>
72
72
  <lines>
73
- <line number="1" hits="14" branch="false"/>
73
+ <line number="1" hits="15" branch="false"/>
74
74
  </lines>
75
75
  </class>
76
76
  <class name="scheme-names.js" filename="app/constants/scheme-names.js" line-rate="1" branch-rate="1">
77
77
  <methods>
78
78
  </methods>
79
79
  <lines>
80
- <line number="1" hits="2" branch="false"/>
80
+ <line number="1" hits="3" branch="false"/>
81
81
  </lines>
82
82
  </class>
83
83
  <class name="schemes-not-requiring-ppas.js" filename="app/constants/schemes-not-requiring-ppas.js" line-rate="1" branch-rate="1">
@@ -120,15 +120,15 @@
120
120
  <methods>
121
121
  </methods>
122
122
  <lines>
123
- <line number="1" hits="2" branch="false"/>
124
- <line number="3" hits="2" branch="false"/>
123
+ <line number="1" hits="3" branch="false"/>
124
+ <line number="3" hits="3" branch="false"/>
125
125
  </lines>
126
126
  </class>
127
127
  <class name="source-systems.js" filename="app/constants/source-systems.js" line-rate="1" branch-rate="1">
128
128
  <methods>
129
129
  </methods>
130
130
  <lines>
131
- <line number="1" hits="4" branch="false"/>
131
+ <line number="1" hits="5" branch="false"/>
132
132
  </lines>
133
133
  </class>
134
134
  <class name="unknown.js" filename="app/constants/unknown.js" line-rate="1" branch-rate="1">
@@ -560,21 +560,6 @@
560
560
  <line number="21" hits="1" branch="false"/>
561
561
  </lines>
562
562
  </class>
563
- <class name="get-siti-agri-scheme-ids.js" filename="app/helpers/get-siti-agri-scheme-ids.js" line-rate="1" branch-rate="1">
564
- <methods>
565
- <method name="(anonymous_0)" hits="1" signature="()V">
566
- <lines>
567
- <line number="3" hits="1"/>
568
- </lines>
569
- </method>
570
- </methods>
571
- <lines>
572
- <line number="1" hits="1" branch="false"/>
573
- <line number="3" hits="1" branch="false"/>
574
- <line number="4" hits="1" branch="false"/>
575
- <line number="7" hits="1" branch="false"/>
576
- </lines>
577
- </class>
578
563
  <class name="is-frps.js" filename="app/helpers/is-frps.js" line-rate="1" branch-rate="1">
579
564
  <methods>
580
565
  <method name="(anonymous_0)" hits="6" signature="()V">
@@ -605,22 +590,6 @@
605
590
  <line number="7" hits="1" branch="false"/>
606
591
  </lines>
607
592
  </class>
608
- <class name="is-valid-scheme-id.js" filename="app/helpers/is-valid-scheme-id.js" line-rate="1" branch-rate="1">
609
- <methods>
610
- <method name="(anonymous_0)" hits="20" signature="()V">
611
- <lines>
612
- <line number="3" hits="20"/>
613
- </lines>
614
- </method>
615
- </methods>
616
- <lines>
617
- <line number="1" hits="1" branch="false"/>
618
- <line number="3" hits="1" branch="false"/>
619
- <line number="4" hits="20" branch="false"/>
620
- <line number="5" hits="20" branch="false"/>
621
- <line number="8" hits="1" branch="false"/>
622
- </lines>
623
- </class>
624
593
  <class name="scheme-does-not-require-ppas.js" filename="app/helpers/scheme-does-not-require-ppas.js" line-rate="1" branch-rate="1">
625
594
  <methods>
626
595
  <method name="(anonymous_0)" hits="19" signature="()V">
@@ -753,6 +722,37 @@
753
722
  <line number="7" hits="1" branch="false"/>
754
723
  </lines>
755
724
  </class>
725
+ <class name="get-siti-agri-scheme-ids.js" filename="app/scheme-id/get-siti-agri-scheme-ids.js" line-rate="1" branch-rate="1">
726
+ <methods>
727
+ <method name="(anonymous_0)" hits="1" signature="()V">
728
+ <lines>
729
+ <line number="3" hits="1"/>
730
+ </lines>
731
+ </method>
732
+ </methods>
733
+ <lines>
734
+ <line number="1" hits="1" branch="false"/>
735
+ <line number="3" hits="1" branch="false"/>
736
+ <line number="4" hits="1" branch="false"/>
737
+ <line number="7" hits="1" branch="false"/>
738
+ </lines>
739
+ </class>
740
+ <class name="is-valid-scheme-id.js" filename="app/scheme-id/is-valid-scheme-id.js" line-rate="1" branch-rate="1">
741
+ <methods>
742
+ <method name="(anonymous_0)" hits="20" signature="()V">
743
+ <lines>
744
+ <line number="3" hits="20"/>
745
+ </lines>
746
+ </method>
747
+ </methods>
748
+ <lines>
749
+ <line number="1" hits="1" branch="false"/>
750
+ <line number="3" hits="1" branch="false"/>
751
+ <line number="4" hits="20" branch="false"/>
752
+ <line number="5" hits="20" branch="false"/>
753
+ <line number="8" hits="1" branch="false"/>
754
+ </lines>
755
+ </class>
756
756
  </classes>
757
757
  </package>
758
758
  <package name="scheme-name" line-rate="1" branch-rate="1">
@@ -902,6 +902,29 @@
902
902
  <line number="14" hits="1" branch="false"/>
903
903
  </lines>
904
904
  </class>
905
+ <class name="get-siti-agri-schemes.js" filename="app/scheme-properties/get-siti-agri-schemes.js" line-rate="1" branch-rate="1">
906
+ <methods>
907
+ <method name="(anonymous_0)" hits="1" signature="()V">
908
+ <lines>
909
+ <line number="6" hits="1"/>
910
+ </lines>
911
+ </method>
912
+ <method name="(anonymous_1)" hits="11" signature="()V">
913
+ <lines>
914
+ <line number="7" hits="11"/>
915
+ </lines>
916
+ </method>
917
+ </methods>
918
+ <lines>
919
+ <line number="1" hits="1" branch="false"/>
920
+ <line number="2" hits="1" branch="false"/>
921
+ <line number="3" hits="1" branch="false"/>
922
+ <line number="4" hits="1" branch="false"/>
923
+ <line number="6" hits="1" branch="false"/>
924
+ <line number="7" hits="11" branch="false"/>
925
+ <line number="14" hits="1" branch="false"/>
926
+ </lines>
927
+ </class>
905
928
  </classes>
906
929
  </package>
907
930
  <package name="source-system" line-rate="1" branch-rate="1">