@pixwel/pixwel-sdk 2.1.2 → 2.1.4
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/coverage/clover.xml +450 -457
- package/coverage/coverage-final.json +10 -10
- package/coverage/lcov-report/Ass.js.html +212 -212
- package/coverage/lcov-report/Asset.js.html +27 -27
- package/coverage/lcov-report/AssetType.js.html +1 -1
- package/coverage/lcov-report/Encode.js.html +1 -1
- package/coverage/lcov-report/File.js.html +13 -13
- package/coverage/lcov-report/Filename.js.html +1 -1
- package/coverage/lcov-report/Ingest.js.html +502 -511
- package/coverage/lcov-report/IngestFile.js.html +1 -1
- package/coverage/lcov-report/Model.js.html +25 -25
- package/coverage/lcov-report/Order.js.html +25 -25
- package/coverage/lcov-report/Srt.js.html +102 -102
- package/coverage/lcov-report/Sub.js.html +43 -43
- package/coverage/lcov-report/Tag.js.html +1 -1
- package/coverage/lcov-report/TimeFormat.js.html +63 -63
- package/coverage/lcov-report/fileType.js.html +4 -4
- package/coverage/lcov-report/index.html +93 -93
- package/coverage/lcov.info +834 -841
- package/dist/src/Ingest.js +11 -11
- package/dist/src/Model.js +5 -4
- package/package.json +2 -1
- package/src/Ingest.js +8 -11
- package/src/Model.js +2 -2
- package/test/Ingest.spec.js +73 -88
- package/test/Model.spec.js +3 -2
package/dist/src/Ingest.js
CHANGED
|
@@ -540,7 +540,7 @@ var Ingest = function (_Model) {
|
|
|
540
540
|
/**
|
|
541
541
|
* Create a File from an Ingest object
|
|
542
542
|
*
|
|
543
|
-
* @param {object} params
|
|
543
|
+
* @param {object} params
|
|
544
544
|
*/
|
|
545
545
|
|
|
546
546
|
}, {
|
|
@@ -551,16 +551,16 @@ var Ingest = function (_Model) {
|
|
|
551
551
|
order = params.order;
|
|
552
552
|
|
|
553
553
|
|
|
554
|
-
|
|
555
|
-
|
|
554
|
+
var filename = this.mapFromFilename({ allTags: allTags });
|
|
555
|
+
var mediainfo = this.mapFromMediainfo();
|
|
556
556
|
|
|
557
|
-
var ingest = this.assemble({ order: order });
|
|
557
|
+
var ingest = this.assemble({ filename: filename, mediainfo: mediainfo, order: order });
|
|
558
558
|
|
|
559
559
|
var file = new _File2.default({
|
|
560
560
|
name: this.renderFilename({ allTags: allTags, allTypes: allTypes }),
|
|
561
561
|
path: this.renderPath(),
|
|
562
562
|
asset: ingest.asset._id,
|
|
563
|
-
generator:
|
|
563
|
+
generator: "ingest",
|
|
564
564
|
contextTag: ingest.context.tag,
|
|
565
565
|
language: ingest.selected.download.language,
|
|
566
566
|
country: ingest.selected.download.country,
|
|
@@ -581,15 +581,15 @@ var Ingest = function (_Model) {
|
|
|
581
581
|
}, {
|
|
582
582
|
key: "assemble",
|
|
583
583
|
value: function assemble(params) {
|
|
584
|
-
var
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
var order = params.order,
|
|
584
|
+
var filename = params.filename,
|
|
585
|
+
mediainfo = params.mediainfo,
|
|
586
|
+
order = params.order,
|
|
589
587
|
_params$watermarks = params.watermarks,
|
|
590
588
|
watermarks = _params$watermarks === undefined ? [] : _params$watermarks;
|
|
591
589
|
|
|
592
590
|
|
|
591
|
+
var original = this.data();
|
|
592
|
+
|
|
593
593
|
var defaults = {
|
|
594
594
|
workRequest: order._id,
|
|
595
595
|
selected: {
|
|
@@ -677,7 +677,7 @@ var Ingest = function (_Model) {
|
|
|
677
677
|
}], [{
|
|
678
678
|
key: "_resource",
|
|
679
679
|
get: function get() {
|
|
680
|
-
return
|
|
680
|
+
return "ingests";
|
|
681
681
|
}
|
|
682
682
|
}]);
|
|
683
683
|
return Ingest;
|
package/dist/src/Model.js
CHANGED
|
@@ -32,14 +32,16 @@ var _createClass2 = require("babel-runtime/helpers/createClass");
|
|
|
32
32
|
|
|
33
33
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
|
34
34
|
|
|
35
|
+
var _lodash = require("lodash");
|
|
36
|
+
|
|
37
|
+
var _lodash2 = _interopRequireDefault(_lodash);
|
|
38
|
+
|
|
35
39
|
var _index = require("../index");
|
|
36
40
|
|
|
37
41
|
var _axios = require("axios");
|
|
38
42
|
|
|
39
43
|
var _axios2 = _interopRequireDefault(_axios);
|
|
40
44
|
|
|
41
|
-
var _lodash = require("lodash");
|
|
42
|
-
|
|
43
45
|
var _deepObjectDiff = require("deep-object-diff");
|
|
44
46
|
|
|
45
47
|
var _validate = require("validate.js");
|
|
@@ -86,7 +88,6 @@ var Model = function () {
|
|
|
86
88
|
(0, _classCallCheck3.default)(this, Model);
|
|
87
89
|
|
|
88
90
|
(0, _assign2.default)(this, data);
|
|
89
|
-
this._name = 'model';
|
|
90
91
|
this._endpoint = _index.Pixwel.endpoint;
|
|
91
92
|
this._api = connection();
|
|
92
93
|
this._lastState = {};
|
|
@@ -258,7 +259,7 @@ var Model = function () {
|
|
|
258
259
|
}, {
|
|
259
260
|
key: "set",
|
|
260
261
|
value: function set(data) {
|
|
261
|
-
return
|
|
262
|
+
return _lodash2.default.merge(this, data);
|
|
262
263
|
}
|
|
263
264
|
/**
|
|
264
265
|
* Returns a deep clone of the current object
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixwel/pixwel-sdk",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.4",
|
|
5
5
|
"author": "Pixwel",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"@babel/runtime": "^7.5.5",
|
|
29
29
|
"axios": "^0.19.0",
|
|
30
30
|
"babel-loader": "^8.0.6",
|
|
31
|
+
"babel-runtime": "^6.26.0",
|
|
31
32
|
"deep-object-diff": "^1.1.0",
|
|
32
33
|
"lodash": "^4.17.15",
|
|
33
34
|
"ramda": "^0.26.1",
|
package/src/Ingest.js
CHANGED
|
@@ -14,7 +14,7 @@ export default class Ingest extends Model {
|
|
|
14
14
|
this._resource = "ingests";
|
|
15
15
|
}
|
|
16
16
|
static get _resource() {
|
|
17
|
-
return
|
|
17
|
+
return "ingests";
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Returns path given an ingest record
|
|
@@ -514,21 +514,21 @@ export default class Ingest extends Model {
|
|
|
514
514
|
/**
|
|
515
515
|
* Create a File from an Ingest object
|
|
516
516
|
*
|
|
517
|
-
* @param {object} params
|
|
517
|
+
* @param {object} params
|
|
518
518
|
*/
|
|
519
519
|
createFile(params) {
|
|
520
520
|
let { allTags, allTypes, order } = params;
|
|
521
521
|
|
|
522
|
-
|
|
523
|
-
|
|
522
|
+
let filename = this.mapFromFilename({ allTags });
|
|
523
|
+
let mediainfo = this.mapFromMediainfo();
|
|
524
524
|
|
|
525
|
-
let ingest = this.assemble({ order });
|
|
525
|
+
let ingest = this.assemble({ filename, mediainfo, order });
|
|
526
526
|
|
|
527
527
|
let file = new File({
|
|
528
528
|
name: this.renderFilename({ allTags, allTypes }),
|
|
529
529
|
path: this.renderPath(),
|
|
530
530
|
asset: ingest.asset._id,
|
|
531
|
-
generator:
|
|
531
|
+
generator: "ingest",
|
|
532
532
|
contextTag: ingest.context.tag,
|
|
533
533
|
language: ingest.selected.download.language,
|
|
534
534
|
country: ingest.selected.download.country,
|
|
@@ -546,11 +546,9 @@ export default class Ingest extends Model {
|
|
|
546
546
|
* @param {object} params
|
|
547
547
|
*/
|
|
548
548
|
assemble(params) {
|
|
549
|
-
let
|
|
550
|
-
let filename = this.data().filename;
|
|
551
|
-
let mediainfo = this.data().mediainfo;
|
|
549
|
+
let { filename, mediainfo, order, watermarks = [] } = params;
|
|
552
550
|
|
|
553
|
-
let
|
|
551
|
+
let original = this.data();
|
|
554
552
|
|
|
555
553
|
let defaults = {
|
|
556
554
|
workRequest: order._id,
|
|
@@ -656,4 +654,3 @@ function flatValues(data) {
|
|
|
656
654
|
}
|
|
657
655
|
return flatten(values(copy));
|
|
658
656
|
}
|
|
659
|
-
|
package/src/Model.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _ from "lodash";
|
|
1
2
|
import { Pixwel } from "../index";
|
|
2
3
|
import axios from "axios";
|
|
3
4
|
import { cloneDeep } from "lodash";
|
|
@@ -41,7 +42,6 @@ function connection() {
|
|
|
41
42
|
export default class Model {
|
|
42
43
|
constructor(data) {
|
|
43
44
|
Object.assign(this, data);
|
|
44
|
-
this._name = 'model';
|
|
45
45
|
this._endpoint = Pixwel.endpoint;
|
|
46
46
|
this._api = connection();
|
|
47
47
|
this._lastState = {};
|
|
@@ -134,7 +134,7 @@ export default class Model {
|
|
|
134
134
|
* @param {object} data
|
|
135
135
|
*/
|
|
136
136
|
set(data) {
|
|
137
|
-
return
|
|
137
|
+
return _.merge(this, data);
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
140
|
* Returns a deep clone of the current object
|
package/test/Ingest.spec.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import Ingest from "../
|
|
2
|
-
import Order from "../src/Order";
|
|
1
|
+
import { Ingest, Order } from "../index";
|
|
3
2
|
|
|
4
3
|
import mock from "./mocks/mediainfo.mock";
|
|
5
4
|
import proresMock from "./mocks/prores.mock";
|
|
@@ -928,10 +927,9 @@ describe("Ingest", () => {
|
|
|
928
927
|
describe("assemble", () => {
|
|
929
928
|
it("should set country and language from filename if not found in order", () => {
|
|
930
929
|
let original = {
|
|
931
|
-
context: {}
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
},
|
|
930
|
+
context: {}
|
|
931
|
+
};
|
|
932
|
+
let filename = {
|
|
935
933
|
selected: {
|
|
936
934
|
download: {
|
|
937
935
|
language: "ENG",
|
|
@@ -939,27 +937,26 @@ describe("Ingest", () => {
|
|
|
939
937
|
}
|
|
940
938
|
}
|
|
941
939
|
};
|
|
940
|
+
let mediainfo = {};
|
|
942
941
|
let order = new Order();
|
|
943
942
|
let ingest = new Ingest(original);
|
|
944
|
-
let data = ingest.assemble({ order });
|
|
943
|
+
let data = ingest.assemble({ filename, mediainfo, order });
|
|
945
944
|
expect(data.selected.download.language).toBe("ENG");
|
|
946
945
|
expect(data.selected.download.country).toBe("US");
|
|
947
946
|
});
|
|
948
947
|
it("should use asset from filename when there is no context", () => {
|
|
949
948
|
let original = {
|
|
950
|
-
context: {}
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
}
|
|
955
|
-
}
|
|
949
|
+
context: {}
|
|
950
|
+
};
|
|
951
|
+
let filename = {
|
|
952
|
+
asset: { _id: "a1b2c3" },
|
|
956
953
|
};
|
|
957
954
|
let order = new Order();
|
|
958
955
|
let ingest = new Ingest(original);
|
|
959
|
-
let data = ingest.assemble({ order });
|
|
956
|
+
let data = ingest.assemble({ filename, order });
|
|
960
957
|
expect(data.selected.asset).toBe("a1b2c3");
|
|
961
958
|
});
|
|
962
|
-
it("should prefer
|
|
959
|
+
it("should prefer context asset data over filename when coming from workrequest", () => {
|
|
963
960
|
let original = {
|
|
964
961
|
asset: {
|
|
965
962
|
slug: "alpha"
|
|
@@ -1020,35 +1017,32 @@ describe("Ingest", () => {
|
|
|
1020
1017
|
asset: {
|
|
1021
1018
|
creative: true
|
|
1022
1019
|
},
|
|
1023
|
-
context: {}
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1020
|
+
context: {}
|
|
1021
|
+
};
|
|
1022
|
+
let filename = {
|
|
1023
|
+
selected: {
|
|
1024
|
+
download: {
|
|
1025
|
+
language: "ENG",
|
|
1026
|
+
country: "US"
|
|
1030
1027
|
}
|
|
1031
1028
|
}
|
|
1032
1029
|
};
|
|
1033
1030
|
let order = new Order();
|
|
1034
1031
|
let ingest = new Ingest(original);
|
|
1035
|
-
let data = ingest.assemble({ order });
|
|
1032
|
+
let data = ingest.assemble({ filename, order });
|
|
1036
1033
|
expect(data.selected.preview.revision).toBe("Unfinished");
|
|
1037
1034
|
});
|
|
1038
1035
|
it("should keep tags from parsed filename when order is empty", () => {
|
|
1039
|
-
let original = {
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
SubDub: {
|
|
1050
|
-
sub: true
|
|
1051
|
-
}
|
|
1036
|
+
let original = { asset: { creative: true }, context: {} };
|
|
1037
|
+
let filename = {
|
|
1038
|
+
selected: {
|
|
1039
|
+
download: {
|
|
1040
|
+
language: "ENG",
|
|
1041
|
+
country: "US",
|
|
1042
|
+
tags: {
|
|
1043
|
+
Extra: ["coming-soon"],
|
|
1044
|
+
SubDub: {
|
|
1045
|
+
sub: true
|
|
1052
1046
|
}
|
|
1053
1047
|
}
|
|
1054
1048
|
}
|
|
@@ -1056,120 +1050,111 @@ describe("Ingest", () => {
|
|
|
1056
1050
|
};
|
|
1057
1051
|
let order = new Order();
|
|
1058
1052
|
let ingest = new Ingest(original);
|
|
1059
|
-
let data = ingest.assemble({ order });
|
|
1053
|
+
let data = ingest.assemble({ filename, order });
|
|
1060
1054
|
expect(data.selected.download.tags).toEqual({
|
|
1061
1055
|
Extra: ["coming-soon"],
|
|
1062
1056
|
SubDub: { sub: true }
|
|
1063
1057
|
});
|
|
1064
1058
|
});
|
|
1065
1059
|
it("should set preview revision=Final for finished assets", () => {
|
|
1066
|
-
let original = {
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
filename: {
|
|
1070
|
-
selected: { download: { language: "ENG", country: "US" } }
|
|
1071
|
-
}
|
|
1060
|
+
let original = { asset: { creative: false }, context: {} };
|
|
1061
|
+
let filename = {
|
|
1062
|
+
selected: { download: { language: "ENG", country: "US" } }
|
|
1072
1063
|
};
|
|
1073
1064
|
let order = new Order();
|
|
1074
1065
|
let ingest = new Ingest(original);
|
|
1075
|
-
let data = ingest.assemble({ order });
|
|
1066
|
+
let data = ingest.assemble({ filename, order });
|
|
1076
1067
|
expect(data.selected.preview.revision).toBe("Final");
|
|
1077
1068
|
});
|
|
1078
1069
|
it("should enable preview if file is prores 1080p 23.98/25", () => {
|
|
1079
|
-
let original = {
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1070
|
+
let original = { context: {} };
|
|
1071
|
+
let filename = {
|
|
1072
|
+
selected: { download: { language: "ENG", country: "US" } }
|
|
1073
|
+
};
|
|
1074
|
+
let mediainfo = {
|
|
1075
|
+
selected: {
|
|
1076
|
+
download: {
|
|
1077
|
+
tags: {
|
|
1078
|
+
Codec: "prores",
|
|
1079
|
+
Resolution: "720x1080",
|
|
1080
|
+
Framerate: "23.98"
|
|
1089
1081
|
}
|
|
1090
1082
|
}
|
|
1091
|
-
},
|
|
1092
|
-
filename: {
|
|
1093
|
-
selected: { download: { language: "ENG", country: "US" } }
|
|
1094
1083
|
}
|
|
1095
1084
|
};
|
|
1096
1085
|
let order = new Order();
|
|
1097
1086
|
let watermarks = [1];
|
|
1098
1087
|
let ingest = new Ingest(original);
|
|
1099
|
-
let data = ingest.assemble({ order, watermarks });
|
|
1088
|
+
let data = ingest.assemble({ filename, mediainfo, order, watermarks });
|
|
1100
1089
|
expect(data.selected.preview.enabled).toBe(true);
|
|
1101
1090
|
});
|
|
1102
1091
|
it("should prefer language and country from order over filename", () => {
|
|
1103
|
-
let original = {
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
selected: { download: { language: "ENG", country: "US" } }
|
|
1107
|
-
}
|
|
1092
|
+
let original = { context: {} };
|
|
1093
|
+
let filename = {
|
|
1094
|
+
selected: { download: { language: "ENG", country: "US" } }
|
|
1108
1095
|
};
|
|
1109
1096
|
let order = new Order({
|
|
1110
1097
|
territory: "FI",
|
|
1111
1098
|
language: "FIN"
|
|
1112
1099
|
});
|
|
1113
1100
|
let ingest = new Ingest(original);
|
|
1114
|
-
let data = ingest.assemble({ order });
|
|
1101
|
+
let data = ingest.assemble({ filename, order });
|
|
1115
1102
|
expect(data.selected.download.language).toBe("FIN");
|
|
1116
1103
|
expect(data.selected.download.country).toBe("FI");
|
|
1117
1104
|
});
|
|
1118
1105
|
it("should correctly merge tags from mediainfo over filename", () => {
|
|
1119
|
-
let original = {
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
selected: { download: { tags: { Codec: "prores", Aspect: "4X3" } } }
|
|
1126
|
-
}
|
|
1106
|
+
let original = { context: {} };
|
|
1107
|
+
let filename = {
|
|
1108
|
+
selected: { download: { tags: { Codec: "prores", Aspect: "4X3" } } }
|
|
1109
|
+
};
|
|
1110
|
+
let mediainfo = {
|
|
1111
|
+
selected: { download: { tags: { Codec: "h264", Aspect: "16:9" } } }
|
|
1127
1112
|
};
|
|
1128
1113
|
let order = new Order();
|
|
1129
1114
|
let ingest = new Ingest(original);
|
|
1130
|
-
let data = ingest.assemble({ order });
|
|
1115
|
+
let data = ingest.assemble({ mediainfo, filename, order });
|
|
1131
1116
|
expect(data.selected.download.tags.Codec).toBe("h264");
|
|
1132
1117
|
expect(data.selected.download.tags.Aspect).toBe("16:9");
|
|
1133
1118
|
});
|
|
1134
1119
|
it("should set preview.type=sub if order.isSub", () => {
|
|
1135
|
-
let original = { context: {}
|
|
1120
|
+
let original = { context: {} };
|
|
1121
|
+
let filename = {};
|
|
1136
1122
|
let order = {
|
|
1137
1123
|
isSub: jest.fn().mockReturnValue(true),
|
|
1138
1124
|
isDub: jest.fn().mockReturnValue(null)
|
|
1139
1125
|
};
|
|
1140
1126
|
let ingest = new Ingest(original);
|
|
1141
|
-
let data = ingest.assemble({ order });
|
|
1127
|
+
let data = ingest.assemble({ filename, order });
|
|
1142
1128
|
expect(data.selected.preview.type).toBe("sub");
|
|
1143
1129
|
});
|
|
1144
1130
|
it("should set preview.type=dub if order.isDub", () => {
|
|
1145
|
-
let original = { context: {}
|
|
1131
|
+
let original = { context: {} };
|
|
1132
|
+
let filename = {};
|
|
1146
1133
|
let order = {
|
|
1147
1134
|
isSub: jest.fn().mockReturnValue(null),
|
|
1148
1135
|
isDub: jest.fn().mockReturnValue(true)
|
|
1149
1136
|
};
|
|
1150
1137
|
let ingest = new Ingest(original);
|
|
1151
|
-
let data = ingest.assemble({ order });
|
|
1138
|
+
let data = ingest.assemble({ filename, order });
|
|
1152
1139
|
expect(data.selected.preview.type).toBe("dub");
|
|
1153
1140
|
});
|
|
1154
1141
|
it("should set preview.type=both if order.isDub and order.isDub", () => {
|
|
1155
|
-
let original = { context: {}
|
|
1142
|
+
let original = { context: {} };
|
|
1143
|
+
let filename = {};
|
|
1156
1144
|
let order = {
|
|
1157
1145
|
isSub: jest.fn().mockReturnValue(true),
|
|
1158
1146
|
isDub: jest.fn().mockReturnValue(true)
|
|
1159
1147
|
};
|
|
1160
1148
|
let ingest = new Ingest(original);
|
|
1161
|
-
let data = ingest.assemble({ order });
|
|
1149
|
+
let data = ingest.assemble({ filename, order });
|
|
1162
1150
|
expect(data.selected.preview.type).toBe("both");
|
|
1163
1151
|
});
|
|
1164
1152
|
it("should retain Extra tags from order over filename", () => {
|
|
1165
|
-
let original = {
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
download: {
|
|
1171
|
-
tags: ["friday"]
|
|
1172
|
-
}
|
|
1153
|
+
let original = { context: { tag: "coming-soon" } };
|
|
1154
|
+
let filename = {
|
|
1155
|
+
selected: {
|
|
1156
|
+
download: {
|
|
1157
|
+
tags: ["friday"]
|
|
1173
1158
|
}
|
|
1174
1159
|
}
|
|
1175
1160
|
};
|
|
@@ -1178,7 +1163,7 @@ describe("Ingest", () => {
|
|
|
1178
1163
|
isDub: jest.fn().mockReturnValue(true)
|
|
1179
1164
|
};
|
|
1180
1165
|
let ingest = new Ingest(original);
|
|
1181
|
-
let data = ingest.assemble({ order });
|
|
1166
|
+
let data = ingest.assemble({ filename, order });
|
|
1182
1167
|
expect(data.selected.download.tags.Extra).toEqual(["coming-soon"]);
|
|
1183
1168
|
});
|
|
1184
1169
|
});
|
package/test/Model.spec.js
CHANGED
|
@@ -62,12 +62,13 @@ describe("Model", () => {
|
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
64
|
describe("set", () => {
|
|
65
|
-
it("should merge incoming data into the model", () => {
|
|
65
|
+
it("should deeply merge incoming data into the model", () => {
|
|
66
66
|
let model = new Model();
|
|
67
67
|
model.set({ details: { name: "Jeff" } });
|
|
68
|
+
model.set({ details: { age: "20" } });
|
|
68
69
|
expect(model.data()).toEqual({
|
|
69
70
|
_id: undefined,
|
|
70
|
-
details: { name: "Jeff" }
|
|
71
|
+
details: { name: "Jeff", age: "20" }
|
|
71
72
|
});
|
|
72
73
|
});
|
|
73
74
|
});
|