functional-models 1.1.4 → 1.1.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.
- package/{src/constants.d.ts → constants.d.ts} +0 -0
- package/{src/constants.js → constants.js} +0 -0
- package/constants.js.map +1 -0
- package/{src/errors.d.ts → errors.d.ts} +1 -1
- package/{src/errors.js → errors.js} +0 -0
- package/errors.js.map +1 -0
- package/{src/index.d.ts → index.d.ts} +0 -0
- package/{src/index.js → index.js} +0 -0
- package/index.js.map +1 -0
- package/{src/interfaces.d.ts → interfaces.d.ts} +4 -2
- package/{src/interfaces.js → interfaces.js} +0 -0
- package/interfaces.js.map +1 -0
- package/{src/lazy.d.ts → lazy.d.ts} +0 -0
- package/{src/lazy.js → lazy.js} +0 -0
- package/lazy.js.map +1 -0
- package/{src/methods.d.ts → methods.d.ts} +0 -0
- package/{src/methods.js → methods.js} +0 -0
- package/methods.js.map +1 -0
- package/models.d.ts +3 -0
- package/{src/models.js → models.js} +1 -3
- package/models.js.map +1 -0
- package/package.json +3 -3
- package/{src/properties.d.ts → properties.d.ts} +0 -0
- package/{src/properties.js → properties.js} +0 -0
- package/properties.js.map +1 -0
- package/{src/serialization.d.ts → serialization.d.ts} +0 -0
- package/{src/serialization.js → serialization.js} +0 -0
- package/serialization.js.map +1 -0
- package/{src/utils.d.ts → utils.d.ts} +0 -0
- package/{src/utils.js → utils.js} +0 -0
- package/utils.js.map +1 -0
- package/{src/validation.d.ts → validation.d.ts} +0 -0
- package/{src/validation.js → validation.js} +0 -0
- package/validation.js.map +1 -0
- package/src/constants.js.map +0 -1
- package/src/errors.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/interfaces.js.map +0 -1
- package/src/lazy.js.map +0 -1
- package/src/methods.js.map +0 -1
- package/src/models.d.ts +0 -3
- package/src/models.js.map +0 -1
- package/src/properties.js.map +0 -1
- package/src/serialization.js.map +0 -1
- package/src/utils.js.map +0 -1
- package/src/validation.js.map +0 -1
- package/stepDefinitions/oldSteps.d.ts +0 -1
- package/stepDefinitions/oldSteps.js +0 -191
- package/stepDefinitions/oldSteps.js.map +0 -1
- package/stepDefinitions/tssteps.d.ts +0 -1
- package/stepDefinitions/tssteps.js +0 -96
- package/stepDefinitions/tssteps.js.map +0 -1
- package/test/src/errors.test.d.ts +0 -1
- package/test/src/errors.test.js +0 -33
- package/test/src/errors.test.js.map +0 -1
- package/test/src/index.test.d.ts +0 -1
- package/test/src/index.test.js +0 -3
- package/test/src/index.test.js.map +0 -1
- package/test/src/lazy.test.d.ts +0 -1
- package/test/src/lazy.test.js +0 -28
- package/test/src/lazy.test.js.map +0 -1
- package/test/src/methods.test.d.ts +0 -1
- package/test/src/methods.test.js +0 -48
- package/test/src/methods.test.js.map +0 -1
- package/test/src/models.test.d.ts +0 -1
- package/test/src/models.test.js +0 -395
- package/test/src/models.test.js.map +0 -1
- package/test/src/properties.test.d.ts +0 -1
- package/test/src/properties.test.js +0 -724
- package/test/src/properties.test.js.map +0 -1
- package/test/src/serialization.test.d.ts +0 -1
- package/test/src/serialization.test.js +0 -91
- package/test/src/serialization.test.js.map +0 -1
- package/test/src/utils.test.d.ts +0 -1
- package/test/src/utils.test.js +0 -81
- package/test/src/utils.test.js.map +0 -1
- package/test/src/validation.test.d.ts +0 -1
- package/test/src/validation.test.js +0 -612
- package/test/src/validation.test.js.map +0 -1
package/test/src/errors.test.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const chai_1 = require("chai");
|
|
4
|
-
const errors_1 = require("../../src/errors");
|
|
5
|
-
describe('/src/errors.ts', () => {
|
|
6
|
-
describe('ValidationError', () => {
|
|
7
|
-
it('should have the correct modelName', () => {
|
|
8
|
-
const instance = new errors_1.ValidationError('modelName', {
|
|
9
|
-
name: ['error1', 'error2'],
|
|
10
|
-
});
|
|
11
|
-
const actual = instance.modelName;
|
|
12
|
-
const expected = 'modelName';
|
|
13
|
-
chai_1.assert.equal(actual, expected);
|
|
14
|
-
});
|
|
15
|
-
it('should have the correct keysToErrors', () => {
|
|
16
|
-
const instance = new errors_1.ValidationError('modelName', {
|
|
17
|
-
name: ['error1', 'error2'],
|
|
18
|
-
});
|
|
19
|
-
const actual = instance.keysToErrors;
|
|
20
|
-
const expected = { name: ['error1', 'error2'] };
|
|
21
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
22
|
-
});
|
|
23
|
-
it('should have the correct name', () => {
|
|
24
|
-
const instance = new errors_1.ValidationError('modelName', {
|
|
25
|
-
name: ['error1', 'error2'],
|
|
26
|
-
});
|
|
27
|
-
const actual = instance.name;
|
|
28
|
-
const expected = 'ValidationError';
|
|
29
|
-
chai_1.assert.equal(actual, expected);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
//# sourceMappingURL=errors.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../test/src/errors.test.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAC7B,6CAAkD;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,wBAAe,CAAC,WAAW,EAAE;gBAChD,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC3B,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAA;YACjC,MAAM,QAAQ,GAAG,WAAW,CAAA;YAC5B,aAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,QAAQ,GAAG,IAAI,wBAAe,CAAC,WAAW,EAAE;gBAChD,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC3B,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAA;YACpC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAA;YAC/C,aAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,wBAAe,CAAC,WAAW,EAAE;gBAChD,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC3B,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;YAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAA;YAClC,aAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/test/src/index.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/test/src/index.test.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../test/src/index.test.ts"],"names":[],"mappings":""}
|
package/test/src/lazy.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/test/src/lazy.test.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const sinon_1 = __importDefault(require("sinon"));
|
|
16
|
-
const lazy_1 = require("../../src/lazy");
|
|
17
|
-
describe('/src/lazy.ts', () => {
|
|
18
|
-
describe('#lazyValue()', () => {
|
|
19
|
-
it('should only call the method passed in once even after two calls', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
const method = sinon_1.default.stub().returns('hello-world');
|
|
21
|
-
const instance = (0, lazy_1.lazyValue)(method);
|
|
22
|
-
yield instance();
|
|
23
|
-
yield instance();
|
|
24
|
-
sinon_1.default.assert.calledOnce(method);
|
|
25
|
-
}));
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=lazy.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.test.js","sourceRoot":"","sources":["../../../test/src/lazy.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,kDAAyB;AACzB,yCAA0C;AAE1C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,iEAAiE,EAAE,GAAS,EAAE;YAC/E,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YAClD,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAA;YAClC,MAAM,QAAQ,EAAE,CAAA;YAChB,MAAM,QAAQ,EAAE,CAAA;YAChB,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/test/src/methods.test.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const chai_1 = require("chai");
|
|
7
|
-
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
-
const models_1 = require("../../src/models");
|
|
9
|
-
const properties_1 = require("../../src/properties");
|
|
10
|
-
const methods_1 = require("../../src/methods");
|
|
11
|
-
describe('/src/methods.js', () => {
|
|
12
|
-
describe('#InstanceMethod()', () => {
|
|
13
|
-
it('should return "Hello-world" when passed in', () => {
|
|
14
|
-
const method = sinon_1.default.stub().callsFake(input => {
|
|
15
|
-
return `${input.get.text()}-world`;
|
|
16
|
-
});
|
|
17
|
-
const myInstanceMethod = (0, methods_1.WrapperInstanceMethod)(method);
|
|
18
|
-
const wrappedObj = 'Hello';
|
|
19
|
-
const model = (0, models_1.BaseModel)('Test', {
|
|
20
|
-
properties: { text: (0, properties_1.TextProperty)() },
|
|
21
|
-
});
|
|
22
|
-
const modelInstance = model.create({ text: 'Hello' });
|
|
23
|
-
const actual = myInstanceMethod(modelInstance);
|
|
24
|
-
const expected = 'Hello-world';
|
|
25
|
-
chai_1.assert.equal(actual, expected);
|
|
26
|
-
});
|
|
27
|
-
it('should call the method when InstanceMethod()() called', () => {
|
|
28
|
-
const method = sinon_1.default.stub().callsFake(input => {
|
|
29
|
-
return `${input}-world`;
|
|
30
|
-
});
|
|
31
|
-
const myInstanceMethod = (0, methods_1.WrapperInstanceMethod)(method);
|
|
32
|
-
const model = (0, models_1.BaseModel)('Test', {
|
|
33
|
-
properties: { text: (0, properties_1.TextProperty)() },
|
|
34
|
-
});
|
|
35
|
-
const modelInstance = model.create({ text: 'Hello' });
|
|
36
|
-
const actual = myInstanceMethod(modelInstance);
|
|
37
|
-
sinon_1.default.assert.calledOnce(method);
|
|
38
|
-
});
|
|
39
|
-
it('should not call the method when InstanceMethod() called', () => {
|
|
40
|
-
const method = sinon_1.default.stub().callsFake(input => {
|
|
41
|
-
return `${input}-world`;
|
|
42
|
-
});
|
|
43
|
-
const myInstanceMethod = (0, methods_1.WrapperInstanceMethod)(method);
|
|
44
|
-
sinon_1.default.assert.notCalled(method);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=methods.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"methods.test.js","sourceRoot":"","sources":["../../../test/src/methods.test.ts"],"names":[],"mappings":";;;;;AAAA,+BAA6B;AAC7B,kDAAyB;AACzB,6CAA4C;AAC5C,qDAA6D;AAC7D,+CAAyD;AAIzD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5C,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAA;YACpC,CAAC,CAAC,CAAA;YACF,MAAM,gBAAgB,GAAG,IAAA,+BAAqB,EAAkB,MAAM,CAAC,CAAA;YACvE,MAAM,UAAU,GAAG,OAAO,CAAA;YAC1B,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAkB,MAAM,EAAE;gBAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,IAAA,yBAAY,GAAE,EAAE;aACrC,CAAC,CAAA;YACF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;YAC9C,MAAM,QAAQ,GAAG,aAAa,CAAA;YAC9B,aAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5C,OAAO,GAAG,KAAK,QAAQ,CAAA;YACzB,CAAC,CAAC,CAAA;YACF,MAAM,gBAAgB,GAAG,IAAA,+BAAqB,EAAkB,MAAM,CAAC,CAAA;YACvE,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAkB,MAAM,EAAE;gBAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,IAAA,yBAAY,GAAE,EAAE;aACrC,CAAC,CAAA;YACF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;YAC9C,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,eAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5C,OAAO,GAAG,KAAK,QAAQ,CAAA;YACzB,CAAC,CAAC,CAAA;YACF,MAAM,gBAAgB,GAAG,IAAA,+BAAqB,EAAkB,MAAM,CAAC,CAAA;YACvE,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/test/src/models.test.js
DELETED
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const sinon_1 = __importDefault(require("sinon"));
|
|
16
|
-
const chai_1 = require("chai");
|
|
17
|
-
const models_1 = require("../../src/models");
|
|
18
|
-
const properties_1 = require("../../src/properties");
|
|
19
|
-
const methods_1 = require("../../src/methods");
|
|
20
|
-
const properties_2 = require("../../src/properties");
|
|
21
|
-
const TEST_MODEL_1 = (0, models_1.BaseModel)('MyModel', {
|
|
22
|
-
properties: {
|
|
23
|
-
name: (0, properties_1.TextProperty)(),
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
describe('/src/models.ts', () => {
|
|
27
|
-
describe('#Model()', () => {
|
|
28
|
-
it('should pass a functional instance to the instanceMethods by the time the function is called by a client', () => {
|
|
29
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
30
|
-
properties: {
|
|
31
|
-
name: (0, properties_1.TextProperty)(),
|
|
32
|
-
},
|
|
33
|
-
instanceMethods: {
|
|
34
|
-
func1: (0, methods_1.WrapperInstanceMethod)((instance) => {
|
|
35
|
-
// @ts-ignore
|
|
36
|
-
return instance.methods.func2();
|
|
37
|
-
}),
|
|
38
|
-
func2: (instance) => {
|
|
39
|
-
return 'from instance func2';
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
const instance = model.create({ name: 'name' });
|
|
44
|
-
const actual = instance.methods.func1();
|
|
45
|
-
const expected = 'from instance func2';
|
|
46
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
47
|
-
});
|
|
48
|
-
it('should pass the clients arguments before the model is passed', () => {
|
|
49
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
50
|
-
properties: {},
|
|
51
|
-
modelMethods: {
|
|
52
|
-
func1: (0, methods_1.WrapperModelMethod)((model, input) => {
|
|
53
|
-
return `${input} ${model.methods.func2()}`;
|
|
54
|
-
}),
|
|
55
|
-
func2: (0, methods_1.WrapperModelMethod)(model => {
|
|
56
|
-
return 'from func2';
|
|
57
|
-
}),
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
const actual = model.methods.func1('hello');
|
|
61
|
-
const expected = 'hello from func2';
|
|
62
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
63
|
-
});
|
|
64
|
-
it('should pass a functional model to the modelFunction by the time the function is called by a client', () => {
|
|
65
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
66
|
-
properties: {},
|
|
67
|
-
modelMethods: {
|
|
68
|
-
func1: model => {
|
|
69
|
-
return model.methods.func2();
|
|
70
|
-
},
|
|
71
|
-
func2: model => {
|
|
72
|
-
return 'from func2';
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
const actual = model.methods.func1();
|
|
77
|
-
const expected = 'from func2';
|
|
78
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
79
|
-
});
|
|
80
|
-
it('should find model.myString when modelExtension has myString function in it', () => {
|
|
81
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
82
|
-
properties: {},
|
|
83
|
-
modelMethods: {
|
|
84
|
-
myString: model => {
|
|
85
|
-
return 'To String';
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
});
|
|
89
|
-
chai_1.assert.isFunction(model.methods.myString);
|
|
90
|
-
});
|
|
91
|
-
describe('#getPrimaryKeyName()', () => {
|
|
92
|
-
it('should return "primaryKey" when this value is passed in as the primaryKey', () => {
|
|
93
|
-
const expected = 'primaryKey';
|
|
94
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
95
|
-
getPrimaryKeyName: () => expected,
|
|
96
|
-
properties: {},
|
|
97
|
-
modelMethods: {
|
|
98
|
-
myString: model => {
|
|
99
|
-
return 'To String';
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
const actual = model.getPrimaryKeyName();
|
|
104
|
-
chai_1.assert.equal(actual, expected);
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
describe('#create()', () => {
|
|
108
|
-
it('should have a references.theReference when properties has a ReferenceProperty named "theReference"', () => {
|
|
109
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
110
|
-
properties: {
|
|
111
|
-
theReference: (0, properties_1.ReferenceProperty)(TEST_MODEL_1),
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
const instance = model.create({});
|
|
115
|
-
chai_1.assert.isFunction(instance.references.theReference);
|
|
116
|
-
});
|
|
117
|
-
it('should have an "get.id" field when no primaryKey is passed', () => {
|
|
118
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
119
|
-
properties: {},
|
|
120
|
-
});
|
|
121
|
-
const instance = model.create({});
|
|
122
|
-
chai_1.assert.isFunction(instance.get.id);
|
|
123
|
-
});
|
|
124
|
-
it('should have an "getMyPrimaryKeyId" field when "myPrimaryKeyId" is passed as the "getPrimaryKey" is passed', () => {
|
|
125
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
126
|
-
getPrimaryKeyName: () => 'myPrimaryKeyId',
|
|
127
|
-
properties: {
|
|
128
|
-
myPrimaryKeyId: (0, properties_2.UniqueId)(),
|
|
129
|
-
},
|
|
130
|
-
});
|
|
131
|
-
const instance = model.create({ myPrimaryKeyId: 'blah' });
|
|
132
|
-
chai_1.assert.isFunction(instance.get.myPrimaryKeyId);
|
|
133
|
-
});
|
|
134
|
-
it('should find instance.methods.toString when in instanceMethods', () => {
|
|
135
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
136
|
-
properties: {},
|
|
137
|
-
instanceMethods: {
|
|
138
|
-
toString: instance => {
|
|
139
|
-
return 'An instance';
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
});
|
|
143
|
-
const instance = model.create({});
|
|
144
|
-
chai_1.assert.isFunction(instance.methods.toString);
|
|
145
|
-
});
|
|
146
|
-
it('should call all the instanceCreatedCallback functions when create() is called', () => {
|
|
147
|
-
const input = {
|
|
148
|
-
properties: {
|
|
149
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
150
|
-
},
|
|
151
|
-
};
|
|
152
|
-
const callbacks = [sinon_1.default.stub(), sinon_1.default.stub()];
|
|
153
|
-
const model = (0, models_1.BaseModel)('name', input, {
|
|
154
|
-
instanceCreatedCallback: callbacks,
|
|
155
|
-
});
|
|
156
|
-
model.create({ myProperty: 'value' });
|
|
157
|
-
callbacks.forEach(x => {
|
|
158
|
-
sinon_1.default.assert.calledOnce(x);
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
it('should call the instanceCreatedCallback function when create() is called', () => {
|
|
162
|
-
const input = {
|
|
163
|
-
properties: {
|
|
164
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
165
|
-
},
|
|
166
|
-
};
|
|
167
|
-
const callback = sinon_1.default.stub();
|
|
168
|
-
const model = (0, models_1.BaseModel)('name', input, {
|
|
169
|
-
instanceCreatedCallback: callback,
|
|
170
|
-
});
|
|
171
|
-
model.create({ myProperty: 'value' });
|
|
172
|
-
sinon_1.default.assert.calledOnce(callback);
|
|
173
|
-
});
|
|
174
|
-
it('should not throw an exception if nothing is passed into function', () => {
|
|
175
|
-
const input = {
|
|
176
|
-
properties: {
|
|
177
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
178
|
-
},
|
|
179
|
-
};
|
|
180
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
181
|
-
chai_1.assert.doesNotThrow(() => {
|
|
182
|
-
model.create({});
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
it('should return an object that contains getModel().getModelDefinition().properties.myProperty', () => {
|
|
186
|
-
const input = {
|
|
187
|
-
properties: {
|
|
188
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
189
|
-
},
|
|
190
|
-
};
|
|
191
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
192
|
-
const instance = model.create({ myProperty: 'value' });
|
|
193
|
-
const actual = instance.getModel().getModelDefinition()
|
|
194
|
-
.properties.myProperty;
|
|
195
|
-
chai_1.assert.isOk(actual);
|
|
196
|
-
});
|
|
197
|
-
it('should flow through the additional special functions within the keyValues', () => {
|
|
198
|
-
const input = {
|
|
199
|
-
properties: {
|
|
200
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
201
|
-
},
|
|
202
|
-
instanceMethods: {
|
|
203
|
-
custom: () => 'works',
|
|
204
|
-
},
|
|
205
|
-
};
|
|
206
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
207
|
-
const instance = model.create({ myProperty: 'value' });
|
|
208
|
-
const actual = instance.methods.custom();
|
|
209
|
-
const expected = 'works';
|
|
210
|
-
chai_1.assert.equal(actual, expected);
|
|
211
|
-
});
|
|
212
|
-
it('should return an object that contains .getModel().getName()===test-the-name', () => {
|
|
213
|
-
const input = {
|
|
214
|
-
properties: {
|
|
215
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
216
|
-
},
|
|
217
|
-
};
|
|
218
|
-
const model = (0, models_1.BaseModel)('test-the-name', input);
|
|
219
|
-
const instance = model.create({ myProperty: 'value' });
|
|
220
|
-
const actual = instance.getModel().getName();
|
|
221
|
-
const expected = 'test-the-name';
|
|
222
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
223
|
-
});
|
|
224
|
-
it('should use the value passed in when Property.defaultValue and Property.value are not set', () => {
|
|
225
|
-
const input = {
|
|
226
|
-
properties: {
|
|
227
|
-
myProperty: (0, properties_1.TextProperty)({ required: true }),
|
|
228
|
-
},
|
|
229
|
-
};
|
|
230
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
231
|
-
const instance = model.create({ myProperty: 'passed-in' });
|
|
232
|
-
const actual = instance.get.myProperty();
|
|
233
|
-
const expected = 'passed-in';
|
|
234
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
235
|
-
});
|
|
236
|
-
it('should use the value for Property.value when even if Property.defaultValue is set and a value is passed in', () => {
|
|
237
|
-
const input = {
|
|
238
|
-
properties: {
|
|
239
|
-
myProperty: (0, properties_1.Property)('MyProperty', {
|
|
240
|
-
value: 'value',
|
|
241
|
-
defaultValue: 'default-value',
|
|
242
|
-
}),
|
|
243
|
-
},
|
|
244
|
-
};
|
|
245
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
246
|
-
const instance = model.create({ myProperty: 'passed-in' });
|
|
247
|
-
const actual = instance.get.myProperty();
|
|
248
|
-
const expected = 'value';
|
|
249
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
250
|
-
});
|
|
251
|
-
it('should use the value for Property.value when even if Property.defaultValue is not set and a value is passed in', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
252
|
-
const input = {
|
|
253
|
-
properties: {
|
|
254
|
-
myProperty: (0, properties_1.Property)('MyProperty', { value: 'value' }),
|
|
255
|
-
},
|
|
256
|
-
};
|
|
257
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
258
|
-
const instance = model.create({ myProperty: 'passed-in' });
|
|
259
|
-
const actual = instance.get.myProperty();
|
|
260
|
-
const expected = 'value';
|
|
261
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
262
|
-
}));
|
|
263
|
-
it('should use the value for Property.defaultValue when Property.value is not set and no value is passed in', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
264
|
-
const input = {
|
|
265
|
-
properties: {
|
|
266
|
-
myProperty: (0, properties_1.Property)('MyProperty', {
|
|
267
|
-
defaultValue: 'defaultValue',
|
|
268
|
-
}),
|
|
269
|
-
},
|
|
270
|
-
};
|
|
271
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
272
|
-
// @ts-ignore
|
|
273
|
-
const instance = model.create({});
|
|
274
|
-
const actual = instance.get.myProperty();
|
|
275
|
-
const expected = 'defaultValue';
|
|
276
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
277
|
-
}));
|
|
278
|
-
it('should use the value for Property.defaultValue when Property.value is not set and null is passed as a value', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
279
|
-
const input = {
|
|
280
|
-
properties: {
|
|
281
|
-
myProperty: (0, properties_1.Property)('MyProperty', {
|
|
282
|
-
defaultValue: 'defaultValue',
|
|
283
|
-
}),
|
|
284
|
-
},
|
|
285
|
-
};
|
|
286
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
287
|
-
const instance = model.create({ myProperty: null });
|
|
288
|
-
const actual = instance.get.myProperty();
|
|
289
|
-
const expected = 'defaultValue';
|
|
290
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
291
|
-
}));
|
|
292
|
-
it('should return a model with get.id and get.type for the provided valid keyToProperty', () => {
|
|
293
|
-
const input = {
|
|
294
|
-
properties: {
|
|
295
|
-
id: (0, properties_2.UniqueId)({ required: true }),
|
|
296
|
-
type: (0, properties_1.Property)('MyProperty', {}),
|
|
297
|
-
},
|
|
298
|
-
};
|
|
299
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
300
|
-
const actual = model.create({ id: 'my-id', type: 'my-type' });
|
|
301
|
-
chai_1.assert.isOk(actual.get.id);
|
|
302
|
-
chai_1.assert.isOk(actual.get.type);
|
|
303
|
-
});
|
|
304
|
-
it('should return the id when get.id() is called', () => {
|
|
305
|
-
const expected = 'my-id';
|
|
306
|
-
const input = {
|
|
307
|
-
properties: {
|
|
308
|
-
id: (0, properties_1.Property)('myid', {}),
|
|
309
|
-
type: (0, properties_1.Property)('MyProperty', {}),
|
|
310
|
-
},
|
|
311
|
-
};
|
|
312
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
313
|
-
const instance = model.create({ id: expected, type: 'my-type' });
|
|
314
|
-
const actual = instance.get.id();
|
|
315
|
-
chai_1.assert.equal(actual, expected);
|
|
316
|
-
});
|
|
317
|
-
it('should have a Promise for the default get.id()', () => {
|
|
318
|
-
const expected = 'my-id';
|
|
319
|
-
const input = {
|
|
320
|
-
properties: {
|
|
321
|
-
type: (0, properties_1.Property)('MyProperty', {}),
|
|
322
|
-
},
|
|
323
|
-
};
|
|
324
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
325
|
-
const instance = model.create({ id: expected, type: 'my-type' });
|
|
326
|
-
const actual = instance.get.id();
|
|
327
|
-
// @ts-ignore
|
|
328
|
-
chai_1.assert.isOk(actual.then);
|
|
329
|
-
});
|
|
330
|
-
it('should return a model where validate returns one error for id', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
331
|
-
const input = {
|
|
332
|
-
properties: {
|
|
333
|
-
id: (0, properties_1.Property)('MyId', { required: true }),
|
|
334
|
-
type: (0, properties_1.Property)('MyProperty', {}),
|
|
335
|
-
},
|
|
336
|
-
};
|
|
337
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
338
|
-
const instance = model.create({ type: 'my-type' });
|
|
339
|
-
const actual = yield instance.validate();
|
|
340
|
-
const expected = 1;
|
|
341
|
-
chai_1.assert.equal(Object.values(actual).length, expected);
|
|
342
|
-
}));
|
|
343
|
-
it('should return a model where validate returns one error for the missing text property', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
344
|
-
const input = {
|
|
345
|
-
properties: {
|
|
346
|
-
id: (0, properties_1.Property)('MyProperty', { required: true }),
|
|
347
|
-
text: (0, properties_1.TextProperty)({ required: true }),
|
|
348
|
-
},
|
|
349
|
-
};
|
|
350
|
-
const model = (0, models_1.BaseModel)('name', input);
|
|
351
|
-
const instance = model.create({ id: 'my-id' });
|
|
352
|
-
const actual = yield instance.validate();
|
|
353
|
-
const expected = 1;
|
|
354
|
-
chai_1.assert.equal(Object.values(actual).length, expected);
|
|
355
|
-
}));
|
|
356
|
-
});
|
|
357
|
-
it('should return an object with a function "create" when called once with valid data', () => {
|
|
358
|
-
const actual = (0, models_1.BaseModel)('name', { properties: {} });
|
|
359
|
-
chai_1.assert.isFunction(actual.create);
|
|
360
|
-
});
|
|
361
|
-
describe('#references.getMyReferencedId()', () => {
|
|
362
|
-
it('should return the id from the ReferenceProperty', () => {
|
|
363
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
364
|
-
properties: {
|
|
365
|
-
myReference: (0, properties_1.ReferenceProperty)(TEST_MODEL_1),
|
|
366
|
-
},
|
|
367
|
-
});
|
|
368
|
-
const instance = model.create({ myReference: 'unit-test-id' });
|
|
369
|
-
const actual = instance.references.myReference();
|
|
370
|
-
const expected = 'unit-test-id';
|
|
371
|
-
chai_1.assert.deepEqual(actual, expected);
|
|
372
|
-
});
|
|
373
|
-
});
|
|
374
|
-
describe('#getPrimaryKey()', () => {
|
|
375
|
-
it('should return the id field when no primaryKey is passed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
376
|
-
const model = (0, models_1.BaseModel)('ModelName', { properties: {} });
|
|
377
|
-
const expected = 'my-primary-key';
|
|
378
|
-
const instance = model.create({ id: expected });
|
|
379
|
-
const actual = yield instance.getPrimaryKey();
|
|
380
|
-
chai_1.assert.equal(actual, expected);
|
|
381
|
-
}));
|
|
382
|
-
it('should return the primaryKey field when "primaryKey" is passed as primaryKey', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
383
|
-
const model = (0, models_1.BaseModel)('ModelName', {
|
|
384
|
-
getPrimaryKeyName: () => 'primaryKey',
|
|
385
|
-
properties: {},
|
|
386
|
-
});
|
|
387
|
-
const expected = 'my-primary-key';
|
|
388
|
-
const instance = model.create({ primaryKey: expected });
|
|
389
|
-
const actual = yield instance.getPrimaryKey();
|
|
390
|
-
chai_1.assert.equal(actual, expected);
|
|
391
|
-
}));
|
|
392
|
-
});
|
|
393
|
-
});
|
|
394
|
-
});
|
|
395
|
-
//# sourceMappingURL=models.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.test.js","sourceRoot":"","sources":["../../../test/src/models.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|