@coderzz/mocker-data-generator 3.0.5 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/LICENSE +0 -0
  3. package/README.md +0 -0
  4. package/build/main/array-includes.d.ts +0 -0
  5. package/build/main/array-includes.js +45 -45
  6. package/build/main/index.d.ts +7 -7
  7. package/build/main/index.js +12 -12
  8. package/build/main/index.spec.d.ts +1 -1
  9. package/build/main/index.spec.js +16 -16
  10. package/build/main/lib/Generator.d.ts +61 -61
  11. package/build/main/lib/Generator.js +134 -134
  12. package/build/main/lib/Mocker.d.ts +22 -22
  13. package/build/main/lib/Mocker.js +76 -76
  14. package/build/main/lib/Schema.d.ts +9 -9
  15. package/build/main/lib/Schema.js +210 -210
  16. package/build/main/lib/types.d.ts +8 -8
  17. package/build/main/lib/types.js +2 -2
  18. package/build/main/lib/utils.d.ts +10 -10
  19. package/build/main/lib/utils.js +222 -222
  20. package/build/main/tests/Generator.db.spec.d.ts +1 -1
  21. package/build/main/tests/Generator.db.spec.js +33 -33
  22. package/build/main/tests/Generator.eval.spec.d.ts +1 -1
  23. package/build/main/tests/Generator.eval.spec.js +21 -21
  24. package/build/main/tests/Generator.function.spec.d.ts +1 -1
  25. package/build/main/tests/Generator.function.spec.js +48 -48
  26. package/build/main/tests/Generator.generator.spec.d.ts +1 -1
  27. package/build/main/tests/Generator.generator.spec.js +187 -187
  28. package/build/main/tests/Generator.hasMany.spec.d.ts +1 -1
  29. package/build/main/tests/Generator.hasMany.spec.js +115 -115
  30. package/build/main/tests/Generator.hasOne.spec.d.ts +1 -1
  31. package/build/main/tests/Generator.hasOne.spec.js +146 -146
  32. package/build/main/tests/Generator.incrementalId.spec.d.ts +1 -1
  33. package/build/main/tests/Generator.incrementalId.spec.js +26 -26
  34. package/build/main/tests/Generator.self.spec.d.ts +1 -1
  35. package/build/main/tests/Generator.self.spec.js +24 -24
  36. package/build/main/tests/Generator.static.spec.d.ts +1 -1
  37. package/build/main/tests/Generator.static.spec.js +15 -15
  38. package/build/main/tests/Generator.values.spec.d.ts +1 -1
  39. package/build/main/tests/Generator.values.spec.js +16 -16
  40. package/build/main/tests/Mocker.build.spec.d.ts +1 -1
  41. package/build/main/tests/Mocker.build.spec.js +196 -196
  42. package/build/main/tests/Mocker.reset.spec.d.ts +1 -1
  43. package/build/main/tests/Mocker.reset.spec.js +17 -17
  44. package/build/main/tests/Mocker.restart.spec.d.ts +1 -1
  45. package/build/main/tests/Mocker.restart.spec.js +24 -24
  46. package/build/main/tests/Mocker.schema.spec.d.ts +1 -1
  47. package/build/main/tests/Mocker.schema.spec.js +18 -18
  48. package/build/main/tests/Mocker.seed.spec.d.ts +1 -1
  49. package/build/main/tests/Mocker.seed.spec.js +42 -42
  50. package/build/main/tests/Schema.Array.spec.d.ts +1 -1
  51. package/build/main/tests/Schema.Array.spec.js +332 -332
  52. package/build/main/tests/Schema.BuildSingle.spec.d.ts +1 -1
  53. package/build/main/tests/Schema.BuildSingle.spec.js +13 -13
  54. package/build/main/tests/mocker.spec.d.ts +1 -1
  55. package/build/main/tests/mocker.spec.js +405 -405
  56. package/build/module/array-includes.js +45 -45
  57. package/build/module/index.js +7 -7
  58. package/build/module/lib/Generator.js +131 -131
  59. package/build/module/lib/Mocker.js +73 -73
  60. package/build/module/lib/Schema.js +207 -207
  61. package/build/module/lib/types.js +1 -1
  62. package/build/module/lib/utils.js +209 -209
  63. package/package.json +1 -1
@@ -1,405 +1,405 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var ava_1 = require("ava");
5
- var __1 = require("..");
6
- (0, ava_1.default)('Should return an new instance of mocker', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
7
- return tslib_1.__generator(this, function (_a) {
8
- t.deepEqual((0, __1.default)(), new __1.Mocker());
9
- return [2 /*return*/];
10
- });
11
- }); });
12
- (0, ava_1.default)('Should iterate root level too with fields in models', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
13
- var length, expectedResult, user, db;
14
- return tslib_1.__generator(this, function (_a) {
15
- switch (_a.label) {
16
- case 0:
17
- length = 1;
18
- expectedResult = { user: ['firstName'] };
19
- user = { static: 'firstName' };
20
- return [4 /*yield*/, (0, __1.default)().schema('user', user, length).build()];
21
- case 1:
22
- db = _a.sent();
23
- t.deepEqual(db, expectedResult);
24
- return [2 /*return*/];
25
- }
26
- });
27
- }); });
28
- (0, ava_1.default)('Virtuals should be eliminated in the final object and can be accesible during generation', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
29
- var model, expectedResult, db;
30
- return tslib_1.__generator(this, function (_a) {
31
- switch (_a.label) {
32
- case 0:
33
- model = {
34
- exampleVirtual: {
35
- incrementalId: 0,
36
- virtual: true
37
- },
38
- id: {
39
- function: function () {
40
- return this.object.exampleVirtual;
41
- }
42
- },
43
- deep: {
44
- more: {
45
- field: {
46
- static: 'im here',
47
- virtual: true
48
- }
49
- }
50
- },
51
- deep2: {
52
- more: {
53
- field: {
54
- static: 'im here'
55
- }
56
- }
57
- }
58
- };
59
- expectedResult = {
60
- id: 0,
61
- deep2: {
62
- more: {
63
- field: 'im here'
64
- }
65
- }
66
- };
67
- return [4 /*yield*/, (0, __1.default)().schema('situation', model, 1).build()];
68
- case 1:
69
- db = _a.sent();
70
- t.deepEqual(db.situation[0], expectedResult);
71
- return [2 /*return*/];
72
- }
73
- });
74
- }); });
75
- (0, ava_1.default)('Should iterate over more complex levels (deeper & function used...)', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
76
- var model, expectedResult, db;
77
- return tslib_1.__generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0:
80
- model = {
81
- name: {
82
- firstName: {
83
- static: 'firstName'
84
- },
85
- lastName: {
86
- static: 'lastName'
87
- },
88
- much: {
89
- deeper: {
90
- function: function () {
91
- return (this.object.name.firstName +
92
- ' ' +
93
- this.object.name.lastName);
94
- }
95
- },
96
- more: {
97
- deeper: {
98
- function: function () {
99
- return (this.object.name.firstName +
100
- ' ' +
101
- this.object.name.lastName);
102
- }
103
- },
104
- level: {
105
- deeper: {
106
- function: function () {
107
- return (this.object.name.firstName +
108
- ' ' +
109
- this.object.name.lastName);
110
- }
111
- },
112
- awesome: {
113
- deeper: {
114
- function: function () {
115
- return (this.object.name.firstName +
116
- ' ' +
117
- this.object.name.lastName);
118
- }
119
- },
120
- deeper2: {
121
- function: function () {
122
- return (this.object.name.firstName +
123
- ' ' +
124
- this.object.name.lastName);
125
- }
126
- }
127
- }
128
- }
129
- }
130
- }
131
- }
132
- };
133
- expectedResult = {
134
- name: {
135
- firstName: 'firstName',
136
- lastName: 'lastName',
137
- much: {
138
- deeper: 'firstName lastName',
139
- more: {
140
- deeper: 'firstName lastName',
141
- level: {
142
- deeper: 'firstName lastName',
143
- awesome: {
144
- deeper: 'firstName lastName',
145
- deeper2: 'firstName lastName'
146
- }
147
- }
148
- }
149
- }
150
- }
151
- };
152
- return [4 /*yield*/, (0, __1.default)().schema('situation', model, 1).build()];
153
- case 1:
154
- db = _a.sent();
155
- t.deepEqual(db.situation[0], expectedResult);
156
- return [2 /*return*/];
157
- }
158
- });
159
- }); });
160
- (0, ava_1.default)('Should work with conditional keys', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
161
- var conditional, expectedResult, db;
162
- return tslib_1.__generator(this, function (_a) {
163
- switch (_a.label) {
164
- case 0:
165
- conditional = {
166
- condition: {
167
- static: 'a'
168
- },
169
- 'object.condition==="a",a': {
170
- static: 'conditionLinkedToA'
171
- },
172
- 'object.condition==="b",b': {
173
- static: 'conditionLinkedToB'
174
- }
175
- };
176
- expectedResult = {
177
- condition: 'a',
178
- a: 'conditionLinkedToA'
179
- };
180
- return [4 /*yield*/, (0, __1.default)().schema('situation', conditional, 1).build()];
181
- case 1:
182
- db = _a.sent();
183
- t.deepEqual(db.situation[0], expectedResult);
184
- return [2 /*return*/];
185
- }
186
- });
187
- }); });
188
- (0, ava_1.default)('Should work with conditional keys II', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
189
- var conditional, user, email, db;
190
- return tslib_1.__generator(this, function (_a) {
191
- switch (_a.label) {
192
- case 0:
193
- conditional = {
194
- condition: {
195
- values: ['email', 'user']
196
- },
197
- 'object.condition==="email",show': {
198
- static: 'email'
199
- },
200
- 'object.condition==="user",show': {
201
- static: 'user'
202
- },
203
- 'object.condition==="email",email': {
204
- hasOne: 'emails'
205
- },
206
- 'object.condition==="user",user': {
207
- hasOne: 'users'
208
- }
209
- };
210
- user = { static: 'name.findName' };
211
- email = { static: 'internet.email' };
212
- return [4 /*yield*/, (0, __1.default)()
213
- .schema('users', user, 2)
214
- .schema('emails', email, 2)
215
- .schema('situation', conditional, 3)
216
- .build()];
217
- case 1:
218
- db = _a.sent();
219
- t.true(true);
220
- return [2 /*return*/];
221
- }
222
- });
223
- }); });
224
- (0, ava_1.default)('Should not affect init values to next entity', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
225
- var length, request, request2, db;
226
- return tslib_1.__generator(this, function (_a) {
227
- switch (_a.label) {
228
- case 0:
229
- length = 10;
230
- request = {
231
- type: {
232
- values: ['kitty', 'pitxi', 'txuri']
233
- }
234
- };
235
- request2 = {
236
- type: {
237
- static: 'staticValue'
238
- }
239
- };
240
- return [4 /*yield*/, (0, __1.default)()
241
- .schema('request', request, { uniqueField: 'type' })
242
- .schema('request2', request2, 10)
243
- .build()];
244
- case 1:
245
- db = _a.sent();
246
- t.notDeepEqual(db.request, db.request2);
247
- db.request2.forEach(function (r2) {
248
- db.request.forEach(function (r) {
249
- t.notDeepEqual(r2, r);
250
- });
251
- });
252
- return [2 /*return*/];
253
- }
254
- });
255
- }); });
256
- (0, ava_1.default)('Should generate more entities', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
257
- var length, model1, model2, data;
258
- return tslib_1.__generator(this, function (_a) {
259
- switch (_a.label) {
260
- case 0:
261
- length = 10;
262
- model1 = {
263
- request: {
264
- id: {
265
- static: 0
266
- },
267
- title: {
268
- static: 'hello im a cat'
269
- },
270
- number: {
271
- static: 0
272
- }
273
- }
274
- };
275
- model2 = {
276
- request: {
277
- id: {
278
- static: 0
279
- },
280
- title: {
281
- static: 'hello im a cat'
282
- },
283
- number: {
284
- static: 0
285
- }
286
- }
287
- };
288
- return [4 /*yield*/, (0, __1.default)()
289
- .schema('act', model1, length)
290
- .schema('act2', model2, length)
291
- .build()];
292
- case 1:
293
- data = _a.sent();
294
- t.true(Object.keys(data).length === 2);
295
- t.deepEqual(Object.keys(data), Array('act', 'act2'));
296
- t.true(data.act.length === length);
297
- t.true(data.act2.length === length);
298
- data.act.forEach(function (d) {
299
- t.true(Object.keys(d).length === Object.keys(model1).length);
300
- t.deepEqual(Object.keys(d), Object.keys(model1));
301
- t.deepEqual(Object.keys(d.request), Object.keys(model1.request));
302
- });
303
- data.act2.forEach(function (d) {
304
- t.true(Object.keys(d).length === Object.keys(model2).length);
305
- t.deepEqual(Object.keys(d), Object.keys(model2));
306
- t.deepEqual(Object.keys(d.request), Object.keys(model2.request));
307
- });
308
- return [2 /*return*/];
309
- }
310
- });
311
- }); });
312
- (0, ava_1.default)('Should uniqueField works', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
313
- var cat, cat2, result, data;
314
- return tslib_1.__generator(this, function (_a) {
315
- switch (_a.label) {
316
- case 0:
317
- cat = {
318
- name: ['txuri', 'pitxi', 'kitty']
319
- };
320
- cat2 = {
321
- name: ['txuri', 'pitxi', 'kitty']
322
- };
323
- result = [{ name: 'txuri' }, { name: 'pitxi' }, { name: 'kitty' }];
324
- return [4 /*yield*/, (0, __1.default)()
325
- .schema('cat', cat, { uniqueField: 'name' })
326
- .schema('cat2', cat2, { uniqueField: 'name' })
327
- .build()];
328
- case 1:
329
- data = _a.sent();
330
- t.deepEqual(data.cat, data.cat2);
331
- t.deepEqual(data.cat, result);
332
- t.deepEqual(data.cat2, result);
333
- return [2 /*return*/];
334
- }
335
- });
336
- }); });
337
- (0, ava_1.default)('Should max works', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
338
- var cat, data;
339
- return tslib_1.__generator(this, function (_a) {
340
- switch (_a.label) {
341
- case 0:
342
- cat = {
343
- name: { values: ['txuri', 'pitxi', 'kitty'] }
344
- };
345
- return [4 /*yield*/, (0, __1.default)()
346
- .schema('cat', cat, { max: 10 })
347
- .schema('cat2', cat, { max: 40 })
348
- .build()];
349
- case 1:
350
- data = _a.sent();
351
- t.true(data.cat.length <= 10);
352
- t.true(data.cat2.length <= 40);
353
- return [2 /*return*/];
354
- }
355
- });
356
- }); });
357
- /*
358
- test('Should max and min works', async t => {
359
- let cat = {
360
- name: ['txuri', 'pitxi', 'kitty']
361
- }
362
-
363
- let data = await mocker()
364
- .schema('cat', cat, { min: 5, max: 10 })
365
- .schema('cat2', cat, { min: 10, max: 40 })
366
- .build()
367
-
368
- t.true(data.cat.length <= 10)
369
- t.true(data.cat.length >= 5)
370
- t.true(data.cat2.length <= 40)
371
- t.true(data.cat2.length >= 10)
372
- })
373
-
374
- test('Should generate correctly with 2 ways of uniqueField', function(done) {
375
- var cat = {
376
- name: ['txuri', 'pitxi', 'kitty']
377
- };
378
- var cat2 = {
379
- name: {
380
- values: ['txuri', 'pitxi', 'kitty']
381
- }
382
- };
383
- var result = [ { name: 'txuri' }, { name: 'pitxi' }, { name: 'kitty' } ]
384
- var m = mocker()
385
- .schema('cat', cat, {uniqueField: 'name'})
386
- .schema('cat2', cat2, {uniqueField: 'name'})
387
- .build(function(data){
388
- try {
389
- expect(data.cat)
390
- .to.deep.equal(data.cat2)
391
- .to.deep.equal(result)
392
- .to.not.be.undefined
393
- .to.not.be.null
394
- done()
395
- } catch (x) {
396
- done(x)
397
- }
398
- })
399
- })*/
400
- (0, ava_1.default)('Should be awesome', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
401
- return tslib_1.__generator(this, function (_a) {
402
- t.true(true);
403
- return [2 /*return*/];
404
- });
405
- }); });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var ava_1 = require("ava");
5
+ var __1 = require("..");
6
+ (0, ava_1.default)('Should return an new instance of mocker', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
7
+ return tslib_1.__generator(this, function (_a) {
8
+ t.deepEqual((0, __1.default)(), new __1.Mocker());
9
+ return [2 /*return*/];
10
+ });
11
+ }); });
12
+ (0, ava_1.default)('Should iterate root level too with fields in models', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
13
+ var length, expectedResult, user, db;
14
+ return tslib_1.__generator(this, function (_a) {
15
+ switch (_a.label) {
16
+ case 0:
17
+ length = 1;
18
+ expectedResult = { user: ['firstName'] };
19
+ user = { static: 'firstName' };
20
+ return [4 /*yield*/, (0, __1.default)().schema('user', user, length).build()];
21
+ case 1:
22
+ db = _a.sent();
23
+ t.deepEqual(db, expectedResult);
24
+ return [2 /*return*/];
25
+ }
26
+ });
27
+ }); });
28
+ (0, ava_1.default)('Virtuals should be eliminated in the final object and can be accesible during generation', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
29
+ var model, expectedResult, db;
30
+ return tslib_1.__generator(this, function (_a) {
31
+ switch (_a.label) {
32
+ case 0:
33
+ model = {
34
+ exampleVirtual: {
35
+ incrementalId: 0,
36
+ virtual: true
37
+ },
38
+ id: {
39
+ function: function () {
40
+ return this.object.exampleVirtual;
41
+ }
42
+ },
43
+ deep: {
44
+ more: {
45
+ field: {
46
+ static: 'im here',
47
+ virtual: true
48
+ }
49
+ }
50
+ },
51
+ deep2: {
52
+ more: {
53
+ field: {
54
+ static: 'im here'
55
+ }
56
+ }
57
+ }
58
+ };
59
+ expectedResult = {
60
+ id: 0,
61
+ deep2: {
62
+ more: {
63
+ field: 'im here'
64
+ }
65
+ }
66
+ };
67
+ return [4 /*yield*/, (0, __1.default)().schema('situation', model, 1).build()];
68
+ case 1:
69
+ db = _a.sent();
70
+ t.deepEqual(db.situation[0], expectedResult);
71
+ return [2 /*return*/];
72
+ }
73
+ });
74
+ }); });
75
+ (0, ava_1.default)('Should iterate over more complex levels (deeper & function used...)', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
76
+ var model, expectedResult, db;
77
+ return tslib_1.__generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0:
80
+ model = {
81
+ name: {
82
+ firstName: {
83
+ static: 'firstName'
84
+ },
85
+ lastName: {
86
+ static: 'lastName'
87
+ },
88
+ much: {
89
+ deeper: {
90
+ function: function () {
91
+ return (this.object.name.firstName +
92
+ ' ' +
93
+ this.object.name.lastName);
94
+ }
95
+ },
96
+ more: {
97
+ deeper: {
98
+ function: function () {
99
+ return (this.object.name.firstName +
100
+ ' ' +
101
+ this.object.name.lastName);
102
+ }
103
+ },
104
+ level: {
105
+ deeper: {
106
+ function: function () {
107
+ return (this.object.name.firstName +
108
+ ' ' +
109
+ this.object.name.lastName);
110
+ }
111
+ },
112
+ awesome: {
113
+ deeper: {
114
+ function: function () {
115
+ return (this.object.name.firstName +
116
+ ' ' +
117
+ this.object.name.lastName);
118
+ }
119
+ },
120
+ deeper2: {
121
+ function: function () {
122
+ return (this.object.name.firstName +
123
+ ' ' +
124
+ this.object.name.lastName);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ }
131
+ }
132
+ };
133
+ expectedResult = {
134
+ name: {
135
+ firstName: 'firstName',
136
+ lastName: 'lastName',
137
+ much: {
138
+ deeper: 'firstName lastName',
139
+ more: {
140
+ deeper: 'firstName lastName',
141
+ level: {
142
+ deeper: 'firstName lastName',
143
+ awesome: {
144
+ deeper: 'firstName lastName',
145
+ deeper2: 'firstName lastName'
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ };
152
+ return [4 /*yield*/, (0, __1.default)().schema('situation', model, 1).build()];
153
+ case 1:
154
+ db = _a.sent();
155
+ t.deepEqual(db.situation[0], expectedResult);
156
+ return [2 /*return*/];
157
+ }
158
+ });
159
+ }); });
160
+ (0, ava_1.default)('Should work with conditional keys', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
161
+ var conditional, expectedResult, db;
162
+ return tslib_1.__generator(this, function (_a) {
163
+ switch (_a.label) {
164
+ case 0:
165
+ conditional = {
166
+ condition: {
167
+ static: 'a'
168
+ },
169
+ 'object.condition==="a",a': {
170
+ static: 'conditionLinkedToA'
171
+ },
172
+ 'object.condition==="b",b': {
173
+ static: 'conditionLinkedToB'
174
+ }
175
+ };
176
+ expectedResult = {
177
+ condition: 'a',
178
+ a: 'conditionLinkedToA'
179
+ };
180
+ return [4 /*yield*/, (0, __1.default)().schema('situation', conditional, 1).build()];
181
+ case 1:
182
+ db = _a.sent();
183
+ t.deepEqual(db.situation[0], expectedResult);
184
+ return [2 /*return*/];
185
+ }
186
+ });
187
+ }); });
188
+ (0, ava_1.default)('Should work with conditional keys II', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
189
+ var conditional, user, email, db;
190
+ return tslib_1.__generator(this, function (_a) {
191
+ switch (_a.label) {
192
+ case 0:
193
+ conditional = {
194
+ condition: {
195
+ values: ['email', 'user']
196
+ },
197
+ 'object.condition==="email",show': {
198
+ static: 'email'
199
+ },
200
+ 'object.condition==="user",show': {
201
+ static: 'user'
202
+ },
203
+ 'object.condition==="email",email': {
204
+ hasOne: 'emails'
205
+ },
206
+ 'object.condition==="user",user': {
207
+ hasOne: 'users'
208
+ }
209
+ };
210
+ user = { static: 'name.findName' };
211
+ email = { static: 'internet.email' };
212
+ return [4 /*yield*/, (0, __1.default)()
213
+ .schema('users', user, 2)
214
+ .schema('emails', email, 2)
215
+ .schema('situation', conditional, 3)
216
+ .build()];
217
+ case 1:
218
+ db = _a.sent();
219
+ t.true(true);
220
+ return [2 /*return*/];
221
+ }
222
+ });
223
+ }); });
224
+ (0, ava_1.default)('Should not affect init values to next entity', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
225
+ var length, request, request2, db;
226
+ return tslib_1.__generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0:
229
+ length = 10;
230
+ request = {
231
+ type: {
232
+ values: ['kitty', 'pitxi', 'txuri']
233
+ }
234
+ };
235
+ request2 = {
236
+ type: {
237
+ static: 'staticValue'
238
+ }
239
+ };
240
+ return [4 /*yield*/, (0, __1.default)()
241
+ .schema('request', request, { uniqueField: 'type' })
242
+ .schema('request2', request2, 10)
243
+ .build()];
244
+ case 1:
245
+ db = _a.sent();
246
+ t.notDeepEqual(db.request, db.request2);
247
+ db.request2.forEach(function (r2) {
248
+ db.request.forEach(function (r) {
249
+ t.notDeepEqual(r2, r);
250
+ });
251
+ });
252
+ return [2 /*return*/];
253
+ }
254
+ });
255
+ }); });
256
+ (0, ava_1.default)('Should generate more entities', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
257
+ var length, model1, model2, data;
258
+ return tslib_1.__generator(this, function (_a) {
259
+ switch (_a.label) {
260
+ case 0:
261
+ length = 10;
262
+ model1 = {
263
+ request: {
264
+ id: {
265
+ static: 0
266
+ },
267
+ title: {
268
+ static: 'hello im a cat'
269
+ },
270
+ number: {
271
+ static: 0
272
+ }
273
+ }
274
+ };
275
+ model2 = {
276
+ request: {
277
+ id: {
278
+ static: 0
279
+ },
280
+ title: {
281
+ static: 'hello im a cat'
282
+ },
283
+ number: {
284
+ static: 0
285
+ }
286
+ }
287
+ };
288
+ return [4 /*yield*/, (0, __1.default)()
289
+ .schema('act', model1, length)
290
+ .schema('act2', model2, length)
291
+ .build()];
292
+ case 1:
293
+ data = _a.sent();
294
+ t.true(Object.keys(data).length === 2);
295
+ t.deepEqual(Object.keys(data), Array('act', 'act2'));
296
+ t.true(data.act.length === length);
297
+ t.true(data.act2.length === length);
298
+ data.act.forEach(function (d) {
299
+ t.true(Object.keys(d).length === Object.keys(model1).length);
300
+ t.deepEqual(Object.keys(d), Object.keys(model1));
301
+ t.deepEqual(Object.keys(d.request), Object.keys(model1.request));
302
+ });
303
+ data.act2.forEach(function (d) {
304
+ t.true(Object.keys(d).length === Object.keys(model2).length);
305
+ t.deepEqual(Object.keys(d), Object.keys(model2));
306
+ t.deepEqual(Object.keys(d.request), Object.keys(model2.request));
307
+ });
308
+ return [2 /*return*/];
309
+ }
310
+ });
311
+ }); });
312
+ (0, ava_1.default)('Should uniqueField works', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
313
+ var cat, cat2, result, data;
314
+ return tslib_1.__generator(this, function (_a) {
315
+ switch (_a.label) {
316
+ case 0:
317
+ cat = {
318
+ name: ['txuri', 'pitxi', 'kitty']
319
+ };
320
+ cat2 = {
321
+ name: ['txuri', 'pitxi', 'kitty']
322
+ };
323
+ result = [{ name: 'txuri' }, { name: 'pitxi' }, { name: 'kitty' }];
324
+ return [4 /*yield*/, (0, __1.default)()
325
+ .schema('cat', cat, { uniqueField: 'name' })
326
+ .schema('cat2', cat2, { uniqueField: 'name' })
327
+ .build()];
328
+ case 1:
329
+ data = _a.sent();
330
+ t.deepEqual(data.cat, data.cat2);
331
+ t.deepEqual(data.cat, result);
332
+ t.deepEqual(data.cat2, result);
333
+ return [2 /*return*/];
334
+ }
335
+ });
336
+ }); });
337
+ (0, ava_1.default)('Should max works', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
338
+ var cat, data;
339
+ return tslib_1.__generator(this, function (_a) {
340
+ switch (_a.label) {
341
+ case 0:
342
+ cat = {
343
+ name: { values: ['txuri', 'pitxi', 'kitty'] }
344
+ };
345
+ return [4 /*yield*/, (0, __1.default)()
346
+ .schema('cat', cat, { max: 10 })
347
+ .schema('cat2', cat, { max: 40 })
348
+ .build()];
349
+ case 1:
350
+ data = _a.sent();
351
+ t.true(data.cat.length <= 10);
352
+ t.true(data.cat2.length <= 40);
353
+ return [2 /*return*/];
354
+ }
355
+ });
356
+ }); });
357
+ /*
358
+ test('Should max and min works', async t => {
359
+ let cat = {
360
+ name: ['txuri', 'pitxi', 'kitty']
361
+ }
362
+
363
+ let data = await mocker()
364
+ .schema('cat', cat, { min: 5, max: 10 })
365
+ .schema('cat2', cat, { min: 10, max: 40 })
366
+ .build()
367
+
368
+ t.true(data.cat.length <= 10)
369
+ t.true(data.cat.length >= 5)
370
+ t.true(data.cat2.length <= 40)
371
+ t.true(data.cat2.length >= 10)
372
+ })
373
+
374
+ test('Should generate correctly with 2 ways of uniqueField', function(done) {
375
+ var cat = {
376
+ name: ['txuri', 'pitxi', 'kitty']
377
+ };
378
+ var cat2 = {
379
+ name: {
380
+ values: ['txuri', 'pitxi', 'kitty']
381
+ }
382
+ };
383
+ var result = [ { name: 'txuri' }, { name: 'pitxi' }, { name: 'kitty' } ]
384
+ var m = mocker()
385
+ .schema('cat', cat, {uniqueField: 'name'})
386
+ .schema('cat2', cat2, {uniqueField: 'name'})
387
+ .build(function(data){
388
+ try {
389
+ expect(data.cat)
390
+ .to.deep.equal(data.cat2)
391
+ .to.deep.equal(result)
392
+ .to.not.be.undefined
393
+ .to.not.be.null
394
+ done()
395
+ } catch (x) {
396
+ done(x)
397
+ }
398
+ })
399
+ })*/
400
+ (0, ava_1.default)('Should be awesome', function (t) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
401
+ return tslib_1.__generator(this, function (_a) {
402
+ t.true(true);
403
+ return [2 /*return*/];
404
+ });
405
+ }); });