@natlibfi/melinda-commons 13.0.21 → 14.0.0-alpha.1

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.
@@ -0,0 +1,52 @@
1
+ // Eslint configuration object for src
2
+ const configSrc = {
3
+ files: [
4
+ "src/*"
5
+ ],
6
+ linterOptions: {
7
+ reportUnusedDisableDirectives: true,
8
+ },
9
+ rules: {
10
+ "no-console": "warn",
11
+ "eqeqeq": ["error", "always"],
12
+ "no-const-assign": "error",
13
+ "max-depth": ["warn", 4],
14
+ "max-lines": ["warn", 500],
15
+ "max-lines-per-function": ["warn", {"max": 100}],
16
+ "no-else-return": ["error", {allowElseIf: false}],
17
+ "no-plusplus": [
18
+ "error",
19
+ {
20
+ "allowForLoopAfterthoughts": true
21
+ }
22
+ ],
23
+ "array-callback-return": [
24
+ "error",
25
+ {
26
+ "checkForEach": true
27
+ }
28
+ ],
29
+ "no-unused-vars": [
30
+ "error",
31
+ {
32
+ "argsIgnorePattern": "next"
33
+ }
34
+ ],
35
+ "no-warning-comments": "off"
36
+ }
37
+ };
38
+
39
+ // Eslint configuration object for globally ignoring .js files
40
+ // - ignore all files that start with a dot
41
+ // - ignore all files inside directories named 'dist'
42
+ const configIgnores = {
43
+ ignores: [
44
+ "**/.*",
45
+ "**/dist/"
46
+ ]
47
+ };
48
+
49
+ export default [
50
+ configSrc,
51
+ configIgnores
52
+ ];
package/package.json CHANGED
@@ -14,115 +14,37 @@
14
14
  "url": "git@github.com:natlibfi/melinda-commons-js.git"
15
15
  },
16
16
  "license": "MIT",
17
- "version": "13.0.21",
17
+ "version": "14.0.0-alpha.1",
18
18
  "main": "./dist/index.js",
19
+ "type": "module",
19
20
  "engines": {
20
- "node": ">=18"
21
+ "node": ">=22"
21
22
  },
22
23
  "publishConfig": {
23
24
  "access": "public"
24
25
  },
25
26
  "scripts": {
26
27
  "prepare": "npm run build",
27
- "build": "babel ./src --source-maps --copy-files --delete-dir-on-start --out-dir=dist",
28
+ "build": "esbuild src/**/*.js --sourcemap --platform=node --main-fields=main --outdir=dist --allow-overwrite --analyze",
28
29
  "lint": "eslint ./src",
29
30
  "lint:dev": "eslint --fix ./src",
31
+ "test:base": "node --test --experimental-test-coverage --test-reporter=spec './src/*.test.js' './src/**/*.test.js'",
30
32
  "test": "npm run lint && npm run test:base",
31
- "test:base": "cross-env NODE_ENV=test nyc mocha --package ./package.json",
32
- "test:dev": "npm run lint:dev && npm run test:base && npm run coverage",
33
- "coverage": "nyc check-coverage --per-file",
34
- "watch:test": "cross-env DEBUG=@natlibfi/* NODE_ENV=test nodemon",
35
- "dev": "nodemon",
36
- "dev:debug": "cross-env LOG_LEVEL=debug DEBUG=@natlibfi/* NODE_ENV=test nodemon"
33
+ "watch:test": "cross-env DEBUG=@natlibfi/* NODE_ENV=test node --watch --test --experimental-test-coverage --test-reporter=spec './src/*.test.js' './src/**/*.test.js'",
34
+ "dev": "npm run watch:test",
35
+ "dev:debug": "cross-env LOG_LEVEL=debug DEBUG=@natlibfi/* NODE_ENV=test npm run watch:test"
37
36
  },
38
37
  "dependencies": {
39
- "@natlibfi/marc-record": "^9.1.5",
40
- "@natlibfi/marc-record-serializers": "^10.1.6",
41
- "@natlibfi/sru-client": "^6.0.18",
42
- "debug": "^4.4.1"
38
+ "@natlibfi/marc-record": "^10.0.0-alpha.1",
39
+ "@natlibfi/marc-record-serializers": "^11.0.0-alpha.2",
40
+ "@natlibfi/sru-client": "^7.0.0-alpha.1",
41
+ "debug": "^4.4.1",
42
+ "esbuild": "^0.25.8"
43
43
  },
44
44
  "devDependencies": {
45
- "@babel/cli": "^7.27.2",
46
- "@babel/core": "^7.27.4",
47
- "@babel/node": "^7.27.1",
48
- "@babel/plugin-transform-runtime": "^7.27.4",
49
- "@babel/preset-env": "^7.27.2",
50
- "@babel/register": "^7.27.1",
51
- "@babel/runtime": "^7.27.6",
52
- "@natlibfi/eslint-config-melinda-backend": "^3.0.6",
53
- "@natlibfi/fixugen-http-client": "^3.0.10",
54
- "@natlibfi/fixura": "^3.0.13",
55
- "babel-plugin-istanbul": "^7.0.0",
56
- "babel-plugin-rewire": "^1.2.0",
57
- "chai": "^4.5.0",
45
+ "@natlibfi/fixugen-http-client": "^4.0.0-alpha.1",
46
+ "@natlibfi/fixura": "^4.0.0-alpha.12",
58
47
  "cross-env": "^7.0.3",
59
- "eslint": "^8.57.1",
60
- "mocha": "^11.7.1",
61
- "nodemon": "^3.1.10",
62
- "nyc": "^17.1.0"
63
- },
64
- "eslintConfig": {
65
- "extends": "@natlibfi/melinda-backend"
66
- },
67
- "babel": {
68
- "plugins": [
69
- [
70
- "@babel/transform-runtime"
71
- ]
72
- ],
73
- "presets": [
74
- [
75
- "@babel/preset-env",
76
- {
77
- "targets": [
78
- "defaults",
79
- "maintained node versions"
80
- ]
81
- }
82
- ]
83
- ],
84
- "env": {
85
- "test": {
86
- "plugins": [
87
- "istanbul",
88
- "rewire"
89
- ]
90
- }
91
- }
92
- },
93
- "mocha": {
94
- "spec": [
95
- "src/*.spec.js",
96
- "src/**/*.spec.js"
97
- ],
98
- "require": [
99
- "@babel/register"
100
- ],
101
- "inline-diffs": true,
102
- "maxDiffSize": 25000,
103
- "bail": true,
104
- "exit": true
105
- },
106
- "nodemonConfig": {
107
- "exec": "npm run test:dev",
108
- "watch": [
109
- "src/*",
110
- "test-fixtures/*"
111
- ]
112
- },
113
- "nyc": {
114
- "exclude": [
115
- "src/*.spec.js",
116
- "src/**/*.spec.js"
117
- ],
118
- "reporter": [
119
- "text"
120
- ],
121
- "sourceMap": false,
122
- "instrument": false,
123
- "lines": 80,
124
- "statements": 80,
125
- "functions": 80,
126
- "branches": 80
48
+ "eslint": "^9.32.0"
127
49
  }
128
50
  }
package/src/error.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export default class extends Error {
2
2
  constructor(status, payload, ...params) {
3
3
  super(params);
4
- this.status = status; // eslint-disable-line functional/no-this-expressions
5
- this.payload = payload; // eslint-disable-line functional/no-this-expressions
4
+ this.status = status;
5
+ this.payload = payload;
6
6
  }
7
7
  }
@@ -0,0 +1,15 @@
1
+ import {describe, it} from 'node:test';
2
+ import assert from 'node:assert';
3
+ import CommonsError from './error.js';
4
+
5
+ describe('error', () => {
6
+ it('Should construct the expected instance', () => {
7
+ const error = new CommonsError(200, 'foobar');
8
+
9
+ assert(error instanceof Error);
10
+ assert.equal(Object.hasOwn(error, 'status'), true);
11
+ assert.equal(Object.hasOwn(error, 'payload'), true);
12
+ assert.equal(error.status, 200);
13
+ assert.equal(error.payload, 'foobar');
14
+ });
15
+ });
@@ -1,10 +1,10 @@
1
- import createSruClient from '@natlibfi/sru-client';
1
+ import {default as createSruClient} from '@natlibfi/sru-client';
2
2
  import {MARCXML} from '@natlibfi/marc-record-serializers';
3
3
  import createDebugLogger from 'debug';
4
- import {Error as ApiError} from './error';
4
+ import ApiError from './error.js';
5
5
 
6
6
  export function createSubrecordPicker(sruUrl, retrieveAll = false) {
7
- if (sruUrl === undefined) { // eslint-disable-line functional/no-conditional-statements
7
+ if (sruUrl === undefined) {
8
8
  throw new ApiError(400, 'Invalid sru url');
9
9
  }
10
10
 
@@ -20,7 +20,7 @@ export function createSubrecordPicker(sruUrl, retrieveAll = false) {
20
20
  const promises = [];
21
21
  sruClient.searchRetrieve(`melinda.partsofhost=${recordId}`, {startRecord: offset})
22
22
  .on('record', xmlString => {
23
- promises.push(MARCXML.from(xmlString, {subfieldValues: false})); // eslint-disable-line functional/immutable-data
23
+ promises.push(MARCXML.from(xmlString, {subfieldValues: false}));
24
24
  })
25
25
  .on('end', async nextRecordOffset => {
26
26
  try {
@@ -40,7 +40,7 @@ export function createSubrecordPicker(sruUrl, retrieveAll = false) {
40
40
  const promises = [];
41
41
  sruClient.searchRetrieve(`melinda.partsofhost=${recordId}`)
42
42
  .on('record', xmlString => {
43
- promises.push(MARCXML.from(xmlString, {subfieldValues: false})); // eslint-disable-line functional/immutable-data
43
+ promises.push(MARCXML.from(xmlString, {subfieldValues: false}));
44
44
  })
45
45
  .on('end', async () => {
46
46
  try {
@@ -1,7 +1,8 @@
1
- import {expect} from 'chai';
2
- import {createSubrecordPicker} from './subRecordPicker';
1
+ import {describe, it} from 'node:test';
2
+ import assert from 'node:assert';
3
3
  import {READERS} from '@natlibfi/fixura';
4
4
  import generateTests from '@natlibfi/fixugen-http-client';
5
+ import {createSubrecordPicker} from './subRecordPicker.js';
5
6
 
6
7
  describe('subRecordPicker', () => {
7
8
  const sruUrl = 'https://sru';
@@ -10,24 +11,32 @@ describe('subRecordPicker', () => {
10
11
  describe('createSubrecordPicker', () => {
11
12
  it('Client should have methods', () => {
12
13
  const client = createSubrecordPicker(sruUrl, retrieveAll);
13
- expect(client).to.respondTo('readAllSubrecords');
14
- expect(client).to.respondTo('readSomeSubrecords');
14
+ // expect(client).to.respondTo('readAllSubrecords');
15
+ // expect(client).to.respondTo('readSomeSubrecords');
16
+ assert(typeof client.readAllSubrecords, 'function');
17
+ assert(typeof client.readSomeSubrecords, 'function');
15
18
  });
16
19
 
17
20
  it('Create client should work with just one parametter', () => {
18
21
  const client = createSubrecordPicker(sruUrl);
19
- expect(client).to.respondTo('readAllSubrecords');
20
- expect(client).to.respondTo('readSomeSubrecords');
22
+ // expect(client).to.respondTo('readAllSubrecords');
23
+ // expect(client).to.respondTo('readSomeSubrecords');
24
+ assert(typeof client.readAllSubrecords, 'function');
25
+ assert(typeof client.readSomeSubrecords, 'function');
21
26
  });
22
27
 
23
28
  it('Create client should have at least one parametter', () => {
24
- expect(createSubrecordPicker).to.throw();
29
+ try {
30
+ createSubrecordPicker();
31
+ } catch (error) {
32
+ assert.equal(error.payload, 'Invalid sru url');
33
+ }
25
34
  });
26
35
  });
27
36
 
28
37
  generateTests({
29
38
  callback,
30
- path: [__dirname, '..', 'test-fixtures', 'subRecordPicker']
39
+ path: [import.meta.dirname, '..', 'test-fixtures', 'subRecordPicker']
31
40
  });
32
41
 
33
42
  async function callback({getFixture, method, sruUrl, retrieveAll, recordId}) {
@@ -35,7 +44,7 @@ describe('subRecordPicker', () => {
35
44
  const expectedRecords = getFixture({components: ['expected-records.json'], reader: READERS.JSON});
36
45
  const {records} = await client[method](recordId);
37
46
 
38
- expect(format()).to.eql(expectedRecords);
47
+ assert.deepStrictEqual(format(), expectedRecords);
39
48
 
40
49
  function format() {
41
50
  return records.map(r => r.toObject());
@@ -1,21 +1,22 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import {expect} from 'chai';
3
+ import {describe, it} from 'node:test';
4
+ import assert from 'node:assert';
4
5
  import {MarcRecord} from '@natlibfi/marc-record';
5
6
  import {
6
7
  generateAuthorizationHeader, isDeletedRecord, parseBoolean, clone,
7
8
  getRecordTitle, getRecordStandardIdentifiers
8
- } from './utils';
9
+ } from './utils.js';
9
10
 
10
11
  MarcRecord.setValidationOptions({subfieldValues: false});
11
12
 
12
- const FIXTURES_PATH = path.join(__dirname, '../test-fixtures/utils');
13
+ const FIXTURES_PATH = path.join(import.meta.dirname, '../test-fixtures/utils');
13
14
 
14
15
  describe('utils', () => {
15
16
  describe('generateAuthorizationHeader', () => {
16
17
  it('Should create a proper Authorization header', () => {
17
18
  const value = generateAuthorizationHeader('foo', 'bar');
18
- expect(value).to.equal('Basic Zm9vOmJhcg==');
19
+ assert.equal(value, 'Basic Zm9vOmJhcg==');
19
20
  });
20
21
  });
21
22
 
@@ -23,83 +24,83 @@ describe('utils', () => {
23
24
  it('Should find the record deleted (Leader)', () => {
24
25
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record1.json'), 'utf8');
25
26
  const record = new MarcRecord(JSON.parse(data));
26
- expect(isDeletedRecord(record)).to.equal(true);
27
+ assert.equal(isDeletedRecord(record), true);
27
28
  });
28
29
 
29
30
  it('Should find the record deleted (DEL)', () => {
30
31
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record2.json'), 'utf8');
31
32
  const record = new MarcRecord(JSON.parse(data));
32
- expect(isDeletedRecord(record)).to.equal(true);
33
+ assert.equal(isDeletedRecord(record), true);
33
34
  });
34
35
 
35
36
  it('Should find the record deleted (STA)', () => {
36
37
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record3.json'), 'utf8');
37
38
  const record = new MarcRecord(JSON.parse(data));
38
- expect(isDeletedRecord(record)).to.equal(true);
39
+ assert.equal(isDeletedRecord(record), true);
39
40
  });
40
41
 
41
42
  it('Should find the record not deleted', () => {
42
43
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record4.json'), 'utf8');
43
44
  const record = new MarcRecord(JSON.parse(data));
44
- expect(isDeletedRecord(record)).to.equal(false);
45
+ assert.equal(isDeletedRecord(record), false);
45
46
  });
46
47
 
47
48
  it('Should find the record deleted (Split)', () => {
48
49
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record5.json'), 'utf8');
49
50
  const record = new MarcRecord(JSON.parse(data));
50
- expect(isDeletedRecord(record)).to.equal(true);
51
+ assert.equal(isDeletedRecord(record), true);
51
52
  });
52
53
 
53
54
  it('Should find the record deleted (Deprecated)', () => {
54
55
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record6.json'), 'utf8');
55
56
  const record = new MarcRecord(JSON.parse(data));
56
- expect(isDeletedRecord(record)).to.equal(true);
57
+ assert.equal(isDeletedRecord(record), true);
57
58
  });
58
59
 
59
60
  it('Should find the record deleted (Split (Aleph))', () => {
60
61
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record7.json'), 'utf8');
61
62
  const record = new MarcRecord(JSON.parse(data));
62
- expect(isDeletedRecord(record)).to.equal(true);
63
+ assert.equal(isDeletedRecord(record), true);
63
64
  });
64
65
 
65
66
  it('Should find the record deleted (Deprecated (Aleph))', () => {
66
67
  const data = fs.readFileSync(path.join(FIXTURES_PATH, 'isDeletedRecord/record8.json'), 'utf8');
67
68
  const record = new MarcRecord(JSON.parse(data));
68
- expect(isDeletedRecord(record)).to.equal(true);
69
+ assert.equal(isDeletedRecord(record), true);
69
70
  });
70
71
  });
71
72
 
72
73
  describe('parseBoolean', () => {
73
74
  it('Should parse undefined as false', () => {
74
- expect(parseBoolean(undefined)).to.equal(false);
75
+ assert.equal(parseBoolean(undefined), false);
75
76
  });
76
77
 
77
78
  it('Should parse zero-length string as false', () => {
78
- expect(parseBoolean('')).to.equal(false);
79
+ assert.equal(parseBoolean(''), false);
79
80
  });
80
81
 
81
82
  it('Should parse numericish value as true', () => {
82
- expect(parseBoolean('1')).to.equal(true);
83
+ assert.equal(parseBoolean('1'), true);
83
84
  });
84
85
 
85
86
  it('Should parse numericush value as false', () => {
86
- expect(parseBoolean('0')).to.equal(false);
87
+ assert.equal(parseBoolean('0'), false);
87
88
  });
88
89
 
89
90
  it('Should parse literal \'false\' value as false', () => {
90
- expect(parseBoolean('false')).to.equal(false);
91
+ assert.equal(parseBoolean('false'), false);
91
92
  });
92
93
 
93
94
  it('Should parse non-numericish value as true', () => {
94
- expect(parseBoolean('foo')).to.equal(true);
95
+ assert.equal(parseBoolean('foo'), true);
95
96
  });
96
97
 
97
98
  it('Should parse literal \'FALSE\' value as false', () => {
98
- expect(parseBoolean('FALSE')).to.equal(false);
99
+ assert.equal(parseBoolean('FALSE'), false);
99
100
  });
100
101
 
101
102
  it('Should parse literal \'FAlsE\' value as false', () => {
102
- expect(parseBoolean('FAlsE')).to.equal(false);
103
+ assert.equal(parseBoolean('FAlsE'), false);
103
104
  });
104
105
 
105
106
  });
@@ -114,7 +115,7 @@ describe('utils', () => {
114
115
  const recordData = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordTitle/record${index}.json`), 'utf8');
115
116
  const record = new MarcRecord(JSON.parse(recordData));
116
117
 
117
- expect(getRecordTitle(record)).to.equal(title);
118
+ assert.equal(getRecordTitle(record), title);
118
119
  });
119
120
  });
120
121
  });
@@ -129,18 +130,18 @@ describe('utils', () => {
129
130
  const recordData = fs.readFileSync(path.join(FIXTURES_PATH, `getRecordStandardIdentifiers/record${index}.json`), 'utf8');
130
131
  const record = new MarcRecord(JSON.parse(recordData));
131
132
 
132
- expect(getRecordStandardIdentifiers(record)).to.eql(identifiers);
133
+ assert.deepStrictEqual(getRecordStandardIdentifiers(record), identifiers);
133
134
  });
134
135
  });
135
136
  });
136
137
 
137
138
  describe('clone', () => {
138
- it('Should clone an object', (index = '1') => {
139
- const obj = JSON.parse(fs.readFileSync(path.join(FIXTURES_PATH, `clone/${index}/obj.json`), 'utf8'));
139
+ it('Should clone an object', () => {
140
+ const obj = JSON.parse(fs.readFileSync(path.join(FIXTURES_PATH, `clone/1/obj.json`), 'utf8'));
140
141
  const cloned = clone(obj);
141
142
 
142
- expect(obj).to.not.equal(cloned);
143
- expect(cloned).to.eql(obj);
143
+ assert.equal(Object.is(obj, cloned), false);
144
+ assert.deepStrictEqual(cloned, obj);
144
145
  });
145
146
  });
146
147
  });
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _chai = require("chai");
5
- var _error = _interopRequireDefault(require("./error"));
6
- describe('error', () => {
7
- it('Should construct the expected instance', () => {
8
- const error = new _error.default(200, 'foobar');
9
- (0, _chai.expect)(error).to.be.an.instanceOf(Error);
10
- (0, _chai.expect)(error.status).to.equal(200);
11
- (0, _chai.expect)(error.payload).to.equal('foobar');
12
- });
13
- });
14
- //# sourceMappingURL=error.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.spec.js","names":["_chai","require","_error","_interopRequireDefault","describe","it","error","CommonsError","expect","to","be","an","instanceOf","Error","status","equal","payload"],"sources":["../src/error.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport CommonsError from './error';\n\ndescribe('error', () => {\n it('Should construct the expected instance', () => {\n const error = new CommonsError(200, 'foobar');\n\n expect(error).to.be.an.instanceOf(Error);\n expect(error.status).to.equal(200);\n expect(error.payload).to.equal('foobar');\n });\n});\n"],"mappings":";;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEAG,QAAQ,CAAC,OAAO,EAAE,MAAM;EACtBC,EAAE,CAAC,wCAAwC,EAAE,MAAM;IACjD,MAAMC,KAAK,GAAG,IAAIC,cAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;IAE7C,IAAAC,YAAM,EAACF,KAAK,CAAC,CAACG,EAAE,CAACC,EAAE,CAACC,EAAE,CAACC,UAAU,CAACC,KAAK,CAAC;IACxC,IAAAL,YAAM,EAACF,KAAK,CAACQ,MAAM,CAAC,CAACL,EAAE,CAACM,KAAK,CAAC,GAAG,CAAC;IAClC,IAAAP,YAAM,EAACF,KAAK,CAACU,OAAO,CAAC,CAACP,EAAE,CAACM,KAAK,CAAC,QAAQ,CAAC;EAC1C,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _chai = require("chai");
5
- var _subRecordPicker = require("./subRecordPicker");
6
- var _fixura = require("@natlibfi/fixura");
7
- var _fixugenHttpClient = _interopRequireDefault(require("@natlibfi/fixugen-http-client"));
8
- describe('subRecordPicker', () => {
9
- const sruUrl = 'https://sru';
10
- const retrieveAll = false;
11
- describe('createSubrecordPicker', () => {
12
- it('Client should have methods', () => {
13
- const client = (0, _subRecordPicker.createSubrecordPicker)(sruUrl, retrieveAll);
14
- (0, _chai.expect)(client).to.respondTo('readAllSubrecords');
15
- (0, _chai.expect)(client).to.respondTo('readSomeSubrecords');
16
- });
17
- it('Create client should work with just one parametter', () => {
18
- const client = (0, _subRecordPicker.createSubrecordPicker)(sruUrl);
19
- (0, _chai.expect)(client).to.respondTo('readAllSubrecords');
20
- (0, _chai.expect)(client).to.respondTo('readSomeSubrecords');
21
- });
22
- it('Create client should have at least one parametter', () => {
23
- (0, _chai.expect)(_subRecordPicker.createSubrecordPicker).to.throw();
24
- });
25
- });
26
- (0, _fixugenHttpClient.default)({
27
- callback,
28
- path: [__dirname, '..', 'test-fixtures', 'subRecordPicker']
29
- });
30
- async function callback({
31
- getFixture,
32
- method,
33
- sruUrl,
34
- retrieveAll,
35
- recordId
36
- }) {
37
- const client = (0, _subRecordPicker.createSubrecordPicker)(sruUrl, retrieveAll);
38
- const expectedRecords = getFixture({
39
- components: ['expected-records.json'],
40
- reader: _fixura.READERS.JSON
41
- });
42
- const {
43
- records
44
- } = await client[method](recordId);
45
- (0, _chai.expect)(format()).to.eql(expectedRecords);
46
- function format() {
47
- return records.map(r => r.toObject());
48
- }
49
- }
50
- });
51
- //# sourceMappingURL=subRecordPicker.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subRecordPicker.spec.js","names":["_chai","require","_subRecordPicker","_fixura","_fixugenHttpClient","_interopRequireDefault","describe","sruUrl","retrieveAll","it","client","createSubrecordPicker","expect","to","respondTo","throw","generateTests","callback","path","__dirname","getFixture","method","recordId","expectedRecords","components","reader","READERS","JSON","records","format","eql","map","r","toObject"],"sources":["../src/subRecordPicker.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {createSubrecordPicker} from './subRecordPicker';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen-http-client';\n\ndescribe('subRecordPicker', () => {\n const sruUrl = 'https://sru';\n const retrieveAll = false;\n\n describe('createSubrecordPicker', () => {\n it('Client should have methods', () => {\n const client = createSubrecordPicker(sruUrl, retrieveAll);\n expect(client).to.respondTo('readAllSubrecords');\n expect(client).to.respondTo('readSomeSubrecords');\n });\n\n it('Create client should work with just one parametter', () => {\n const client = createSubrecordPicker(sruUrl);\n expect(client).to.respondTo('readAllSubrecords');\n expect(client).to.respondTo('readSomeSubrecords');\n });\n\n it('Create client should have at least one parametter', () => {\n expect(createSubrecordPicker).to.throw();\n });\n });\n\n generateTests({\n callback,\n path: [__dirname, '..', 'test-fixtures', 'subRecordPicker']\n });\n\n async function callback({getFixture, method, sruUrl, retrieveAll, recordId}) {\n const client = createSubrecordPicker(sruUrl, retrieveAll);\n const expectedRecords = getFixture({components: ['expected-records.json'], reader: READERS.JSON});\n const {records} = await client[method](recordId);\n\n expect(format()).to.eql(expectedRecords);\n\n function format() {\n return records.map(r => r.toObject());\n }\n }\n});\n"],"mappings":";;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEAK,QAAQ,CAAC,iBAAiB,EAAE,MAAM;EAChC,MAAMC,MAAM,GAAG,aAAa;EAC5B,MAAMC,WAAW,GAAG,KAAK;EAEzBF,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACtCG,EAAE,CAAC,4BAA4B,EAAE,MAAM;MACrC,MAAMC,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,EAAEC,WAAW,CAAC;MACzD,IAAAI,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;MAChD,IAAAF,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,oBAAoB,CAAC;IACnD,CAAC,CAAC;IAEFL,EAAE,CAAC,oDAAoD,EAAE,MAAM;MAC7D,MAAMC,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,CAAC;MAC5C,IAAAK,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,mBAAmB,CAAC;MAChD,IAAAF,YAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,SAAS,CAAC,oBAAoB,CAAC;IACnD,CAAC,CAAC;IAEFL,EAAE,CAAC,mDAAmD,EAAE,MAAM;MAC5D,IAAAG,YAAM,EAACD,sCAAqB,CAAC,CAACE,EAAE,CAACE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,IAAAC,0BAAa,EAAC;IACZC,QAAQ;IACRC,IAAI,EAAE,CAACC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB;EAC5D,CAAC,CAAC;EAEF,eAAeF,QAAQA,CAAC;IAACG,UAAU;IAAEC,MAAM;IAAEd,MAAM;IAAEC,WAAW;IAAEc;EAAQ,CAAC,EAAE;IAC3E,MAAMZ,MAAM,GAAG,IAAAC,sCAAqB,EAACJ,MAAM,EAAEC,WAAW,CAAC;IACzD,MAAMe,eAAe,GAAGH,UAAU,CAAC;MAACI,UAAU,EAAE,CAAC,uBAAuB,CAAC;MAAEC,MAAM,EAAEC,eAAO,CAACC;IAAI,CAAC,CAAC;IACjG,MAAM;MAACC;IAAO,CAAC,GAAG,MAAMlB,MAAM,CAACW,MAAM,CAAC,CAACC,QAAQ,CAAC;IAEhD,IAAAV,YAAM,EAACiB,MAAM,CAAC,CAAC,CAAC,CAAChB,EAAE,CAACiB,GAAG,CAACP,eAAe,CAAC;IAExC,SAASM,MAAMA,CAAA,EAAG;MAChB,OAAOD,OAAO,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC;IACvC;EACF;AACF,CAAC,CAAC","ignoreList":[]}