@natlibfi/marc-record-merge 7.0.10-alpha.1 → 8.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.
- package/.github/workflows/melinda-node-tests.yml +3 -3
- package/dist/index.js +20 -58
- package/dist/index.js.map +7 -1
- package/dist/reducers/copy.js +78 -148
- package/dist/reducers/copy.js.map +7 -1
- package/dist/reducers/index.js +4 -17
- package/dist/reducers/index.js.map +7 -1
- package/dist/reducers/select.js +36 -84
- package/dist/reducers/select.js.map +7 -1
- package/eslint.config.mjs +52 -0
- package/package.json +18 -87
- package/src/index.js +1 -1
- package/src/reducers/copy.js +1 -4
- package/src/reducers/index.js +2 -2
- package/src/reducers/select.js +2 -2
- package/{src/index.spec.js → test/index.test.js} +4 -5
- package/{src/reducers/copy.spec.js → test/reducers/copy.test.js} +7 -6
- package/{src/reducers/copy2.spec.js → test/reducers/copy2.test.js} +7 -6
- package/test/reducers/select.test.js +61 -0
- package/test/reducers/select2.test.js +61 -0
- package/test-fixtures/reducers/select/01/metadata.json +5 -1
- package/dist/index.spec.js +0 -58
- package/dist/index.spec.js.map +0 -1
- package/dist/reducers/copy.spec.js +0 -64
- package/dist/reducers/copy.spec.js.map +0 -1
- package/dist/reducers/copy2.spec.js +0 -67
- package/dist/reducers/copy2.spec.js.map +0 -1
- package/dist/reducers/select.spec.js +0 -54
- package/dist/reducers/select.spec.js.map +0 -1
- package/dist/reducers/select2.spec.js +0 -57
- package/dist/reducers/select2.spec.js.map +0 -1
- package/src/reducers/select.spec.js +0 -49
- package/src/reducers/select2.spec.js +0 -49
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import {MarcRecord} from '@natlibfi/marc-record';
|
|
3
|
+
import createReducer, {subsetEquality} from '../../src/reducers/select.js';
|
|
4
|
+
import {READERS} from '@natlibfi/fixura';
|
|
5
|
+
import generateTests from '@natlibfi/fixugen';
|
|
6
|
+
import createDebugLogger from 'debug';
|
|
7
|
+
|
|
8
|
+
MarcRecord.setValidationOptions({subfieldValues: false});
|
|
9
|
+
const debug = createDebugLogger('@natlibfi/marc-record-merge:reducers:select2:test');
|
|
10
|
+
const debugData = debug.extend('data');
|
|
11
|
+
|
|
12
|
+
generateTests({
|
|
13
|
+
callback,
|
|
14
|
+
path: [import.meta.dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],
|
|
15
|
+
useMetadataFile: true,
|
|
16
|
+
recurse: false,
|
|
17
|
+
fixura: {
|
|
18
|
+
reader: READERS.JSON,
|
|
19
|
+
failWhenNotFound: false
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
function callback({
|
|
24
|
+
getFixture,
|
|
25
|
+
tagPatternRegExp = false,
|
|
26
|
+
expectedToThrow = false,
|
|
27
|
+
expectedError = false,
|
|
28
|
+
useSubsetEquality = false
|
|
29
|
+
}) {
|
|
30
|
+
// const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});
|
|
31
|
+
// const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});
|
|
32
|
+
|
|
33
|
+
const base = getFixture('base.json');
|
|
34
|
+
const source = getFixture('source.json');
|
|
35
|
+
|
|
36
|
+
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
37
|
+
const expectedRecord = getFixture('merged.json');
|
|
38
|
+
const equalityFunction = useSubsetEquality ? subsetEquality : undefined;
|
|
39
|
+
|
|
40
|
+
// Check expected error in testing
|
|
41
|
+
if (expectedToThrow || expectedError) {
|
|
42
|
+
debugData(`Expecting error: ${expectedToThrow}, ${expectedError}`);
|
|
43
|
+
try {
|
|
44
|
+
debug(`Trying to run merge`);
|
|
45
|
+
const mergedRecord = createReducer({tagPattern, equalityFunction})(base, source);
|
|
46
|
+
debugData(mergedRecord);
|
|
47
|
+
throw new Error('Expected an error');
|
|
48
|
+
} catch (err) {
|
|
49
|
+
debug(`Got error: ${err.message}`);
|
|
50
|
+
//assert.equal(typeof err, 'error');
|
|
51
|
+
assert.ok(err instanceof Error);
|
|
52
|
+
assert.match(err.message, new RegExp(expectedError, 'u'));
|
|
53
|
+
//expect(err.payload).to.match(new RegExp(expectedError, 'u'));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// select2 tests reducer where we have ({base, source}) object argument as input
|
|
59
|
+
const mergedRecord = createReducer({tagPattern, equalityFunction})({base, source});
|
|
60
|
+
assert.deepEqual(mergedRecord, expectedRecord);
|
|
61
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "The field is a control field (contains 'value') --> error message",
|
|
3
3
|
"tagPatternRegExp": "^010$",
|
|
4
|
-
"
|
|
4
|
+
"expectedToThrow": true,
|
|
5
|
+
"expectedError": "Record is invalid: instance.fields\\[1\\] is not any of \\[subschema 0\\],\\[subschema 1\\]",
|
|
6
|
+
"oldExpectedError": "Invalid control field, expected data field",
|
|
7
|
+
"skip": false,
|
|
8
|
+
"only": false
|
|
5
9
|
}
|
package/dist/index.spec.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _index = _interopRequireWildcard(require("./index"));
|
|
4
|
-
var _util = require("util");
|
|
5
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
6
|
-
var _chai = require("chai");
|
|
7
|
-
var _marcRecord = require("@natlibfi/marc-record");
|
|
8
|
-
var _fixura = require("@natlibfi/fixura");
|
|
9
|
-
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
-
(0, _fixugen.default)({
|
|
13
|
-
callback,
|
|
14
|
-
path: [__dirname, '..', 'test-fixtures', 'index'],
|
|
15
|
-
recurse: false,
|
|
16
|
-
useMetadataFile: true,
|
|
17
|
-
fixura: {
|
|
18
|
-
failWhenNotFound: false,
|
|
19
|
-
reader: _fixura.READERS.JSON
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
function callback({
|
|
23
|
-
getFixture,
|
|
24
|
-
reducerConfigs = []
|
|
25
|
-
}) {
|
|
26
|
-
const base = new _marcRecord.MarcRecord(getFixture('base.json'), {
|
|
27
|
-
subfieldValues: false
|
|
28
|
-
});
|
|
29
|
-
const source = new _marcRecord.MarcRecord(getFixture('source.json'), {
|
|
30
|
-
subfieldValues: false
|
|
31
|
-
});
|
|
32
|
-
const expectedRecord = getFixture('merged.json');
|
|
33
|
-
const debug = (0, _debug.default)('@natlibfi/melinda-marc-record-merge-reducers:index:test');
|
|
34
|
-
const debugData = debug.extend('data');
|
|
35
|
-
const testReducerConfigs = reducerConfigs;
|
|
36
|
-
const reducers = [...testReducerConfigs.map(conf => _index.Reducers.copy(conf))];
|
|
37
|
-
debugData(`Reducers: ${(0, _util.inspect)(reducers, {
|
|
38
|
-
colors: true,
|
|
39
|
-
maxArrayLength: 10,
|
|
40
|
-
depth: 8
|
|
41
|
-
})})}`);
|
|
42
|
-
const result = (0, _index.default)({
|
|
43
|
-
base,
|
|
44
|
-
source,
|
|
45
|
-
reducers
|
|
46
|
-
});
|
|
47
|
-
debug(`Merge result is: ${result.constructor.name}`);
|
|
48
|
-
debugData(`${JSON.stringify(result)}`);
|
|
49
|
-
|
|
50
|
-
// Use either result.base or a plain result as resultRecord
|
|
51
|
-
// It can also be a MarcRecord or a plain object
|
|
52
|
-
const resultRecord = result.base || result;
|
|
53
|
-
const resultRecordToRecord = new _marcRecord.MarcRecord(resultRecord, {
|
|
54
|
-
subfieldValues: false
|
|
55
|
-
});
|
|
56
|
-
(0, _chai.expect)(resultRecordToRecord.toObject()).to.eql(expectedRecord);
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=index.spec.js.map
|
package/dist/index.spec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.spec.js","names":["_index","_interopRequireWildcard","require","_util","_debug","_interopRequireDefault","_chai","_marcRecord","_fixura","_fixugen","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","generateTests","callback","path","__dirname","recurse","useMetadataFile","fixura","failWhenNotFound","reader","READERS","JSON","getFixture","reducerConfigs","base","MarcRecord","subfieldValues","source","expectedRecord","debug","createDebugLogger","debugData","extend","testReducerConfigs","reducers","map","conf","Reducers","copy","inspect","colors","maxArrayLength","depth","result","merger","constructor","name","stringify","resultRecord","resultRecordToRecord","expect","toObject","to","eql"],"sources":["../src/index.spec.js"],"sourcesContent":["import merger, {Reducers} from './index';\nimport {inspect} from 'util';\nimport createDebugLogger from 'debug';\nimport {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen';\n\ngenerateTests({\n callback,\n path: [__dirname, '..', 'test-fixtures', 'index'],\n recurse: false,\n useMetadataFile: true,\n fixura: {\n failWhenNotFound: false,\n reader: READERS.JSON\n }\n});\n\nfunction callback({getFixture, reducerConfigs = []}) {\n const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});\n const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});\n const expectedRecord = getFixture('merged.json');\n\n const debug = createDebugLogger('@natlibfi/melinda-marc-record-merge-reducers:index:test');\n const debugData = debug.extend('data');\n\n const testReducerConfigs = reducerConfigs;\n const reducers = [...testReducerConfigs.map(conf => Reducers.copy(conf))];\n\n debugData(`Reducers: ${inspect(reducers, {colors: true, maxArrayLength: 10, depth: 8})})}`);\n\n const result = merger({base, source, reducers});\n\n debug(`Merge result is: ${result.constructor.name}`);\n debugData(`${JSON.stringify(result)}`);\n\n // Use either result.base or a plain result as resultRecord\n // It can also be a MarcRecord or a plain object\n const resultRecord = result.base || result;\n const resultRecordToRecord = new MarcRecord(resultRecord, {subfieldValues: false});\n expect(resultRecordToRecord.toObject()).to.eql(expectedRecord);\n\n\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _chai = require("chai");
|
|
4
|
-
var _fixura = require("@natlibfi/fixura");
|
|
5
|
-
var _copy = _interopRequireDefault(require("./copy"));
|
|
6
|
-
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
//import createDebugLogger from 'debug'; // <---
|
|
9
|
-
//const debug = createDebugLogger('@natlibfi/marc-record-merge/copy.spec.js'); // <---
|
|
10
|
-
|
|
11
|
-
(0, _fixugen.default)({
|
|
12
|
-
callback,
|
|
13
|
-
path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'copy'],
|
|
14
|
-
useMetadataFile: true,
|
|
15
|
-
recurse: true,
|
|
16
|
-
fixura: {
|
|
17
|
-
reader: _fixura.READERS.JSON,
|
|
18
|
-
failWhenNotFound: false
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
function callback({
|
|
22
|
-
getFixture,
|
|
23
|
-
tagPatternRegExp,
|
|
24
|
-
compareTagsOnly = false,
|
|
25
|
-
compareWithoutTag = false,
|
|
26
|
-
compareWithoutIndicators = false,
|
|
27
|
-
compareWithoutIndicator1 = false,
|
|
28
|
-
compareWithoutIndicator2 = false,
|
|
29
|
-
subfieldsMustBeIdentical = false,
|
|
30
|
-
copyUnless = undefined,
|
|
31
|
-
excludeSubfields = undefined,
|
|
32
|
-
dropSubfields = undefined,
|
|
33
|
-
swapSubfieldCode = [],
|
|
34
|
-
swapTag = [],
|
|
35
|
-
doNotCopyIfFieldPresent = false
|
|
36
|
-
}) {
|
|
37
|
-
const base = getFixture('base.json');
|
|
38
|
-
const source = getFixture('source.json');
|
|
39
|
-
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
40
|
-
const expectedRecord = getFixture('merged.json');
|
|
41
|
-
const merged = (0, _copy.default)({
|
|
42
|
-
tagPattern,
|
|
43
|
-
compareTagsOnly,
|
|
44
|
-
compareWithoutTag,
|
|
45
|
-
compareWithoutIndicators,
|
|
46
|
-
compareWithoutIndicator1,
|
|
47
|
-
compareWithoutIndicator2,
|
|
48
|
-
copyUnless,
|
|
49
|
-
subfieldsMustBeIdentical,
|
|
50
|
-
excludeSubfields,
|
|
51
|
-
dropSubfields,
|
|
52
|
-
swapSubfieldCode,
|
|
53
|
-
swapTag,
|
|
54
|
-
doNotCopyIfFieldPresent
|
|
55
|
-
})(base, source);
|
|
56
|
-
//debug(`*** mergedRecord: `, mergedRecord); //<--
|
|
57
|
-
//debug(`*** mergedRecord,Strfy: `, JSON.stringify(mergedRecord)); //<--
|
|
58
|
-
//debug(`*** expectedRecord: `, expectedRecord); //<--
|
|
59
|
-
//debug(`*** expectedRecord,Strfy: `, JSON.stringify(expectedRecord)); //<--
|
|
60
|
-
(0, _chai.expect)(merged.constructor.name).not.to.eql('MarcRecord');
|
|
61
|
-
(0, _chai.expect)(merged.constructor.name).to.eql('Object');
|
|
62
|
-
(0, _chai.expect)(merged).to.eql(expectedRecord);
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=copy.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy.spec.js","names":["_chai","require","_fixura","_copy","_interopRequireDefault","_fixugen","e","__esModule","default","generateTests","callback","path","__dirname","useMetadataFile","recurse","fixura","reader","READERS","JSON","failWhenNotFound","getFixture","tagPatternRegExp","compareTagsOnly","compareWithoutTag","compareWithoutIndicators","compareWithoutIndicator1","compareWithoutIndicator2","subfieldsMustBeIdentical","copyUnless","undefined","excludeSubfields","dropSubfields","swapSubfieldCode","swapTag","doNotCopyIfFieldPresent","base","source","tagPattern","RegExp","expectedRecord","merged","createReducer","expect","constructor","name","not","to","eql"],"sources":["../../src/reducers/copy.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {READERS} from '@natlibfi/fixura';\nimport createReducer from './copy';\nimport generateTests from '@natlibfi/fixugen';\n\n//import createDebugLogger from 'debug'; // <---\n//const debug = createDebugLogger('@natlibfi/marc-record-merge/copy.spec.js'); // <---\n\ngenerateTests({\n callback,\n path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'copy'],\n useMetadataFile: true,\n recurse: true,\n fixura: {\n reader: READERS.JSON,\n failWhenNotFound: false\n }\n});\n\nfunction callback({\n getFixture,\n tagPatternRegExp,\n compareTagsOnly = false,\n compareWithoutTag = false,\n compareWithoutIndicators = false,\n compareWithoutIndicator1 = false,\n compareWithoutIndicator2 = false,\n subfieldsMustBeIdentical = false,\n copyUnless = undefined,\n excludeSubfields = undefined,\n dropSubfields = undefined,\n swapSubfieldCode = [],\n swapTag = [],\n doNotCopyIfFieldPresent = false\n}) {\n const base = getFixture('base.json');\n const source = getFixture('source.json');\n const tagPattern = new RegExp(tagPatternRegExp, 'u');\n const expectedRecord = getFixture('merged.json');\n\n const merged = createReducer({\n tagPattern, compareTagsOnly, compareWithoutTag, compareWithoutIndicators, compareWithoutIndicator1, compareWithoutIndicator2,\n copyUnless, subfieldsMustBeIdentical, excludeSubfields,\n dropSubfields, swapSubfieldCode, swapTag,\n doNotCopyIfFieldPresent\n })(base, source);\n //debug(`*** mergedRecord: `, mergedRecord); //<--\n //debug(`*** mergedRecord,Strfy: `, JSON.stringify(mergedRecord)); //<--\n //debug(`*** expectedRecord: `, expectedRecord); //<--\n //debug(`*** expectedRecord,Strfy: `, JSON.stringify(expectedRecord)); //<--\n expect(merged.constructor.name).not.to.eql('MarcRecord');\n expect(merged.constructor.name).to.eql('Object');\n expect(merged).to.eql(expectedRecord);\n}\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA8C,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C;AACA;;AAEA,IAAAG,gBAAa,EAAC;EACZC,QAAQ;EACRC,IAAI,EAAE,CAACC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC;EAClEC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE;IACNC,MAAM,EAAEC,eAAO,CAACC,IAAI;IACpBC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,SAAST,QAAQA,CAAC;EAChBU,UAAU;EACVC,gBAAgB;EAChBC,eAAe,GAAG,KAAK;EACvBC,iBAAiB,GAAG,KAAK;EACzBC,wBAAwB,GAAG,KAAK;EAChCC,wBAAwB,GAAG,KAAK;EAChCC,wBAAwB,GAAG,KAAK;EAChCC,wBAAwB,GAAG,KAAK;EAChCC,UAAU,GAAGC,SAAS;EACtBC,gBAAgB,GAAGD,SAAS;EAC5BE,aAAa,GAAGF,SAAS;EACzBG,gBAAgB,GAAG,EAAE;EACrBC,OAAO,GAAG,EAAE;EACZC,uBAAuB,GAAG;AAC5B,CAAC,EAAE;EACD,MAAMC,IAAI,GAAGf,UAAU,CAAC,WAAW,CAAC;EACpC,MAAMgB,MAAM,GAAGhB,UAAU,CAAC,aAAa,CAAC;EACxC,MAAMiB,UAAU,GAAG,IAAIC,MAAM,CAACjB,gBAAgB,EAAE,GAAG,CAAC;EACpD,MAAMkB,cAAc,GAAGnB,UAAU,CAAC,aAAa,CAAC;EAEhD,MAAMoB,MAAM,GAAG,IAAAC,aAAa,EAAC;IAC3BJ,UAAU;IAAEf,eAAe;IAAEC,iBAAiB;IAAEC,wBAAwB;IAAEC,wBAAwB;IAAEC,wBAAwB;IAC5HE,UAAU;IAAED,wBAAwB;IAAEG,gBAAgB;IACtDC,aAAa;IAAEC,gBAAgB;IAAEC,OAAO;IACxCC;EACF,CAAC,CAAC,CAACC,IAAI,EAAEC,MAAM,CAAC;EAChB;EACA;EACA;EACA;EACA,IAAAM,YAAM,EAACF,MAAM,CAACG,WAAW,CAACC,IAAI,CAAC,CAACC,GAAG,CAACC,EAAE,CAACC,GAAG,CAAC,YAAY,CAAC;EACxD,IAAAL,YAAM,EAACF,MAAM,CAACG,WAAW,CAACC,IAAI,CAAC,CAACE,EAAE,CAACC,GAAG,CAAC,QAAQ,CAAC;EAChD,IAAAL,YAAM,EAACF,MAAM,CAAC,CAACM,EAAE,CAACC,GAAG,CAACR,cAAc,CAAC;AACvC","ignoreList":[]}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _chai = require("chai");
|
|
4
|
-
var _fixura = require("@natlibfi/fixura");
|
|
5
|
-
var _copy = _interopRequireDefault(require("./copy"));
|
|
6
|
-
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
//import createDebugLogger from 'debug'; // <---
|
|
9
|
-
//const debug = createDebugLogger('@natlibfi/marc-record-merge/copy.spec.js'); // <---
|
|
10
|
-
|
|
11
|
-
(0, _fixugen.default)({
|
|
12
|
-
callback,
|
|
13
|
-
path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'copy'],
|
|
14
|
-
useMetadataFile: true,
|
|
15
|
-
recurse: true,
|
|
16
|
-
fixura: {
|
|
17
|
-
reader: _fixura.READERS.JSON,
|
|
18
|
-
failWhenNotFound: false
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
function callback({
|
|
22
|
-
getFixture,
|
|
23
|
-
tagPatternRegExp,
|
|
24
|
-
compareTagsOnly = false,
|
|
25
|
-
compareWithoutTag = false,
|
|
26
|
-
compareWithoutIndicators = false,
|
|
27
|
-
compareWithoutIndicator1 = false,
|
|
28
|
-
compareWithoutIndicator2 = false,
|
|
29
|
-
subfieldsMustBeIdentical = false,
|
|
30
|
-
copyUnless = undefined,
|
|
31
|
-
excludeSubfields = undefined,
|
|
32
|
-
dropSubfields = undefined,
|
|
33
|
-
swapSubfieldCode = [],
|
|
34
|
-
swapTag = [],
|
|
35
|
-
doNotCopyIfFieldPresent = false
|
|
36
|
-
}) {
|
|
37
|
-
const base = getFixture('base.json');
|
|
38
|
-
const source = getFixture('source.json');
|
|
39
|
-
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
40
|
-
const expectedRecord = getFixture('merged.json');
|
|
41
|
-
const merged = (0, _copy.default)({
|
|
42
|
-
tagPattern,
|
|
43
|
-
compareTagsOnly,
|
|
44
|
-
compareWithoutTag,
|
|
45
|
-
compareWithoutIndicators,
|
|
46
|
-
compareWithoutIndicator1,
|
|
47
|
-
compareWithoutIndicator2,
|
|
48
|
-
copyUnless,
|
|
49
|
-
subfieldsMustBeIdentical,
|
|
50
|
-
excludeSubfields,
|
|
51
|
-
dropSubfields,
|
|
52
|
-
swapSubfieldCode,
|
|
53
|
-
swapTag,
|
|
54
|
-
doNotCopyIfFieldPresent
|
|
55
|
-
})({
|
|
56
|
-
base,
|
|
57
|
-
source
|
|
58
|
-
});
|
|
59
|
-
//debug(`*** mergedRecord: `, mergedRecord); //<--
|
|
60
|
-
//debug(`*** mergedRecord,Strfy: `, JSON.stringify(mergedRecord)); //<--
|
|
61
|
-
//debug(`*** expectedRecord: `, expectedRecord); //<--
|
|
62
|
-
//debug(`*** expectedRecord,Strfy: `, JSON.stringify(expectedRecord)); //<--
|
|
63
|
-
(0, _chai.expect)(merged.constructor.name).not.to.eql('MarcRecord');
|
|
64
|
-
(0, _chai.expect)(merged.constructor.name).to.eql('Object');
|
|
65
|
-
(0, _chai.expect)(merged).to.eql(expectedRecord);
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=copy2.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy2.spec.js","names":["_chai","require","_fixura","_copy","_interopRequireDefault","_fixugen","e","__esModule","default","generateTests","callback","path","__dirname","useMetadataFile","recurse","fixura","reader","READERS","JSON","failWhenNotFound","getFixture","tagPatternRegExp","compareTagsOnly","compareWithoutTag","compareWithoutIndicators","compareWithoutIndicator1","compareWithoutIndicator2","subfieldsMustBeIdentical","copyUnless","undefined","excludeSubfields","dropSubfields","swapSubfieldCode","swapTag","doNotCopyIfFieldPresent","base","source","tagPattern","RegExp","expectedRecord","merged","createReducer","expect","constructor","name","not","to","eql"],"sources":["../../src/reducers/copy2.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {READERS} from '@natlibfi/fixura';\nimport createReducer from './copy';\nimport generateTests from '@natlibfi/fixugen';\n\n//import createDebugLogger from 'debug'; // <---\n//const debug = createDebugLogger('@natlibfi/marc-record-merge/copy.spec.js'); // <---\n\ngenerateTests({\n callback,\n path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'copy'],\n useMetadataFile: true,\n recurse: true,\n fixura: {\n reader: READERS.JSON,\n failWhenNotFound: false\n }\n});\n\n\nfunction callback({\n getFixture,\n tagPatternRegExp,\n compareTagsOnly = false,\n compareWithoutTag = false,\n compareWithoutIndicators = false,\n compareWithoutIndicator1 = false,\n compareWithoutIndicator2 = false,\n subfieldsMustBeIdentical = false,\n copyUnless = undefined,\n excludeSubfields = undefined,\n dropSubfields = undefined,\n swapSubfieldCode = [],\n swapTag = [],\n doNotCopyIfFieldPresent = false\n}) {\n const base = getFixture('base.json');\n const source = getFixture('source.json');\n const tagPattern = new RegExp(tagPatternRegExp, 'u');\n const expectedRecord = getFixture('merged.json');\n\n const merged = createReducer({\n tagPattern, compareTagsOnly, compareWithoutTag, compareWithoutIndicators, compareWithoutIndicator1, compareWithoutIndicator2,\n copyUnless, subfieldsMustBeIdentical, excludeSubfields,\n dropSubfields, swapSubfieldCode, swapTag,\n doNotCopyIfFieldPresent\n })({base, source});\n //debug(`*** mergedRecord: `, mergedRecord); //<--\n //debug(`*** mergedRecord,Strfy: `, JSON.stringify(mergedRecord)); //<--\n //debug(`*** expectedRecord: `, expectedRecord); //<--\n //debug(`*** expectedRecord,Strfy: `, JSON.stringify(expectedRecord)); //<--\n expect(merged.constructor.name).not.to.eql('MarcRecord');\n expect(merged.constructor.name).to.eql('Object');\n expect(merged).to.eql(expectedRecord);\n}\n"],"mappings":";;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA8C,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C;AACA;;AAEA,IAAAG,gBAAa,EAAC;EACZC,QAAQ;EACRC,IAAI,EAAE,CAACC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC;EAClEC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE;IACNC,MAAM,EAAEC,eAAO,CAACC,IAAI;IACpBC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAGF,SAAST,QAAQA,CAAC;EAChBU,UAAU;EACVC,gBAAgB;EAChBC,eAAe,GAAG,KAAK;EACvBC,iBAAiB,GAAG,KAAK;EACzBC,wBAAwB,GAAG,KAAK;EAChCC,wBAAwB,GAAG,KAAK;EAChCC,wBAAwB,GAAG,KAAK;EAChCC,wBAAwB,GAAG,KAAK;EAChCC,UAAU,GAAGC,SAAS;EACtBC,gBAAgB,GAAGD,SAAS;EAC5BE,aAAa,GAAGF,SAAS;EACzBG,gBAAgB,GAAG,EAAE;EACrBC,OAAO,GAAG,EAAE;EACZC,uBAAuB,GAAG;AAC5B,CAAC,EAAE;EACD,MAAMC,IAAI,GAAGf,UAAU,CAAC,WAAW,CAAC;EACpC,MAAMgB,MAAM,GAAGhB,UAAU,CAAC,aAAa,CAAC;EACxC,MAAMiB,UAAU,GAAG,IAAIC,MAAM,CAACjB,gBAAgB,EAAE,GAAG,CAAC;EACpD,MAAMkB,cAAc,GAAGnB,UAAU,CAAC,aAAa,CAAC;EAEhD,MAAMoB,MAAM,GAAG,IAAAC,aAAa,EAAC;IAC3BJ,UAAU;IAAEf,eAAe;IAAEC,iBAAiB;IAAEC,wBAAwB;IAAEC,wBAAwB;IAAEC,wBAAwB;IAC5HE,UAAU;IAAED,wBAAwB;IAAEG,gBAAgB;IACtDC,aAAa;IAAEC,gBAAgB;IAAEC,OAAO;IACxCC;EACF,CAAC,CAAC,CAAC;IAACC,IAAI;IAAEC;EAAM,CAAC,CAAC;EAClB;EACA;EACA;EACA;EACA,IAAAM,YAAM,EAACF,MAAM,CAACG,WAAW,CAACC,IAAI,CAAC,CAACC,GAAG,CAACC,EAAE,CAACC,GAAG,CAAC,YAAY,CAAC;EACxD,IAAAL,YAAM,EAACF,MAAM,CAACG,WAAW,CAACC,IAAI,CAAC,CAACE,EAAE,CAACC,GAAG,CAAC,QAAQ,CAAC;EAChD,IAAAL,YAAM,EAACF,MAAM,CAAC,CAACM,EAAE,CAACC,GAAG,CAACR,cAAc,CAAC;AACvC","ignoreList":[]}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _chai = require("chai");
|
|
4
|
-
var _marcRecord = require("@natlibfi/marc-record");
|
|
5
|
-
var _select = _interopRequireWildcard(require("./select"));
|
|
6
|
-
var _fixura = require("@natlibfi/fixura");
|
|
7
|
-
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
|
-
_marcRecord.MarcRecord.setValidationOptions({
|
|
11
|
-
subfieldValues: false
|
|
12
|
-
});
|
|
13
|
-
(0, _fixugen.default)({
|
|
14
|
-
callback,
|
|
15
|
-
path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],
|
|
16
|
-
useMetadataFile: true,
|
|
17
|
-
recurse: false,
|
|
18
|
-
fixura: {
|
|
19
|
-
reader: _fixura.READERS.JSON,
|
|
20
|
-
failWhenNotFound: false
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
function callback({
|
|
24
|
-
getFixture,
|
|
25
|
-
disabled = false,
|
|
26
|
-
tagPatternRegExp = false,
|
|
27
|
-
expectedError = false,
|
|
28
|
-
useSubsetEquality = false
|
|
29
|
-
}) {
|
|
30
|
-
if (disabled) {
|
|
31
|
-
console.log('TEST DISABLED!'); // eslint-disable-line no-console
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});
|
|
35
|
-
// const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});
|
|
36
|
-
|
|
37
|
-
const base = getFixture('base.json');
|
|
38
|
-
const source = getFixture('source.json');
|
|
39
|
-
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
40
|
-
const expectedRecord = getFixture('merged.json');
|
|
41
|
-
const equalityFunction = useSubsetEquality ? _select.subsetEquality : undefined;
|
|
42
|
-
|
|
43
|
-
// Bypass expected error in testing
|
|
44
|
-
if (expectedError) {
|
|
45
|
-
(0, _chai.expect)(() => _select.default.to.throw(Error, 'control field'));
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const mergedRecord = (0, _select.default)({
|
|
49
|
-
tagPattern,
|
|
50
|
-
equalityFunction
|
|
51
|
-
})(base, source);
|
|
52
|
-
(0, _chai.expect)(mergedRecord).to.eql(expectedRecord);
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=select.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.spec.js","names":["_chai","require","_marcRecord","_select","_interopRequireWildcard","_fixura","_fixugen","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MarcRecord","setValidationOptions","subfieldValues","generateTests","callback","path","__dirname","useMetadataFile","recurse","fixura","reader","READERS","JSON","failWhenNotFound","getFixture","disabled","tagPatternRegExp","expectedError","useSubsetEquality","console","log","base","source","tagPattern","RegExp","expectedRecord","equalityFunction","subsetEquality","undefined","expect","createReducer","to","throw","Error","mergedRecord","eql"],"sources":["../../src/reducers/select.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport createReducer, {subsetEquality} from './select';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen';\n\nMarcRecord.setValidationOptions({subfieldValues: false});\n\ngenerateTests({\n callback,\n path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],\n useMetadataFile: true,\n recurse: false,\n fixura: {\n reader: READERS.JSON,\n failWhenNotFound: false\n }\n});\n\nfunction callback({\n getFixture,\n disabled = false,\n tagPatternRegExp = false,\n expectedError = false,\n useSubsetEquality = false\n}) {\n if (disabled) {\n console.log('TEST DISABLED!'); // eslint-disable-line no-console\n return;\n }\n // const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});\n // const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});\n\n const base = getFixture('base.json');\n const source = getFixture('source.json');\n\n const tagPattern = new RegExp(tagPatternRegExp, 'u');\n const expectedRecord = getFixture('merged.json');\n const equalityFunction = useSubsetEquality ? subsetEquality : undefined;\n\n // Bypass expected error in testing\n if (expectedError) {\n expect(() => createReducer.to.throw(Error, 'control field'));\n return;\n }\n\n const mergedRecord = createReducer({tagPattern, equalityFunction})(base, source);\n expect(mergedRecord).to.eql(expectedRecord);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _chai = require("chai");
|
|
4
|
-
var _marcRecord = require("@natlibfi/marc-record");
|
|
5
|
-
var _select = _interopRequireWildcard(require("./select"));
|
|
6
|
-
var _fixura = require("@natlibfi/fixura");
|
|
7
|
-
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
|
-
_marcRecord.MarcRecord.setValidationOptions({
|
|
11
|
-
subfieldValues: false
|
|
12
|
-
});
|
|
13
|
-
(0, _fixugen.default)({
|
|
14
|
-
callback,
|
|
15
|
-
path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],
|
|
16
|
-
useMetadataFile: true,
|
|
17
|
-
recurse: false,
|
|
18
|
-
fixura: {
|
|
19
|
-
reader: _fixura.READERS.JSON,
|
|
20
|
-
failWhenNotFound: false
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
function callback({
|
|
24
|
-
getFixture,
|
|
25
|
-
disabled = false,
|
|
26
|
-
tagPatternRegExp = false,
|
|
27
|
-
expectedError = false,
|
|
28
|
-
useSubsetEquality = false
|
|
29
|
-
}) {
|
|
30
|
-
if (disabled) {
|
|
31
|
-
console.log('TEST DISABLED!'); // eslint-disable-line no-console
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});
|
|
35
|
-
// const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});
|
|
36
|
-
|
|
37
|
-
const base = getFixture('base.json');
|
|
38
|
-
const source = getFixture('source.json');
|
|
39
|
-
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
40
|
-
const expectedRecord = getFixture('merged.json');
|
|
41
|
-
const equalityFunction = useSubsetEquality ? _select.subsetEquality : undefined;
|
|
42
|
-
|
|
43
|
-
// Bypass expected error in testing
|
|
44
|
-
if (expectedError) {
|
|
45
|
-
(0, _chai.expect)(() => _select.default.to.throw(Error, 'control field'));
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const mergedRecord = (0, _select.default)({
|
|
49
|
-
tagPattern,
|
|
50
|
-
equalityFunction
|
|
51
|
-
})({
|
|
52
|
-
base,
|
|
53
|
-
source
|
|
54
|
-
});
|
|
55
|
-
(0, _chai.expect)(mergedRecord).to.eql(expectedRecord);
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=select2.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select2.spec.js","names":["_chai","require","_marcRecord","_select","_interopRequireWildcard","_fixura","_fixugen","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MarcRecord","setValidationOptions","subfieldValues","generateTests","callback","path","__dirname","useMetadataFile","recurse","fixura","reader","READERS","JSON","failWhenNotFound","getFixture","disabled","tagPatternRegExp","expectedError","useSubsetEquality","console","log","base","source","tagPattern","RegExp","expectedRecord","equalityFunction","subsetEquality","undefined","expect","createReducer","to","throw","Error","mergedRecord","eql"],"sources":["../../src/reducers/select2.spec.js"],"sourcesContent":["import {expect} from 'chai';\nimport {MarcRecord} from '@natlibfi/marc-record';\nimport createReducer, {subsetEquality} from './select';\nimport {READERS} from '@natlibfi/fixura';\nimport generateTests from '@natlibfi/fixugen';\n\nMarcRecord.setValidationOptions({subfieldValues: false});\n\ngenerateTests({\n callback,\n path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],\n useMetadataFile: true,\n recurse: false,\n fixura: {\n reader: READERS.JSON,\n failWhenNotFound: false\n }\n});\n\nfunction callback({\n getFixture,\n disabled = false,\n tagPatternRegExp = false,\n expectedError = false,\n useSubsetEquality = false\n}) {\n if (disabled) {\n console.log('TEST DISABLED!'); // eslint-disable-line no-console\n return;\n }\n // const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});\n // const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});\n\n const base = getFixture('base.json');\n const source = getFixture('source.json');\n\n const tagPattern = new RegExp(tagPatternRegExp, 'u');\n const expectedRecord = getFixture('merged.json');\n const equalityFunction = useSubsetEquality ? subsetEquality : undefined;\n\n // Bypass expected error in testing\n if (expectedError) {\n expect(() => createReducer.to.throw(Error, 'control field'));\n return;\n }\n\n const mergedRecord = createReducer({tagPattern, equalityFunction})({base, source});\n expect(mergedRecord).to.eql(expectedRecord);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {expect} from 'chai';
|
|
2
|
-
import {MarcRecord} from '@natlibfi/marc-record';
|
|
3
|
-
import createReducer, {subsetEquality} from './select';
|
|
4
|
-
import {READERS} from '@natlibfi/fixura';
|
|
5
|
-
import generateTests from '@natlibfi/fixugen';
|
|
6
|
-
|
|
7
|
-
MarcRecord.setValidationOptions({subfieldValues: false});
|
|
8
|
-
|
|
9
|
-
generateTests({
|
|
10
|
-
callback,
|
|
11
|
-
path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],
|
|
12
|
-
useMetadataFile: true,
|
|
13
|
-
recurse: false,
|
|
14
|
-
fixura: {
|
|
15
|
-
reader: READERS.JSON,
|
|
16
|
-
failWhenNotFound: false
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
function callback({
|
|
21
|
-
getFixture,
|
|
22
|
-
disabled = false,
|
|
23
|
-
tagPatternRegExp = false,
|
|
24
|
-
expectedError = false,
|
|
25
|
-
useSubsetEquality = false
|
|
26
|
-
}) {
|
|
27
|
-
if (disabled) {
|
|
28
|
-
console.log('TEST DISABLED!'); // eslint-disable-line no-console
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});
|
|
32
|
-
// const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});
|
|
33
|
-
|
|
34
|
-
const base = getFixture('base.json');
|
|
35
|
-
const source = getFixture('source.json');
|
|
36
|
-
|
|
37
|
-
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
38
|
-
const expectedRecord = getFixture('merged.json');
|
|
39
|
-
const equalityFunction = useSubsetEquality ? subsetEquality : undefined;
|
|
40
|
-
|
|
41
|
-
// Bypass expected error in testing
|
|
42
|
-
if (expectedError) {
|
|
43
|
-
expect(() => createReducer.to.throw(Error, 'control field'));
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const mergedRecord = createReducer({tagPattern, equalityFunction})(base, source);
|
|
48
|
-
expect(mergedRecord).to.eql(expectedRecord);
|
|
49
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {expect} from 'chai';
|
|
2
|
-
import {MarcRecord} from '@natlibfi/marc-record';
|
|
3
|
-
import createReducer, {subsetEquality} from './select';
|
|
4
|
-
import {READERS} from '@natlibfi/fixura';
|
|
5
|
-
import generateTests from '@natlibfi/fixugen';
|
|
6
|
-
|
|
7
|
-
MarcRecord.setValidationOptions({subfieldValues: false});
|
|
8
|
-
|
|
9
|
-
generateTests({
|
|
10
|
-
callback,
|
|
11
|
-
path: [__dirname, '..', '..', 'test-fixtures', 'reducers', 'select'],
|
|
12
|
-
useMetadataFile: true,
|
|
13
|
-
recurse: false,
|
|
14
|
-
fixura: {
|
|
15
|
-
reader: READERS.JSON,
|
|
16
|
-
failWhenNotFound: false
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
function callback({
|
|
21
|
-
getFixture,
|
|
22
|
-
disabled = false,
|
|
23
|
-
tagPatternRegExp = false,
|
|
24
|
-
expectedError = false,
|
|
25
|
-
useSubsetEquality = false
|
|
26
|
-
}) {
|
|
27
|
-
if (disabled) {
|
|
28
|
-
console.log('TEST DISABLED!'); // eslint-disable-line no-console
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// const base = new MarcRecord(getFixture('base.json'), {subfieldValues: false});
|
|
32
|
-
// const source = new MarcRecord(getFixture('source.json'), {subfieldValues: false});
|
|
33
|
-
|
|
34
|
-
const base = getFixture('base.json');
|
|
35
|
-
const source = getFixture('source.json');
|
|
36
|
-
|
|
37
|
-
const tagPattern = new RegExp(tagPatternRegExp, 'u');
|
|
38
|
-
const expectedRecord = getFixture('merged.json');
|
|
39
|
-
const equalityFunction = useSubsetEquality ? subsetEquality : undefined;
|
|
40
|
-
|
|
41
|
-
// Bypass expected error in testing
|
|
42
|
-
if (expectedError) {
|
|
43
|
-
expect(() => createReducer.to.throw(Error, 'control field'));
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const mergedRecord = createReducer({tagPattern, equalityFunction})({base, source});
|
|
48
|
-
expect(mergedRecord).to.eql(expectedRecord);
|
|
49
|
-
}
|