@projectcaluma/ember-testing 10.2.0-beta.1 → 11.0.0-beta.10
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/CHANGELOG.md +1101 -0
- package/addon/mirage-graphql/deserialize.js +13 -0
- package/addon/mirage-graphql/filters/answer.js +1 -1
- package/addon/mirage-graphql/filters/base.js +19 -22
- package/addon/mirage-graphql/filters/form.js +5 -1
- package/addon/mirage-graphql/filters/index.js +17 -0
- package/addon/mirage-graphql/filters/question.js +1 -1
- package/addon/mirage-graphql/filters/work-item.js +1 -1
- package/addon/mirage-graphql/index.js +59 -63
- package/addon/mirage-graphql/mocks/answer.js +8 -14
- package/addon/mirage-graphql/mocks/base.js +9 -11
- package/addon/mirage-graphql/mocks/form.js +2 -2
- package/addon/mirage-graphql/mocks/index.js +17 -0
- package/addon/mirage-graphql/mocks/question.js +5 -5
- package/addon/mirage-graphql/mocks/work-item.js +55 -5
- package/addon/mirage-graphql/register.js +20 -0
- package/addon/mirage-graphql/schema.graphql +757 -1873
- package/addon/mirage-graphql/serialize.js +14 -0
- package/addon/scenarios/distribution.js +136 -31
- package/addon-mirage-support/factories/answer.js +17 -18
- package/addon-mirage-support/factories/case.js +3 -3
- package/addon-mirage-support/factories/document.js +4 -2
- package/addon-mirage-support/factories/file.js +3 -3
- package/addon-mirage-support/factories/form.js +3 -2
- package/addon-mirage-support/factories/format-validator.js +2 -2
- package/addon-mirage-support/factories/option.js +1 -1
- package/addon-mirage-support/factories/question.js +2 -2
- package/addon-mirage-support/factories/task.js +2 -2
- package/addon-mirage-support/factories/work-item.js +3 -3
- package/addon-mirage-support/factories/workflow.js +1 -1
- package/addon-mirage-support/models/answer.js +1 -1
- package/addon-mirage-support/models/case.js +1 -1
- package/addon-mirage-support/models/document.js +1 -1
- package/addon-mirage-support/models/file.js +1 -1
- package/addon-mirage-support/models/form.js +1 -1
- package/addon-mirage-support/models/format-validator.js +1 -1
- package/addon-mirage-support/models/option.js +1 -1
- package/addon-mirage-support/models/question.js +2 -1
- package/addon-mirage-support/models/task.js +1 -1
- package/addon-mirage-support/models/work-item.js +1 -1
- package/addon-mirage-support/models/workflow.js +1 -1
- package/blueprints/@projectcaluma/ember-testing/index.js +1 -4
- package/package.json +16 -15
- package/addon/mirage-graphql/handler.js +0 -60
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { classify } from "@ember/string";
|
|
2
|
+
|
|
3
|
+
export default function serialize(deserialized = {}, type) {
|
|
4
|
+
const __typename = [deserialized.type?.toLowerCase(), type]
|
|
5
|
+
.filter(Boolean)
|
|
6
|
+
.map(classify)
|
|
7
|
+
.join("");
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
...deserialized,
|
|
11
|
+
id: btoa(`${__typename}:${deserialized.id}`),
|
|
12
|
+
__typename,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import faker from "faker";
|
|
2
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { DateTime } from "luxon";
|
|
3
3
|
|
|
4
4
|
export function createBlueprint(server) {
|
|
5
|
-
const inquiryForm = server.create("form", {
|
|
6
|
-
|
|
5
|
+
const inquiryForm = server.create("form", {
|
|
6
|
+
name: "Inquiry",
|
|
7
|
+
slug: "inquiry",
|
|
8
|
+
isPublished: false,
|
|
9
|
+
});
|
|
10
|
+
const inquiryAnswerForm = server.create("form", {
|
|
11
|
+
name: "Inquiry answer",
|
|
12
|
+
slug: "inquiry-answer",
|
|
13
|
+
isPublished: false,
|
|
14
|
+
});
|
|
7
15
|
|
|
8
16
|
server.create("question", {
|
|
9
17
|
slug: "inquiry-remark",
|
|
@@ -52,10 +60,21 @@ export function createBlueprint(server) {
|
|
|
52
60
|
type: "TEXTAREA",
|
|
53
61
|
formIds: [inquiryAnswerForm.id],
|
|
54
62
|
});
|
|
63
|
+
server.create("question", {
|
|
64
|
+
slug: "inquiry-answer-hint",
|
|
65
|
+
isRequired: "false",
|
|
66
|
+
maxLength: 9999,
|
|
67
|
+
minLength: 0,
|
|
68
|
+
label: "Hint",
|
|
69
|
+
type: "TEXTAREA",
|
|
70
|
+
formIds: [inquiryAnswerForm.id],
|
|
71
|
+
});
|
|
55
72
|
|
|
56
73
|
server.create("workflow", { slug: "distribution" });
|
|
57
74
|
server.create("workflow", { slug: "inquiry" });
|
|
58
75
|
|
|
76
|
+
server.create("task", { slug: "create-inquiry" });
|
|
77
|
+
server.create("task", { slug: "complete-distribution" });
|
|
59
78
|
server.create("task", { slug: "inquiry" });
|
|
60
79
|
server.create("task", {
|
|
61
80
|
slug: "compose-inquiry-answer",
|
|
@@ -75,7 +94,10 @@ export function createInquiry(
|
|
|
75
94
|
{ from, to, remark, deadline },
|
|
76
95
|
workItemAttrs = {}
|
|
77
96
|
) {
|
|
78
|
-
const document = server.create("document", {
|
|
97
|
+
const document = server.create("document", {
|
|
98
|
+
formId: "inquiry",
|
|
99
|
+
modifiedContentByUser: "1",
|
|
100
|
+
});
|
|
79
101
|
|
|
80
102
|
server.create("answer", {
|
|
81
103
|
document,
|
|
@@ -100,11 +122,20 @@ export function createInquiry(
|
|
|
100
122
|
});
|
|
101
123
|
}
|
|
102
124
|
|
|
125
|
+
export function withdrawInquiry(server, { inquiry }) {
|
|
126
|
+
inquiry.update({ status: "CANCELED" });
|
|
127
|
+
|
|
128
|
+
return inquiry;
|
|
129
|
+
}
|
|
130
|
+
|
|
103
131
|
export function sendInquiry(server, { inquiry }) {
|
|
104
132
|
const childCase = server.create("case", {
|
|
105
133
|
status: "RUNNING",
|
|
106
134
|
workflowId: "inquiry",
|
|
107
|
-
document: server.create("document", {
|
|
135
|
+
document: server.create("document", {
|
|
136
|
+
formId: "inquiry-answer",
|
|
137
|
+
modifiedContentByUser: "1",
|
|
138
|
+
}),
|
|
108
139
|
});
|
|
109
140
|
|
|
110
141
|
server.create("work-item", {
|
|
@@ -119,7 +150,7 @@ export function sendInquiry(server, { inquiry }) {
|
|
|
119
150
|
return inquiry;
|
|
120
151
|
}
|
|
121
152
|
|
|
122
|
-
export function answerInquiry(server, { inquiry, status, reason }) {
|
|
153
|
+
export function answerInquiry(server, { inquiry, status, reason, hint }) {
|
|
123
154
|
if (inquiry.status !== "READY") {
|
|
124
155
|
inquiry = sendInquiry(server, { inquiry });
|
|
125
156
|
}
|
|
@@ -133,7 +164,12 @@ export function answerInquiry(server, { inquiry, status, reason }) {
|
|
|
133
164
|
server.create("answer", {
|
|
134
165
|
document: inquiry.childCase.document,
|
|
135
166
|
questionId: "inquiry-answer-reason",
|
|
136
|
-
value: reason ?? faker.lorem.
|
|
167
|
+
value: reason ?? faker.lorem.paragraphs(3, "\n\n"),
|
|
168
|
+
});
|
|
169
|
+
server.create("answer", {
|
|
170
|
+
document: inquiry.childCase.document,
|
|
171
|
+
questionId: "inquiry-answer-hint",
|
|
172
|
+
value: hint ?? faker.lorem.paragraph(),
|
|
137
173
|
});
|
|
138
174
|
|
|
139
175
|
inquiry.childCase.workItems
|
|
@@ -188,14 +224,33 @@ export function reviseInquiry(server, { inquiry }) {
|
|
|
188
224
|
return inquiry;
|
|
189
225
|
}
|
|
190
226
|
|
|
191
|
-
export
|
|
192
|
-
createBlueprint(server);
|
|
193
|
-
|
|
227
|
+
export function createCase(server, { group }) {
|
|
194
228
|
const distributionCase = server.create("case", {
|
|
229
|
+
id: "4222ab21-9c89-47de-98be-d62a8ed0ebeb",
|
|
195
230
|
status: "RUNNING",
|
|
196
231
|
workflowId: "distribution",
|
|
197
232
|
});
|
|
198
233
|
|
|
234
|
+
server.create("work-item", {
|
|
235
|
+
case: distributionCase,
|
|
236
|
+
taskId: "create-inquiry",
|
|
237
|
+
status: "READY",
|
|
238
|
+
addressedGroups: [group.id],
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
server.create("work-item", {
|
|
242
|
+
case: distributionCase,
|
|
243
|
+
taskId: "complete-distribution",
|
|
244
|
+
status: "READY",
|
|
245
|
+
addressedGroups: [group.id],
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
return distributionCase;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export default function (server, groups) {
|
|
252
|
+
createBlueprint(server);
|
|
253
|
+
|
|
199
254
|
const g = groups[0];
|
|
200
255
|
const g1 = groups[1];
|
|
201
256
|
const g2 = groups[2];
|
|
@@ -203,27 +258,42 @@ export default function (server, groups) {
|
|
|
203
258
|
const g4 = groups[4];
|
|
204
259
|
|
|
205
260
|
const create = (...args) => createInquiry(server, distributionCase, ...args);
|
|
261
|
+
const withdraw = (...args) => withdrawInquiry(server, ...args);
|
|
206
262
|
const send = (...args) => sendInquiry(server, ...args);
|
|
207
263
|
const answer = (...args) => answerInquiry(server, ...args);
|
|
208
264
|
const confirm = (...args) => confirmInquiry(...args);
|
|
209
265
|
const revise = (...args) => reviseInquiry(server, ...args);
|
|
210
266
|
|
|
267
|
+
const distributionCase = createCase(server, { group: g });
|
|
268
|
+
|
|
211
269
|
// controlling
|
|
212
|
-
create({ from: g, to: g1 });
|
|
270
|
+
create({ from: g, to: g1 }, { id: "d570dfc3-0df7-4276-8735-892be011923c" });
|
|
271
|
+
withdraw({
|
|
272
|
+
inquiry: create(
|
|
273
|
+
{ from: g, to: g2 },
|
|
274
|
+
{ id: "4afed640-07a6-4eb9-82a7-b5e961391370" }
|
|
275
|
+
),
|
|
276
|
+
});
|
|
213
277
|
send({
|
|
214
|
-
inquiry: create(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
278
|
+
inquiry: create(
|
|
279
|
+
{
|
|
280
|
+
from: g,
|
|
281
|
+
to: g2,
|
|
282
|
+
deadline: faker.date.past(),
|
|
283
|
+
},
|
|
284
|
+
{ id: "6bbdc36a-3174-4578-93d4-0cb84d3dab97" }
|
|
285
|
+
),
|
|
219
286
|
});
|
|
220
287
|
confirm({
|
|
221
288
|
inquiry: answer({
|
|
222
|
-
inquiry: create(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
289
|
+
inquiry: create(
|
|
290
|
+
{
|
|
291
|
+
from: g,
|
|
292
|
+
to: g3,
|
|
293
|
+
deadline: faker.date.past(),
|
|
294
|
+
},
|
|
295
|
+
{ id: "88999388-daf2-4a18-b7e2-50373d082331" }
|
|
296
|
+
),
|
|
227
297
|
status: "inquiry-answer-status-needs-interaction",
|
|
228
298
|
}),
|
|
229
299
|
});
|
|
@@ -231,15 +301,32 @@ export default function (server, groups) {
|
|
|
231
301
|
// "override" third controlling inquiry
|
|
232
302
|
confirm({
|
|
233
303
|
inquiry: answer({
|
|
234
|
-
inquiry: create(
|
|
304
|
+
inquiry: create(
|
|
305
|
+
{ from: g, to: g3 },
|
|
306
|
+
{
|
|
307
|
+
id: "75d56729-5518-469d-ae66-188a5c32d59d",
|
|
308
|
+
createdAt: faker.date.recent(),
|
|
309
|
+
}
|
|
310
|
+
),
|
|
235
311
|
status: "inquiry-answer-status-positive",
|
|
236
312
|
}),
|
|
237
313
|
});
|
|
238
314
|
|
|
315
|
+
// withdrawn inquiry, should not be visible anywhere
|
|
316
|
+
withdraw({
|
|
317
|
+
inquiry: create(
|
|
318
|
+
{ from: g, to: g4 },
|
|
319
|
+
{ id: "7360fa66-83d2-4f6a-b489-5db46f6fd670" }
|
|
320
|
+
),
|
|
321
|
+
});
|
|
322
|
+
|
|
239
323
|
// addressed
|
|
240
324
|
confirm({
|
|
241
325
|
inquiry: answer({
|
|
242
|
-
inquiry: create(
|
|
326
|
+
inquiry: create(
|
|
327
|
+
{ from: g2, to: g },
|
|
328
|
+
{ id: "e907584c-a38a-488e-80f7-bab6bb22f303" }
|
|
329
|
+
),
|
|
243
330
|
status: "inquiry-answer-status-needs-interaction",
|
|
244
331
|
}),
|
|
245
332
|
});
|
|
@@ -249,24 +336,36 @@ export default function (server, groups) {
|
|
|
249
336
|
{
|
|
250
337
|
from: g2,
|
|
251
338
|
to: g,
|
|
252
|
-
deadline:
|
|
339
|
+
deadline: DateTime.now().plus({ days: 2 }).toJSDate(),
|
|
253
340
|
},
|
|
254
|
-
{
|
|
341
|
+
{
|
|
342
|
+
id: "4889435d-f310-472f-808b-7b20936c40fc",
|
|
343
|
+
createdAt: faker.date.recent(),
|
|
344
|
+
}
|
|
255
345
|
),
|
|
256
346
|
});
|
|
257
347
|
confirm({
|
|
258
348
|
inquiry: answer({
|
|
259
|
-
inquiry: create(
|
|
349
|
+
inquiry: create(
|
|
350
|
+
{ from: g4, to: g },
|
|
351
|
+
{ id: "4c5dbcc3-f42a-4c25-8d06-f85bd17edbf2" }
|
|
352
|
+
),
|
|
260
353
|
status: "inquiry-answer-status-negative",
|
|
261
354
|
}),
|
|
262
355
|
});
|
|
263
356
|
answer({
|
|
264
|
-
inquiry: create(
|
|
357
|
+
inquiry: create(
|
|
358
|
+
{ from: g3, to: g },
|
|
359
|
+
{ id: "3f7eea45-251d-4934-81fd-27c78bbca88c" }
|
|
360
|
+
),
|
|
265
361
|
status: "inquiry-answer-status-positive",
|
|
266
362
|
});
|
|
267
363
|
revise({
|
|
268
364
|
inquiry: answer({
|
|
269
|
-
inquiry: create(
|
|
365
|
+
inquiry: create(
|
|
366
|
+
{ from: g1, to: g },
|
|
367
|
+
{ id: "dd07b1a4-91e6-4411-a4ea-445637690577" }
|
|
368
|
+
),
|
|
270
369
|
status: "inquiry-answer-status-needs-interaction",
|
|
271
370
|
}),
|
|
272
371
|
});
|
|
@@ -274,13 +373,19 @@ export default function (server, groups) {
|
|
|
274
373
|
// more
|
|
275
374
|
confirm({
|
|
276
375
|
inquiry: answer({
|
|
277
|
-
inquiry: create(
|
|
376
|
+
inquiry: create(
|
|
377
|
+
{ from: g2, to: g3 },
|
|
378
|
+
{ id: "4f374860-28b3-465b-be5f-5e501a39fe8b" }
|
|
379
|
+
),
|
|
278
380
|
status: "inquiry-answer-status-needs-interaction",
|
|
279
381
|
}),
|
|
280
382
|
});
|
|
281
383
|
confirm({
|
|
282
384
|
inquiry: answer({
|
|
283
|
-
inquiry: create(
|
|
385
|
+
inquiry: create(
|
|
386
|
+
{ from: g3, to: g4 },
|
|
387
|
+
{ id: "16eebfae-55c5-4d31-ad48-7ed5578a22a2" }
|
|
388
|
+
),
|
|
284
389
|
status: "inquiry-answer-status-positive",
|
|
285
390
|
}),
|
|
286
391
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { DateTime } from "luxon";
|
|
3
|
+
import { Factory } from "miragejs";
|
|
4
4
|
|
|
5
5
|
export default Factory.extend({
|
|
6
6
|
id: () => faker.datatype.uuid(),
|
|
@@ -45,7 +45,7 @@ export default Factory.extend({
|
|
|
45
45
|
if (answer.value === undefined) {
|
|
46
46
|
answer.update({
|
|
47
47
|
value: [
|
|
48
|
-
faker.
|
|
48
|
+
faker.helpers.arrayElement(answer.question.options.models).slug,
|
|
49
49
|
],
|
|
50
50
|
});
|
|
51
51
|
}
|
|
@@ -54,18 +54,23 @@ export default Factory.extend({
|
|
|
54
54
|
|
|
55
55
|
if (answer.value === undefined) {
|
|
56
56
|
answer.update({
|
|
57
|
-
value: faker.
|
|
57
|
+
value: faker.helpers.arrayElement(answer.question.options.models)
|
|
58
|
+
.slug,
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
|
-
} else if (answer.question.type === "
|
|
61
|
-
answer.update({ type: "
|
|
61
|
+
} else if (answer.question.type === "FILES") {
|
|
62
|
+
answer.update({ type: "FILES" });
|
|
62
63
|
|
|
63
64
|
if (answer.value === undefined) {
|
|
64
65
|
answer.update({
|
|
65
|
-
value:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
value: [
|
|
67
|
+
{
|
|
68
|
+
id: faker.datatype.uuid(),
|
|
69
|
+
name: faker.datatype.string(),
|
|
70
|
+
uploadUrl: faker.internet.url(),
|
|
71
|
+
downloadUrl: faker.internet.url(),
|
|
72
|
+
},
|
|
73
|
+
],
|
|
69
74
|
});
|
|
70
75
|
}
|
|
71
76
|
} else if (answer.question.type === "DATE") {
|
|
@@ -73,13 +78,7 @@ export default Factory.extend({
|
|
|
73
78
|
|
|
74
79
|
if (answer.value === undefined) {
|
|
75
80
|
const date = faker.date.future();
|
|
76
|
-
answer.update({
|
|
77
|
-
value: moment({
|
|
78
|
-
day: date.getUTCDate(),
|
|
79
|
-
month: date.getUTCMonth(),
|
|
80
|
-
year: date.getUTCFullYear(),
|
|
81
|
-
}).format(moment.HTML5_FMT.DATE),
|
|
82
|
-
});
|
|
81
|
+
answer.update({ value: DateTime.fromJSDate(date).toISODate() });
|
|
83
82
|
}
|
|
84
83
|
} else if (answer.question.type === "TABLE") {
|
|
85
84
|
answer.update({ type: "TABLE" });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { Factory } from "miragejs";
|
|
3
3
|
|
|
4
4
|
const STATUS = ["RUNNING", "COMPLETED", "CANCELED", "SUSPENDED"];
|
|
5
5
|
|
|
@@ -8,5 +8,5 @@ export default Factory.extend({
|
|
|
8
8
|
createdByUser: () => faker.datatype.uuid(),
|
|
9
9
|
createdAt: () => faker.date.past(),
|
|
10
10
|
modifiedAt: () => faker.date.past(),
|
|
11
|
-
status: () => faker.
|
|
11
|
+
status: () => faker.helpers.arrayElement(STATUS),
|
|
12
12
|
});
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { Factory } from "miragejs";
|
|
3
3
|
|
|
4
4
|
export default Factory.extend({
|
|
5
5
|
id: () => faker.datatype.uuid(),
|
|
6
|
+
modifiedContentByUser: () => faker.datatype.uuid(),
|
|
7
|
+
modifiedContentAt: () => faker.date.past(),
|
|
6
8
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { Factory } from "miragejs";
|
|
3
3
|
|
|
4
4
|
export default Factory.extend({
|
|
5
5
|
id: () => faker.datatype.uuid(),
|
|
6
|
-
|
|
6
|
+
name: () => faker.datatype.string(),
|
|
7
7
|
modifiedAt: () => faker.date.past(),
|
|
8
8
|
createdByUser: () => faker.datatype.uuid(),
|
|
9
9
|
uploadUrl: () => faker.internet.url(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { Factory } from "miragejs";
|
|
3
3
|
|
|
4
4
|
export default Factory.extend({
|
|
5
5
|
id() {
|
|
@@ -9,5 +9,6 @@ export default Factory.extend({
|
|
|
9
9
|
slug: (i) => `form-${i + 1}`,
|
|
10
10
|
description: () => faker.lorem.paragraph(),
|
|
11
11
|
isArchived: false,
|
|
12
|
+
isPublished: true,
|
|
12
13
|
meta: () => ({}),
|
|
13
14
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { faker } from "@faker-js/faker";
|
|
2
|
+
import { Factory } from "miragejs";
|
|
3
3
|
|
|
4
4
|
const STATUS = ["READY", "CANCELED", "COMPLETED", "SKIPPED", "SUSPENDED"];
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ export default Factory.extend({
|
|
|
9
9
|
createdByUser: () => faker.datatype.uuid(),
|
|
10
10
|
createdAt: () => faker.date.past(),
|
|
11
11
|
deadline: () => faker.date.future(),
|
|
12
|
-
status: () => faker.
|
|
12
|
+
status: () => faker.helpers.arrayElement(STATUS),
|
|
13
13
|
addressedGroups: () => ["group1", "group2"],
|
|
14
14
|
closedAt() {
|
|
15
15
|
return STATUS.filter((s) => s !== "READY").includes(this.status)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Model, hasMany, belongsTo } from "
|
|
1
|
+
import { Model, hasMany, belongsTo } from "miragejs";
|
|
2
2
|
|
|
3
3
|
export default Model.extend({
|
|
4
4
|
forms: hasMany({ inverse: "questions" }),
|
|
@@ -6,4 +6,5 @@ export default Model.extend({
|
|
|
6
6
|
subForm: belongsTo("form", { inverse: null }),
|
|
7
7
|
rowForm: belongsTo("form", { inverse: null }),
|
|
8
8
|
defaultAnswer: belongsTo("answer", { inverse: null }),
|
|
9
|
+
formatValidators: hasMany(),
|
|
9
10
|
});
|
|
@@ -5,10 +5,7 @@ module.exports = {
|
|
|
5
5
|
|
|
6
6
|
afterInstall() {
|
|
7
7
|
return this.addAddonsToProject({
|
|
8
|
-
packages: [
|
|
9
|
-
{ name: "@projectcaluma/ember-core" },
|
|
10
|
-
{ name: "ember-cli-mirage" },
|
|
11
|
-
],
|
|
8
|
+
packages: [{ name: "ember-cli-mirage" }],
|
|
12
9
|
}).then(() => this.addPackagesToProject([{ name: "faker" }]));
|
|
13
10
|
},
|
|
14
11
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@projectcaluma/ember-testing",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0-beta.10",
|
|
4
4
|
"description": "Ember addon for testing with Caluma addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -14,29 +14,31 @@
|
|
|
14
14
|
"test:ember-compatibility": "ember try:each"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
+
"@ember/string": "^3.0.0",
|
|
18
|
+
"@faker-js/faker": "^7.3.0",
|
|
17
19
|
"broccoli-funnel": "^3.0.8",
|
|
18
20
|
"broccoli-merge-trees": "^4.2.0",
|
|
19
|
-
"ember-apollo-client": "
|
|
20
|
-
"ember-auto-import": "^2.2
|
|
21
|
+
"ember-apollo-client": "~4.0.2",
|
|
22
|
+
"ember-auto-import": "^2.4.2",
|
|
21
23
|
"ember-cli-babel": "^7.26.11",
|
|
22
|
-
"ember-cli-htmlbars": "^6.0
|
|
23
|
-
"ember-cli-mirage": "^
|
|
24
|
-
"ember-fetch": "^8.
|
|
24
|
+
"ember-cli-htmlbars": "^6.1.0",
|
|
25
|
+
"ember-cli-mirage": "^3.0.0-alpha.3",
|
|
26
|
+
"ember-fetch": "^8.1.1",
|
|
25
27
|
"ember-inflector": "^4.0.2",
|
|
26
|
-
"faker": "^5.5.3",
|
|
27
28
|
"graphql": "^15.8.0",
|
|
28
29
|
"graphql-iso-date": "^3.6.1",
|
|
29
30
|
"graphql-tools": "^4.0.8",
|
|
30
|
-
"
|
|
31
|
+
"luxon": "^3.0.1",
|
|
32
|
+
"miragejs": "^0.1.45"
|
|
31
33
|
},
|
|
32
34
|
"devDependencies": {
|
|
33
35
|
"@ember/optional-features": "2.0.0",
|
|
34
|
-
"@ember/test-helpers": "2.
|
|
35
|
-
"@embroider/test-setup": "
|
|
36
|
+
"@ember/test-helpers": "2.8.1",
|
|
37
|
+
"@embroider/test-setup": "1.8.3",
|
|
36
38
|
"broccoli-asset-rev": "3.0.0",
|
|
37
39
|
"ember-cli": "3.28.5",
|
|
38
40
|
"ember-cli-code-coverage": "1.0.3",
|
|
39
|
-
"ember-cli-dependency-checker": "3.
|
|
41
|
+
"ember-cli-dependency-checker": "3.3.1",
|
|
40
42
|
"ember-cli-inject-live-reload": "2.1.0",
|
|
41
43
|
"ember-cli-sri": "2.1.1",
|
|
42
44
|
"ember-cli-terser": "4.0.2",
|
|
@@ -46,15 +48,14 @@
|
|
|
46
48
|
"ember-maybe-import-regenerator": "1.0.0",
|
|
47
49
|
"ember-qunit": "5.1.5",
|
|
48
50
|
"ember-resolver": "8.0.3",
|
|
49
|
-
"ember-source": "3.28.
|
|
51
|
+
"ember-source": "3.28.9",
|
|
50
52
|
"ember-source-channel-url": "3.0.0",
|
|
51
53
|
"ember-try": "2.0.0",
|
|
52
|
-
"get-graphql-schema": "2.1.2",
|
|
53
54
|
"graphql-tag": "2.12.6",
|
|
54
55
|
"loader.js": "4.7.0",
|
|
55
|
-
"qunit": "2.
|
|
56
|
+
"qunit": "2.19.1",
|
|
56
57
|
"qunit-dom": "2.0.0",
|
|
57
|
-
"webpack": "5.
|
|
58
|
+
"webpack": "5.74.0"
|
|
58
59
|
},
|
|
59
60
|
"engines": {
|
|
60
61
|
"node": "12.* || 14.* || >= 16"
|