@projectcaluma/ember-testing 10.1.0 → 11.0.0-beta.2

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 (37) hide show
  1. package/CHANGELOG.md +1016 -0
  2. package/addon/mirage-graphql/filters/answer.js +6 -8
  3. package/addon/mirage-graphql/filters/base.js +12 -12
  4. package/addon/mirage-graphql/filters/question.js +1 -3
  5. package/addon/mirage-graphql/filters/work-item.js +9 -7
  6. package/addon/mirage-graphql/handler.js +1 -1
  7. package/addon/mirage-graphql/mocks/answer.js +6 -36
  8. package/addon/mirage-graphql/mocks/base.js +29 -25
  9. package/addon/mirage-graphql/mocks/form.js +25 -99
  10. package/addon/mirage-graphql/mocks/question.js +17 -47
  11. package/addon/mirage-graphql/mocks/work-item.js +105 -0
  12. package/addon/mirage-graphql/schema.graphql +0 -16
  13. package/addon/scenarios/distribution.js +163 -48
  14. package/addon-mirage-support/factories/answer.js +4 -10
  15. package/addon-mirage-support/factories/case.js +2 -2
  16. package/addon-mirage-support/factories/document.js +2 -2
  17. package/addon-mirage-support/factories/file.js +2 -2
  18. package/addon-mirage-support/factories/form.js +2 -2
  19. package/addon-mirage-support/factories/format-validator.js +2 -2
  20. package/addon-mirage-support/factories/option.js +1 -1
  21. package/addon-mirage-support/factories/question.js +2 -2
  22. package/addon-mirage-support/factories/task.js +2 -2
  23. package/addon-mirage-support/factories/work-item.js +2 -2
  24. package/addon-mirage-support/factories/workflow.js +9 -0
  25. package/addon-mirage-support/models/answer.js +3 -2
  26. package/addon-mirage-support/models/case.js +2 -1
  27. package/addon-mirage-support/models/document.js +1 -1
  28. package/addon-mirage-support/models/file.js +1 -1
  29. package/addon-mirage-support/models/form.js +2 -2
  30. package/addon-mirage-support/models/format-validator.js +1 -1
  31. package/addon-mirage-support/models/option.js +1 -1
  32. package/addon-mirage-support/models/question.js +5 -2
  33. package/addon-mirage-support/models/task.js +1 -1
  34. package/addon-mirage-support/models/work-item.js +1 -1
  35. package/addon-mirage-support/models/workflow.js +1 -1
  36. package/blueprints/@projectcaluma/ember-testing/index.js +1 -4
  37. package/package.json +12 -12
@@ -361,11 +361,6 @@ type Case implements Node {
361
361
  """
362
362
  id: ID!
363
363
 
364
- """
365
- Stores a path to the given object
366
- """
367
- path: [String]!
368
-
369
364
  """
370
365
  Time when case has either been canceled or completed
371
366
  """
@@ -1163,11 +1158,6 @@ type Document implements Node {
1163
1158
  The ID of the object.
1164
1159
  """
1165
1160
  id: ID!
1166
-
1167
- """
1168
- Stores a path to the given object
1169
- """
1170
- path: [String]!
1171
1161
  form: Form!
1172
1162
 
1173
1163
  """
@@ -4078,7 +4068,6 @@ enum SortableDocumentAttributes {
4078
4068
  CREATED_BY_GROUP
4079
4069
  MODIFIED_BY_USER
4080
4070
  MODIFIED_BY_GROUP
4081
- PATH
4082
4071
  FORM
4083
4072
  SOURCE
4084
4073
  }
@@ -4991,11 +4980,6 @@ type WorkItem implements Node {
4991
4980
  """
4992
4981
  id: ID!
4993
4982
 
4994
- """
4995
- Stores a path to the given object
4996
- """
4997
- path: [String]!
4998
-
4999
4983
  """
5000
4984
  Will be set from Task, if not provided.
5001
4985
  """
@@ -1,5 +1,5 @@
1
- import faker from "faker";
2
- import moment from "moment";
1
+ import { faker } from "@faker-js/faker";
2
+ import { DateTime } from "luxon";
3
3
 
4
4
  export function createBlueprint(server) {
5
5
  const inquiryForm = server.create("form", { slug: "inquiry" });
@@ -8,12 +8,16 @@ export function createBlueprint(server) {
8
8
  server.create("question", {
9
9
  slug: "inquiry-remark",
10
10
  label: "Remark",
11
+ isRequired: "true",
12
+ maxLength: 9999,
13
+ minLength: 0,
11
14
  formIds: [inquiryForm.id],
12
15
  type: "TEXTAREA",
13
16
  });
14
17
  server.create("question", {
15
18
  slug: "inquiry-deadline",
16
19
  label: "Deadline",
20
+ isRequired: "true",
17
21
  formIds: [inquiryForm.id],
18
22
  type: "DATE",
19
23
  });
@@ -22,6 +26,8 @@ export function createBlueprint(server) {
22
26
  slug: "inquiry-answer-status",
23
27
  type: "CHOICE",
24
28
  formIds: [inquiryAnswerForm.id],
29
+ isRequired: "true",
30
+ label: "Status",
25
31
  options: [
26
32
  server.create("option", {
27
33
  slug: "inquiry-answer-status-positive",
@@ -39,12 +45,30 @@ export function createBlueprint(server) {
39
45
  });
40
46
  server.create("question", {
41
47
  slug: "inquiry-answer-reason",
48
+ isRequired: "true",
49
+ maxLength: 9999,
50
+ minLength: 0,
42
51
  label: "Reason",
43
52
  type: "TEXTAREA",
44
53
  formIds: [inquiryAnswerForm.id],
45
54
  });
46
55
 
56
+ server.create("workflow", { slug: "distribution" });
57
+ server.create("workflow", { slug: "inquiry" });
58
+
59
+ server.create("task", { slug: "create-inquiry" });
60
+ server.create("task", { slug: "complete-distribution" });
47
61
  server.create("task", { slug: "inquiry" });
62
+ server.create("task", {
63
+ slug: "compose-inquiry-answer",
64
+ type: "COMPLETE_WORKFLOW_FORM",
65
+ });
66
+ server.create("task", { slug: "confirm-inquiry-answer" });
67
+ server.create("task", { slug: "revise-inquiry-answer" });
68
+ server.create("task", {
69
+ slug: "adjust-inquiry-answer",
70
+ type: "COMPLETE_WORKFLOW_FORM",
71
+ });
48
72
  }
49
73
 
50
74
  export function createInquiry(
@@ -53,27 +77,22 @@ export function createInquiry(
53
77
  { from, to, remark, deadline },
54
78
  workItemAttrs = {}
55
79
  ) {
56
- const form = server.schema.forms.findBy({ slug: "inquiry" });
57
- const document = server.create("document", { form });
80
+ const document = server.create("document", { formId: "inquiry" });
58
81
 
59
82
  server.create("answer", {
60
83
  document,
61
- question: server.schema.questions.findBy({
62
- slug: "inquiry-remark",
63
- }),
84
+ questionId: "inquiry-remark",
64
85
  value: remark ?? faker.lorem.paragraph(),
65
86
  });
66
87
 
67
88
  server.create("answer", {
68
89
  document,
69
- question: server.schema.questions.findBy({
70
- slug: "inquiry-deadline",
71
- }),
90
+ questionId: "inquiry-deadline",
72
91
  value: deadline ?? faker.date.future(),
73
92
  });
74
93
 
75
94
  return server.create("work-item", {
76
- task: server.schema.tasks.findBy({ slug: "inquiry" }),
95
+ taskId: "inquiry",
77
96
  document,
78
97
  status: "SUSPENDED",
79
98
  case: distributionCase,
@@ -84,16 +103,21 @@ export function createInquiry(
84
103
  }
85
104
 
86
105
  export function sendInquiry(server, { inquiry }) {
87
- inquiry.update({
106
+ const childCase = server.create("case", {
107
+ status: "RUNNING",
108
+ workflowId: "inquiry",
109
+ document: server.create("document", { formId: "inquiry-answer" }),
110
+ });
111
+
112
+ server.create("work-item", {
113
+ taskId: "compose-inquiry-answer",
88
114
  status: "READY",
89
- childCase: server.create("case", {
90
- status: "RUNNING",
91
- document: server.create("document", {
92
- form: server.schema.forms.findBy({ slug: "inquiry-answer" }),
93
- }),
94
- }),
115
+ case: childCase,
116
+ addressedGroups: inquiry.addressedGroups,
95
117
  });
96
118
 
119
+ inquiry.update({ status: "READY", childCase });
120
+
97
121
  return inquiry;
98
122
  }
99
123
 
@@ -104,34 +128,94 @@ export function answerInquiry(server, { inquiry, status, reason }) {
104
128
 
105
129
  server.create("answer", {
106
130
  document: inquiry.childCase.document,
107
- question: server.schema.questions.findBy({
108
- slug: "inquiry-answer-status",
109
- }),
131
+ questionId: "inquiry-answer-status",
110
132
  value: status,
111
133
  });
112
134
 
113
135
  server.create("answer", {
114
136
  document: inquiry.childCase.document,
115
- question: server.schema.questions.findBy({
116
- slug: "inquiry-answer-reason",
117
- }),
137
+ questionId: "inquiry-answer-reason",
118
138
  value: reason ?? faker.lorem.paragraph(),
119
139
  });
120
140
 
141
+ inquiry.childCase.workItems
142
+ .filter((workItem) => workItem.taskId === "compose-inquiry-answer")
143
+ .update({ status: "COMPLETED" });
144
+ server.create("work-item", {
145
+ taskId: "confirm-inquiry-answer",
146
+ status: "READY",
147
+ case: inquiry.childCase,
148
+ addressedGroups: inquiry.addressedGroups,
149
+ });
150
+ server.create("work-item", {
151
+ taskId: "revise-inquiry-answer",
152
+ status: "READY",
153
+ case: inquiry.childCase,
154
+ addressedGroups: inquiry.addressedGroups,
155
+ });
156
+
157
+ return inquiry;
158
+ }
159
+
160
+ export function confirmInquiry({ inquiry }) {
121
161
  inquiry.update({ status: "COMPLETED" });
122
162
  inquiry.childCase.update({
123
163
  status: "COMPLETED",
124
164
  closedAt: faker.date.recent(),
125
165
  });
166
+ inquiry.childCase.workItems
167
+ .filter((workItem) => workItem.taskId === "confirm-inquiry-answer")
168
+ .update({ status: "COMPLETED" });
169
+ inquiry.childCase.workItems
170
+ .filter((workItem) => workItem.taskId === "revise-inquiry-answer")
171
+ .update({ status: "CANCELED" });
126
172
 
127
173
  return inquiry;
128
174
  }
129
175
 
130
- export default function (server, groups) {
176
+ export function reviseInquiry(server, { inquiry }) {
177
+ server.create("work-item", {
178
+ taskId: "adjust-inquiry-answer",
179
+ status: "READY",
180
+ case: inquiry.childCase,
181
+ addressedGroups: inquiry.addressedGroups,
182
+ });
183
+ inquiry.childCase.workItems
184
+ .filter((workItem) => workItem.taskId === "confirm-inquiry-answer")
185
+ .update({ status: "CANCELED" });
186
+ inquiry.childCase.workItems
187
+ .filter((workItem) => workItem.taskId === "revise-inquiry-answer")
188
+ .update({ status: "COMPLETED" });
189
+
190
+ return inquiry;
191
+ }
192
+
193
+ export function createCase(server, { group }) {
131
194
  const distributionCase = server.create("case", {
132
- workflow: server.create("workflow", { slug: "distribution" }),
195
+ status: "RUNNING",
196
+ workflowId: "distribution",
197
+ });
198
+
199
+ server.create("work-item", {
200
+ case: distributionCase,
201
+ taskId: "create-inquiry",
202
+ status: "READY",
203
+ addressedGroups: [group.id],
133
204
  });
134
205
 
206
+ server.create("work-item", {
207
+ case: distributionCase,
208
+ taskId: "complete-distribution",
209
+ status: "READY",
210
+ addressedGroups: [group.id],
211
+ });
212
+
213
+ return distributionCase;
214
+ }
215
+
216
+ export default function (server, groups) {
217
+ createBlueprint(server);
218
+
135
219
  const g = groups[0];
136
220
  const g1 = groups[1];
137
221
  const g2 = groups[2];
@@ -141,8 +225,16 @@ export default function (server, groups) {
141
225
  const create = (...args) => createInquiry(server, distributionCase, ...args);
142
226
  const send = (...args) => sendInquiry(server, ...args);
143
227
  const answer = (...args) => answerInquiry(server, ...args);
228
+ const confirm = (...args) => confirmInquiry(...args);
229
+ const revise = (...args) => reviseInquiry(server, ...args);
144
230
 
145
- createBlueprint(server);
231
+ const distributionCase = createCase(server, { group: g1 });
232
+
233
+ server.create("work-item", {
234
+ taskId: "create-inquiry",
235
+ status: "READY",
236
+ addressedGroups: [g.id],
237
+ });
146
238
 
147
239
  // controlling
148
240
  create({ from: g, to: g1 });
@@ -153,24 +245,31 @@ export default function (server, groups) {
153
245
  deadline: faker.date.past(),
154
246
  }),
155
247
  });
156
- answer({
157
- inquiry: create({
158
- from: g,
159
- to: g3,
160
- deadline: faker.date.past(),
248
+ confirm({
249
+ inquiry: answer({
250
+ inquiry: create({
251
+ from: g,
252
+ to: g3,
253
+ deadline: faker.date.past(),
254
+ }),
255
+ status: "inquiry-answer-status-needs-interaction",
161
256
  }),
162
- status: "inquiry-answer-status-needs-interaction",
163
257
  });
258
+
164
259
  // "override" third controlling inquiry
165
- answer({
166
- inquiry: create({ from: g, to: g3 }, { createdAt: faker.date.recent() }),
167
- status: "inquiry-answer-status-positive",
260
+ confirm({
261
+ inquiry: answer({
262
+ inquiry: create({ from: g, to: g3 }, { createdAt: faker.date.recent() }),
263
+ status: "inquiry-answer-status-positive",
264
+ }),
168
265
  });
169
266
 
170
267
  // addressed
171
- answer({
172
- inquiry: create({ from: g2, to: g }),
173
- status: "inquiry-answer-status-needs-interaction",
268
+ confirm({
269
+ inquiry: answer({
270
+ inquiry: create({ from: g2, to: g }),
271
+ status: "inquiry-answer-status-needs-interaction",
272
+ }),
174
273
  });
175
274
  // "override" first addressed inquiry
176
275
  send({
@@ -178,23 +277,39 @@ export default function (server, groups) {
178
277
  {
179
278
  from: g2,
180
279
  to: g,
181
- deadline: moment.utc().add(2, "days").toDate(),
280
+ deadline: DateTime.now().plus({ days: 2 }).toJSDate(),
182
281
  },
183
282
  { createdAt: faker.date.recent() }
184
283
  ),
185
284
  });
285
+ confirm({
286
+ inquiry: answer({
287
+ inquiry: create({ from: g4, to: g }),
288
+ status: "inquiry-answer-status-negative",
289
+ }),
290
+ });
186
291
  answer({
187
- inquiry: create({ from: g4, to: g }),
188
- status: "inquiry-answer-status-negative",
292
+ inquiry: create({ from: g3, to: g }),
293
+ status: "inquiry-answer-status-positive",
294
+ });
295
+ revise({
296
+ inquiry: answer({
297
+ inquiry: create({ from: g1, to: g }),
298
+ status: "inquiry-answer-status-needs-interaction",
299
+ }),
189
300
  });
190
301
 
191
302
  // more
192
- answer({
193
- inquiry: create({ from: g2, to: g3 }),
194
- status: "inquiry-answer-status-needs-interaction",
303
+ confirm({
304
+ inquiry: answer({
305
+ inquiry: create({ from: g2, to: g3 }),
306
+ status: "inquiry-answer-status-needs-interaction",
307
+ }),
195
308
  });
196
- answer({
197
- inquiry: create({ from: g3, to: g4 }),
198
- status: "inquiry-answer-status-positive",
309
+ confirm({
310
+ inquiry: answer({
311
+ inquiry: create({ from: g3, to: g4 }),
312
+ status: "inquiry-answer-status-positive",
313
+ }),
199
314
  });
200
315
  }
@@ -1,6 +1,6 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
3
- import moment from "moment";
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(),
@@ -73,13 +73,7 @@ export default Factory.extend({
73
73
 
74
74
  if (answer.value === undefined) {
75
75
  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
- });
76
+ answer.update({ value: DateTime.fromJSDate(date).toISODate() });
83
77
  }
84
78
  } else if (answer.question.type === "TABLE") {
85
79
  answer.update({ type: "TABLE" });
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
1
+ import { faker } from "@faker-js/faker";
2
+ import { Factory } from "miragejs";
3
3
 
4
4
  const STATUS = ["RUNNING", "COMPLETED", "CANCELED", "SUSPENDED"];
5
5
 
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
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(),
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
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(),
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
1
+ import { faker } from "@faker-js/faker";
2
+ import { Factory } from "miragejs";
3
3
 
4
4
  export default Factory.extend({
5
5
  id() {
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
1
+ import { faker } from "@faker-js/faker";
2
+ import { Factory } from "miragejs";
3
3
 
4
4
  export default Factory.extend({
5
5
  id() {
@@ -1,4 +1,4 @@
1
- import { Factory } from "ember-cli-mirage";
1
+ import { Factory } from "miragejs";
2
2
 
3
3
  export default Factory.extend({
4
4
  id() {
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
1
+ import { faker } from "@faker-js/faker";
2
+ import { Factory } from "miragejs";
3
3
 
4
4
  export default Factory.extend({
5
5
  id() {
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
1
+ import { faker } from "@faker-js/faker";
2
+ import { Factory } from "miragejs";
3
3
 
4
4
  export default Factory.extend({
5
5
  id() {
@@ -1,5 +1,5 @@
1
- import { Factory } from "ember-cli-mirage";
2
- import faker from "faker";
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
 
@@ -0,0 +1,9 @@
1
+ import { Factory } from "miragejs";
2
+
3
+ export default Factory.extend({
4
+ id() {
5
+ return this.slug;
6
+ },
7
+ name: (i) => `Workflow #${i + 1}`,
8
+ slug: (i) => `workflow-${i + 1}`,
9
+ });
@@ -1,6 +1,7 @@
1
- import { Model, belongsTo } from "ember-cli-mirage";
1
+ import { Model, belongsTo, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
- document: belongsTo(),
4
+ document: belongsTo("document"),
5
5
  question: belongsTo(),
6
+ documents: hasMany("document", { inverse: null }),
6
7
  });
@@ -1,7 +1,8 @@
1
- import { Model, belongsTo, hasMany } from "ember-cli-mirage";
1
+ import { Model, belongsTo, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
4
  document: belongsTo(),
5
5
  workflow: belongsTo(),
6
+ parentWorkItem: belongsTo("workItem", { inverse: "childCase" }),
6
7
  workItems: hasMany(),
7
8
  });
@@ -1,4 +1,4 @@
1
- import { Model, belongsTo, hasMany } from "ember-cli-mirage";
1
+ import { Model, belongsTo, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
4
  form: belongsTo(),
@@ -1,3 +1,3 @@
1
- import { Model } from "ember-cli-mirage";
1
+ import { Model } from "miragejs";
2
2
 
3
3
  export default Model.extend({});
@@ -1,5 +1,5 @@
1
- import { Model, hasMany } from "ember-cli-mirage";
1
+ import { Model, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
- questions: hasMany(),
4
+ questions: hasMany({ inverse: "forms" }),
5
5
  });
@@ -1,3 +1,3 @@
1
- import { Model } from "ember-cli-mirage";
1
+ import { Model } from "miragejs";
2
2
 
3
3
  export default Model.extend({});
@@ -1,4 +1,4 @@
1
- import { Model, hasMany } from "ember-cli-mirage";
1
+ import { Model, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
4
  questions: hasMany(),
@@ -1,7 +1,10 @@
1
- import { Model, hasMany, belongsTo } from "ember-cli-mirage";
1
+ import { Model, hasMany, belongsTo } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
- forms: hasMany(),
4
+ forms: hasMany({ inverse: "questions" }),
5
5
  options: hasMany(),
6
+ subForm: belongsTo("form", { inverse: null }),
7
+ rowForm: belongsTo("form", { inverse: null }),
6
8
  defaultAnswer: belongsTo("answer", { inverse: null }),
9
+ formatValidators: hasMany(),
7
10
  });
@@ -1,4 +1,4 @@
1
- import { Model, belongsTo, hasMany } from "ember-cli-mirage";
1
+ import { Model, belongsTo, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
4
  workflow: belongsTo(),
@@ -1,4 +1,4 @@
1
- import { Model, belongsTo } from "ember-cli-mirage";
1
+ import { Model, belongsTo } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
4
  case: belongsTo(),
@@ -1,4 +1,4 @@
1
- import { Model, belongsTo, hasMany } from "ember-cli-mirage";
1
+ import { Model, belongsTo, hasMany } from "miragejs";
2
2
 
3
3
  export default Model.extend({
4
4
  workflow: belongsTo(),
@@ -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": "10.1.0",
3
+ "version": "11.0.0-beta.2",
4
4
  "description": "Ember addon for testing with Caluma addons.",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -14,27 +14,28 @@
14
14
  "test:ember-compatibility": "ember try:each"
15
15
  },
16
16
  "dependencies": {
17
+ "@faker-js/faker": "^6.0.0-alpha.5",
17
18
  "broccoli-funnel": "^3.0.8",
18
19
  "broccoli-merge-trees": "^4.2.0",
19
20
  "ember-apollo-client": "^3.2.0",
20
- "ember-auto-import": "^2.2.3",
21
- "ember-cli-babel": "^7.26.6",
21
+ "ember-auto-import": "^2.4.0",
22
+ "ember-cli-babel": "^7.26.11",
22
23
  "ember-cli-htmlbars": "^6.0.1",
23
- "ember-cli-mirage": "^2.2.0",
24
- "ember-fetch": "^8.0.4",
24
+ "ember-cli-mirage": "^2.4.0",
25
+ "ember-fetch": "^8.1.1",
25
26
  "ember-inflector": "^4.0.2",
26
- "faker": "^5.5.3",
27
- "graphql": "^15.6.1",
27
+ "graphql": "^15.8.0",
28
28
  "graphql-iso-date": "^3.6.1",
29
29
  "graphql-tools": "^4.0.8",
30
- "moment": "^2.29.1"
30
+ "luxon": "^2.3.0",
31
+ "miragejs": "^0.1.43"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@ember/optional-features": "2.0.0",
34
35
  "@ember/test-helpers": "2.6.0",
35
- "@embroider/test-setup": "0.48.1",
36
+ "@embroider/test-setup": "1.0.0",
36
37
  "broccoli-asset-rev": "3.0.0",
37
- "ember-cli": "3.28.4",
38
+ "ember-cli": "3.28.5",
38
39
  "ember-cli-code-coverage": "1.0.3",
39
40
  "ember-cli-dependency-checker": "3.2.0",
40
41
  "ember-cli-inject-live-reload": "2.1.0",
@@ -49,12 +50,11 @@
49
50
  "ember-source": "3.28.8",
50
51
  "ember-source-channel-url": "3.0.0",
51
52
  "ember-try": "2.0.0",
52
- "get-graphql-schema": "2.1.2",
53
53
  "graphql-tag": "2.12.6",
54
54
  "loader.js": "4.7.0",
55
55
  "qunit": "2.17.2",
56
56
  "qunit-dom": "2.0.0",
57
- "webpack": "5.65.0"
57
+ "webpack": "5.68.0"
58
58
  },
59
59
  "engines": {
60
60
  "node": "12.* || 14.* || >= 16"