Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ describe('createFragment > Fragment threshold warning', () => {
expect(result).toBeInstanceOf(Array);
expect(warnSpy).toHaveBeenCalledOnce();
expect(warnSpy.mock.calls[0][0]).toMatch(
String.raw`generated 101 inner fragments`
String.raw`generated 105 inner fragments`
);
expect(warnSpy.mock.calls[0][0]).toMatch(
/Excessive fragment depth may breach GraphQL limits or degrade performance./
Expand Down
154 changes: 117 additions & 37 deletions packages/optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ describe('createFragment() simple cases', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename str bin boo flo int dat }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename str bin boo flo int dat ..._IContent }",
]
`);
});
Expand All @@ -44,7 +48,11 @@ describe('createFragment() simple cases', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename str bin boo flo int dat }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename str bin boo flo int dat ..._IContent }",
]
`);
});
Expand All @@ -65,7 +73,11 @@ describe('createFragment() simple cases', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename lin { url { type, default }} ric { html, json } lin2 { url { type, default }} ric2 { html, json } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename lin { url { ...ContentUrl }} ric { html, json } lin2 { url { ...ContentUrl }} ric2 { html, json } ..._IContent }",
]
`);
});
Expand All @@ -77,7 +89,11 @@ describe('createFragment() simple cases', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename ..._IContent }",
]
`);
});
Expand All @@ -95,8 +111,12 @@ describe('createFragment() with `content` properties. Explicit reference via `al
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } ..._IContent }",
]
`);
});
Expand All @@ -117,9 +137,13 @@ describe('createFragment() with `content` properties. Explicit reference via `al
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 } }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r2 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 } ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r2 } ..._IContent }",
]
`);
});
Expand All @@ -143,9 +167,13 @@ describe('createFragment() with `content` properties. Explicit reference via `al
const result = await createFragment('ct2');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 } }",
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } pct1 { __typename ...r2 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 } ..._IContent }",
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } pct1 { __typename ...r2 } ..._IContent }",
]
`);
});
Expand All @@ -163,8 +191,12 @@ describe('createFragment() with `content` properties. Base types', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 } ..._IContent }",
]
`);
});
Expand All @@ -185,9 +217,13 @@ describe('createFragment() with `content` properties. Base types', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 ...r2 } }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 ...r2 } ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 } ..._IContent }",
]
`);
});
Expand All @@ -211,10 +247,14 @@ describe('createFragment() with `content` properties. Base types', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r2 on r2 { __typename }",
"fragment r3 on r3 { __typename }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 ...r3 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r2 on r2 { __typename ..._IContent }",
"fragment r3 on r3 { __typename ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r2 ...r3 } ..._IContent }",
]
`);
});
Expand All @@ -238,9 +278,13 @@ describe('createFragment() with `content` properties. Base types', () => {
const result = await createFragment('ct2');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 } }",
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } p2 { __typename ...r1 ...r2 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r2 on r2 { __typename p1 { __typename ...r1 } ..._IContent }",
"fragment ct2 on ct2 { __typename p1 { __typename ...r1 } p2 { __typename ...r1 ...r2 } ..._IContent }",
]
`);
});
Expand All @@ -266,9 +310,13 @@ describe('createFragment() with `content` properties. Allowed and restricted typ
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r3 on r3 { __typename }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 ...ct1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r3 on r3 { __typename ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 ...ct1 } ..._IContent }",
]
`);
});
Expand All @@ -293,9 +341,13 @@ describe('createFragment() with `content` properties. Allowed and restricted typ
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename }",
"fragment r3 on r3 { __typename }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename ..._IContent }",
"fragment r3 on r3 { __typename ..._IContent }",
"fragment ct1 on ct1 { __typename p1 { __typename ...r1 ...r3 } ..._IContent }",
]
`);
});
Expand All @@ -313,7 +365,11 @@ describe('createFragment() with self references', () => {
const result = await createFragment('r1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
]
`);
});
Expand All @@ -329,7 +385,11 @@ describe('createFragment() with self references', () => {
const result = await createFragment('r1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
]
`);
});
Expand All @@ -345,7 +405,11 @@ describe('createFragment() with self references', () => {
const result = await createFragment('r1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
]
`);
});
Expand All @@ -368,7 +432,11 @@ describe('createFragment() with self references', () => {
const result = await createFragment('r1');
expect(result).toMatchInlineSnapshot(`
[
"fragment r1 on r1 { __typename p1 { __typename ...r1 } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment r1 on r1 { __typename p1 { __typename ...r1 } ..._IContent }",
]
`);
});
Expand All @@ -389,7 +457,11 @@ describe('createFragment() empty objects', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename p2 p3 }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename p2 p3 ..._IContent }",
]
`);
});
Expand All @@ -407,7 +479,11 @@ describe('createFragment() empty objects', () => {
const result = await createFragment('ct1');
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename ..._IContent }",
]
`);
});
Expand All @@ -428,7 +504,11 @@ describe('createFragment() empty objects', () => {
// Make sure that the query is correct. The `p1 {}` part should have something between the curly braces
expect(result).toMatchInlineSnapshot(`
[
"fragment ct1 on ct1 { __typename p1 { __typename } }",
"fragment MediaMetadata on MediaMetadata { mimeType thumbnail content }",
"fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }",
"fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }",
"fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }",
"fragment ct1 on ct1 { __typename p1 { __typename } ..._IContent }",
]
`);
});
Expand Down
Loading