Skip to content

Commit 501fce3

Browse files
authored
Merge pull request #162 from episerver/feature/CMS-46656-all-fields
Add all fields when fetching content
2 parents f5b1e9a + cca8d84 commit 501fce3

File tree

6 files changed

+180
-76
lines changed

6 files changed

+180
-76
lines changed

packages/optimizely-cms-sdk/src/graph/__test__/convertProperty.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ describe('createFragment > Fragment threshold warning', () => {
6868
expect(result).toBeInstanceOf(Array);
6969
expect(warnSpy).toHaveBeenCalledOnce();
7070
expect(warnSpy.mock.calls[0][0]).toMatch(
71-
String.raw`generated 101 inner fragments`
71+
String.raw`generated 105 inner fragments`
7272
);
7373
expect(warnSpy.mock.calls[0][0]).toMatch(
7474
/Excessive fragment depth may breach GraphQL limits or degrade performance./

packages/optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts

Lines changed: 117 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ describe('createFragment() simple cases', () => {
2121
const result = await createFragment('ct1');
2222
expect(result).toMatchInlineSnapshot(`
2323
[
24-
"fragment ct1 on ct1 { __typename str bin boo flo int dat }",
24+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
25+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
26+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
27+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
28+
"fragment ct1 on ct1 { __typename str bin boo flo int dat ..._IContent }",
2529
]
2630
`);
2731
});
@@ -44,7 +48,11 @@ describe('createFragment() simple cases', () => {
4448
const result = await createFragment('ct1');
4549
expect(result).toMatchInlineSnapshot(`
4650
[
47-
"fragment ct1 on ct1 { __typename str bin boo flo int dat }",
51+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
52+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
53+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
54+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
55+
"fragment ct1 on ct1 { __typename str bin boo flo int dat ..._IContent }",
4856
]
4957
`);
5058
});
@@ -65,7 +73,11 @@ describe('createFragment() simple cases', () => {
6573
const result = await createFragment('ct1');
6674
expect(result).toMatchInlineSnapshot(`
6775
[
68-
"fragment ct1 on ct1 { __typename lin { url { type, default }} ric { html, json } lin2 { url { type, default }} ric2 { html, json } }",
76+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
77+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
78+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
79+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
80+
"fragment ct1 on ct1 { __typename lin { url { ...ContentUrl }} ric { html, json } lin2 { url { ...ContentUrl }} ric2 { html, json } ..._IContent }",
6981
]
7082
`);
7183
});
@@ -77,7 +89,11 @@ describe('createFragment() simple cases', () => {
7789
const result = await createFragment('ct1');
7890
expect(result).toMatchInlineSnapshot(`
7991
[
80-
"fragment ct1 on ct1 { __typename }",
92+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
93+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
94+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
95+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
96+
"fragment ct1 on ct1 { __typename ..._IContent }",
8197
]
8298
`);
8399
});
@@ -95,8 +111,12 @@ describe('createFragment() with `content` properties. Explicit reference via `al
95111
const result = await createFragment('ct1');
96112
expect(result).toMatchInlineSnapshot(`
97113
[
98-
"fragment r1 on r1 { __typename }",
99-
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } }",
114+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
115+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
116+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
117+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
118+
"fragment r1 on r1 { __typename ..._IContent }",
119+
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } ..._IContent }",
100120
]
101121
`);
102122
});
@@ -117,9 +137,13 @@ describe('createFragment() with `content` properties. Explicit reference via `al
117137
const result = await createFragment('ct1');
118138
expect(result).toMatchInlineSnapshot(`
119139
[
120-
"fragment r1 on r1 { __typename }",
121-
"fragment r2 on r2 { __typename p1 { __typename ...r1 } }",
122-
"fragment ct1 on ct1 { __typename p1 { __typename ...r2 } }",
140+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
141+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
142+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
143+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
144+
"fragment r1 on r1 { __typename ..._IContent }",
145+
"fragment r2 on r2 { __typename p1 { __typename ...r1 } ..._IContent }",
146+
"fragment ct1 on ct1 { __typename p1 { __typename ...r2 } ..._IContent }",
123147
]
124148
`);
125149
});
@@ -143,9 +167,13 @@ describe('createFragment() with `content` properties. Explicit reference via `al
143167
const result = await createFragment('ct2');
144168
expect(result).toMatchInlineSnapshot(`
145169
[
146-
"fragment r1 on r1 { __typename }",
147-
"fragment r2 on r2 { __typename p1 { __typename ...r1 } }",
148-
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } pct1 { __typename ...r2 } }",
170+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
171+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
172+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
173+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
174+
"fragment r1 on r1 { __typename ..._IContent }",
175+
"fragment r2 on r2 { __typename p1 { __typename ...r1 } ..._IContent }",
176+
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } pct1 { __typename ...r2 } ..._IContent }",
149177
]
150178
`);
151179
});
@@ -163,8 +191,12 @@ describe('createFragment() with `content` properties. Base types', () => {
163191
const result = await createFragment('ct1');
164192
expect(result).toMatchInlineSnapshot(`
165193
[
166-
"fragment r1 on r1 { __typename }",
167-
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } }",
194+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
195+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
196+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
197+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
198+
"fragment r1 on r1 { __typename ..._IContent }",
199+
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } ..._IContent }",
168200
]
169201
`);
170202
});
@@ -185,9 +217,13 @@ describe('createFragment() with `content` properties. Base types', () => {
185217
const result = await createFragment('ct1');
186218
expect(result).toMatchInlineSnapshot(`
187219
[
188-
"fragment r1 on r1 { __typename }",
189-
"fragment r2 on r2 { __typename p1 { __typename ...r1 ...r2 } }",
190-
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 } }",
220+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
221+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
222+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
223+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
224+
"fragment r1 on r1 { __typename ..._IContent }",
225+
"fragment r2 on r2 { __typename p1 { __typename ...r1 ...r2 } ..._IContent }",
226+
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 } ..._IContent }",
191227
]
192228
`);
193229
});
@@ -211,10 +247,14 @@ describe('createFragment() with `content` properties. Base types', () => {
211247
const result = await createFragment('ct1');
212248
expect(result).toMatchInlineSnapshot(`
213249
[
214-
"fragment r1 on r1 { __typename }",
215-
"fragment r2 on r2 { __typename }",
216-
"fragment r3 on r3 { __typename }",
217-
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 ...r3 } }",
250+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
251+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
252+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
253+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
254+
"fragment r1 on r1 { __typename ..._IContent }",
255+
"fragment r2 on r2 { __typename ..._IContent }",
256+
"fragment r3 on r3 { __typename ..._IContent }",
257+
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 ...r3 } ..._IContent }",
218258
]
219259
`);
220260
});
@@ -238,9 +278,13 @@ describe('createFragment() with `content` properties. Base types', () => {
238278
const result = await createFragment('ct2');
239279
expect(result).toMatchInlineSnapshot(`
240280
[
241-
"fragment r1 on r1 { __typename }",
242-
"fragment r2 on r2 { __typename p1 { __typename ...r1 } }",
243-
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } p2 { __typename ...r1 ...r2 } }",
281+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
282+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
283+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
284+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
285+
"fragment r1 on r1 { __typename ..._IContent }",
286+
"fragment r2 on r2 { __typename p1 { __typename ...r1 } ..._IContent }",
287+
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } p2 { __typename ...r1 ...r2 } ..._IContent }",
244288
]
245289
`);
246290
});
@@ -266,9 +310,13 @@ describe('createFragment() with `content` properties. Allowed and restricted typ
266310
const result = await createFragment('ct1');
267311
expect(result).toMatchInlineSnapshot(`
268312
[
269-
"fragment r1 on r1 { __typename }",
270-
"fragment r3 on r3 { __typename }",
271-
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 ...ct1 } }",
313+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
314+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
315+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
316+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
317+
"fragment r1 on r1 { __typename ..._IContent }",
318+
"fragment r3 on r3 { __typename ..._IContent }",
319+
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 ...ct1 } ..._IContent }",
272320
]
273321
`);
274322
});
@@ -293,9 +341,13 @@ describe('createFragment() with `content` properties. Allowed and restricted typ
293341
const result = await createFragment('ct1');
294342
expect(result).toMatchInlineSnapshot(`
295343
[
296-
"fragment r1 on r1 { __typename }",
297-
"fragment r3 on r3 { __typename }",
298-
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 } }",
344+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
345+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
346+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
347+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
348+
"fragment r1 on r1 { __typename ..._IContent }",
349+
"fragment r3 on r3 { __typename ..._IContent }",
350+
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 } ..._IContent }",
299351
]
300352
`);
301353
});
@@ -313,7 +365,11 @@ describe('createFragment() with self references', () => {
313365
const result = await createFragment('r1');
314366
expect(result).toMatchInlineSnapshot(`
315367
[
316-
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
368+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
369+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
370+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
371+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
372+
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
317373
]
318374
`);
319375
});
@@ -329,7 +385,11 @@ describe('createFragment() with self references', () => {
329385
const result = await createFragment('r1');
330386
expect(result).toMatchInlineSnapshot(`
331387
[
332-
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
388+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
389+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
390+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
391+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
392+
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
333393
]
334394
`);
335395
});
@@ -345,7 +405,11 @@ describe('createFragment() with self references', () => {
345405
const result = await createFragment('r1');
346406
expect(result).toMatchInlineSnapshot(`
347407
[
348-
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
408+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
409+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
410+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
411+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
412+
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
349413
]
350414
`);
351415
});
@@ -368,7 +432,11 @@ describe('createFragment() with self references', () => {
368432
const result = await createFragment('r1');
369433
expect(result).toMatchInlineSnapshot(`
370434
[
371-
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
435+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
436+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
437+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
438+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
439+
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
372440
]
373441
`);
374442
});
@@ -389,7 +457,11 @@ describe('createFragment() empty objects', () => {
389457
const result = await createFragment('ct1');
390458
expect(result).toMatchInlineSnapshot(`
391459
[
392-
"fragment ct1 on ct1 { __typename p2 p3 }",
460+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
461+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
462+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
463+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
464+
"fragment ct1 on ct1 { __typename p2 p3 ..._IContent }",
393465
]
394466
`);
395467
});
@@ -407,7 +479,11 @@ describe('createFragment() empty objects', () => {
407479
const result = await createFragment('ct1');
408480
expect(result).toMatchInlineSnapshot(`
409481
[
410-
"fragment ct1 on ct1 { __typename }",
482+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
483+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
484+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
485+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
486+
"fragment ct1 on ct1 { __typename ..._IContent }",
411487
]
412488
`);
413489
});
@@ -428,7 +504,11 @@ describe('createFragment() empty objects', () => {
428504
// Make sure that the query is correct. The `p1 {}` part should have something between the curly braces
429505
expect(result).toMatchInlineSnapshot(`
430506
[
431-
"fragment ct1 on ct1 { __typename p1 { __typename } }",
507+
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
508+
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
509+
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
510+
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
511+
"fragment ct1 on ct1 { __typename p1 { __typename } ..._IContent }",
432512
]
433513
`);
434514
});

0 commit comments

Comments
 (0)