ffc-pay-schemes 1.0.7 → 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 (64) hide show
  1. package/README.md +2 -0
  2. package/app/is-valid-scheme-id.js +10 -0
  3. package/index.js +2 -0
  4. package/package.json +1 -1
  5. package/test/unit/is-valid-scheme-id.test.js +21 -0
  6. package/test-output/cobertura-coverage.xml +18 -2
  7. package/test-output/junit.xml +320 -280
  8. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ap.js.html +1 -1
  9. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-admin.js.html +1 -1
  10. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/ar-irregular.js.html +1 -1
  11. package/test-output/lcov-report/ffc-pay-schemes/app/constants/account-codes/index.html +1 -1
  12. package/test-output/lcov-report/ffc-pay-schemes/app/constants/delivery-bodies.js.html +1 -1
  13. package/test-output/lcov-report/ffc-pay-schemes/app/constants/description-codes.js.html +1 -1
  14. package/test-output/lcov-report/ffc-pay-schemes/app/constants/fund-codes.js.html +1 -1
  15. package/test-output/lcov-report/ffc-pay-schemes/app/constants/index.html +1 -1
  16. package/test-output/lcov-report/ffc-pay-schemes/app/constants/pillars.js.html +1 -1
  17. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-batch-properties.js.html +1 -1
  18. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-ids.js.html +2 -2
  19. package/test-output/lcov-report/ffc-pay-schemes/app/constants/scheme-names.js.html +1 -1
  20. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-not-requiring-ppas.js.html +1 -1
  21. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes-providing-account-values.js.html +1 -1
  22. package/test-output/lcov-report/ffc-pay-schemes/app/constants/schemes.js.html +1 -1
  23. package/test-output/lcov-report/ffc-pay-schemes/app/constants/source-systems.js.html +1 -1
  24. package/test-output/lcov-report/ffc-pay-schemes/app/constants/unknown.js.html +1 -1
  25. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-default-invoice-number.js.html +1 -1
  26. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-es-invoice-number.js.html +1 -1
  27. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-imps-invoice-number.js.html +1 -1
  28. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  29. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/create-standard-scheme-invoice-number.js.html +1 -1
  30. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.html +1 -1
  31. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/index.js.html +1 -1
  32. package/test-output/lcov-report/ffc-pay-schemes/app/create-invoice-number/use-invoice-number-as-is.js.html +1 -1
  33. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-default-invoice-number.js.html +1 -1
  34. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/create-siti-agri-invoice-number.js.html +1 -1
  35. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.html +1 -1
  36. package/test-output/lcov-report/ffc-pay-schemes/app/create-split-invoice-number/index.js.html +1 -1
  37. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/bps-map.js.html +1 -1
  38. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cohtc-map.js.html +1 -1
  39. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/cs-map.js.html +1 -1
  40. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/default-map.js.html +1 -1
  41. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/delinked-map.js.html +1 -1
  42. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.html +1 -1
  43. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/index.js.html +1 -1
  44. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/lump-sums-map.js.html +1 -1
  45. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/sfi-frps-map.js.html +1 -1
  46. package/test-output/lcov-report/ffc-pay-schemes/app/get-account-code-map/vet-visits-map.js.html +1 -1
  47. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-batch-properties.js.html +1 -1
  48. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-pillar.js.html +1 -1
  49. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-id-from-source-system.js.html +1 -1
  50. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-ids.js.html +1 -1
  51. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-name-from-scheme-id.js.html +1 -1
  52. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-names.js.html +1 -1
  53. package/test-output/lcov-report/ffc-pay-schemes/app/get-scheme-properties.js.html +1 -1
  54. package/test-output/lcov-report/ffc-pay-schemes/app/get-schemes.js.html +1 -1
  55. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-system-from-scheme-id.js.html +1 -1
  56. package/test-output/lcov-report/ffc-pay-schemes/app/get-source-systems.js.html +1 -1
  57. package/test-output/lcov-report/ffc-pay-schemes/app/index.html +19 -4
  58. package/test-output/lcov-report/ffc-pay-schemes/app/is-valid-scheme-id.js.html +115 -0
  59. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-does-not-require-ppas.js.html +1 -1
  60. package/test-output/lcov-report/ffc-pay-schemes/app/scheme-provides-accounting-values.js.html +1 -1
  61. package/test-output/lcov-report/ffc-pay-schemes/index.html +1 -1
  62. package/test-output/lcov-report/ffc-pay-schemes/index.js.html +1 -1
  63. package/test-output/lcov-report/index.html +9 -9
  64. package/test-output/lcov.info +17 -1
package/README.md CHANGED
@@ -27,6 +27,7 @@ const {
27
27
  getSchemes,
28
28
  getSourceSystemFromSchemeId,
29
29
  getSourceSystems,
30
+ isValidSchemeId,
30
31
  schemeDoesNotRequirePPAs,
31
32
  schemeProvidesAccountingValues
32
33
  } = require('ffc-pay-schemes')
@@ -45,6 +46,7 @@ const {
45
46
  - `getSchemes()` returns all supported schemes as an array of objects containing `schemeId`, `schemeName` and `sourceSystem`.
46
47
  - `getSourceSystemFromSchemeId(schemeId)` returns the source system name for a given `schemeId`.
47
48
  - `getSourceSystems()` returns all supported source systems.
49
+ - `isValidSchemeId(schemeId)` returns `true` if the scheme ID is recognised, or `false` if not, including converting the scheme ID to a numeric value first if required.
48
50
  - `schemeDoesNotRequirePPAs(schemeId)` returns `true` if Payment Hub does not support Post Payment Adjustments (PPAs) for a given `schemeId`; otherwise, it returns `false`.
49
51
  - `schemeProvidesAccountingValues(schemeId)` returns `true` if a given `schemeId` provides accounting values within its payment requests; otherwise, it returns `false`.
50
52
 
@@ -0,0 +1,10 @@
1
+ const schemeIds = require('./constants/scheme-ids')
2
+
3
+ const isValidSchemeId = (schemeId) => {
4
+ const numericSchemeId = Number(schemeId)
5
+ return Object.values(schemeIds).includes(numericSchemeId)
6
+ }
7
+
8
+ module.exports = {
9
+ isValidSchemeId
10
+ }
package/index.js CHANGED
@@ -11,6 +11,7 @@ const { getSchemeProperties } = require('./app/get-scheme-properties')
11
11
  const { getSchemes } = require('./app/get-schemes')
12
12
  const { getSourceSystemFromSchemeId } = require('./app/get-source-system-from-scheme-id')
13
13
  const { getSourceSystems } = require('./app/get-source-systems')
14
+ const { isValidSchemeId } = require('./app/is-valid-scheme-id')
14
15
  const { schemeDoesNotRequirePPAs } = require('./app/scheme-does-not-require-ppas')
15
16
  const { schemeProvidesAccountingValues } = require('./app/scheme-provides-accounting-values')
16
17
 
@@ -28,6 +29,7 @@ module.exports = {
28
29
  getSchemes,
29
30
  getSourceSystemFromSchemeId,
30
31
  getSourceSystems,
32
+ isValidSchemeId,
31
33
  schemeDoesNotRequirePPAs,
32
34
  schemeProvidesAccountingValues
33
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ffc-pay-schemes",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
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": {
@@ -0,0 +1,21 @@
1
+ const schemeIds = require('../../app/constants/scheme-ids')
2
+ const { isValidSchemeId } = require('../../app/is-valid-scheme-id')
3
+
4
+ describe('isValidSchemeId', () => {
5
+ test.each(Object.values(schemeIds))(
6
+ 'returns true for valid scheme ID: %i',
7
+ (schemeId) => {
8
+ expect(isValidSchemeId(schemeId)).toBe(true)
9
+ }
10
+ )
11
+
12
+ test('returns true for a valid scheme ID with surrounding whitespace', () => {
13
+ expect(isValidSchemeId(` ${schemeIds.SFI} `)).toBe(true)
14
+ })
15
+
16
+ test('returns false for a scheme ID not included in scheme IDs', () => {
17
+ const invalidSchemeId = Math.max(...Object.values(schemeIds)) + 1
18
+
19
+ expect(isValidSchemeId(invalidSchemeId)).toBe(false)
20
+ })
21
+ })
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" ?>
2
2
  <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
3
- <coverage lines-valid="243" lines-covered="227" line-rate="0.9340999999999999" branches-valid="54" branches-covered="54" branch-rate="1" timestamp="1788362739771" complexity="0" version="0.1">
3
+ <coverage lines-valid="248" lines-covered="232" line-rate="0.9354" branches-valid="54" branches-covered="54" branch-rate="1" timestamp="1788366461643" complexity="0" version="0.1">
4
4
  <sources>
5
5
  <source>/home/samplackett/ffc-pay-schemes</source>
6
6
  </sources>
@@ -246,6 +246,22 @@
246
246
  <line number="7" hits="1" branch="false"/>
247
247
  </lines>
248
248
  </class>
249
+ <class name="is-valid-scheme-id.js" filename="app/is-valid-scheme-id.js" line-rate="1" branch-rate="1">
250
+ <methods>
251
+ <method name="(anonymous_0)" hits="19" signature="()V">
252
+ <lines>
253
+ <line number="3" hits="19"/>
254
+ </lines>
255
+ </method>
256
+ </methods>
257
+ <lines>
258
+ <line number="1" hits="1" branch="false"/>
259
+ <line number="3" hits="1" branch="false"/>
260
+ <line number="4" hits="19" branch="false"/>
261
+ <line number="5" hits="19" branch="false"/>
262
+ <line number="8" hits="1" branch="false"/>
263
+ </lines>
264
+ </class>
249
265
  <class name="scheme-does-not-require-ppas.js" filename="app/scheme-does-not-require-ppas.js" line-rate="1" branch-rate="1">
250
266
  <methods>
251
267
  <method name="(anonymous_0)" hits="18" signature="()V">
@@ -320,7 +336,7 @@
320
336
  <methods>
321
337
  </methods>
322
338
  <lines>
323
- <line number="1" hits="9" branch="false"/>
339
+ <line number="1" hits="10" branch="false"/>
324
340
  </lines>
325
341
  </class>
326
342
  <class name="scheme-names.js" filename="app/constants/scheme-names.js" line-rate="1" branch-rate="1">