@@ -63,16 +63,61 @@ describe('The v10 content type renderer', () => {
63
63
stripIndent ( `
64
64
import type { ChainModifiers, Entry, EntryFieldTypes, EntrySkeletonType, LocaleCode } from "contentful";
65
65
import type { TypeLinkedTypeSkeleton } from "./TypeLinkedType";
66
-
66
+
67
67
export interface TypeTestFields {
68
68
linkFieldId: EntryFieldTypes.EntryLink<TypeLinkedTypeSkeleton>;
69
69
}
70
-
70
+
71
71
export type TypeTestSkeleton = EntrySkeletonType<TypeTestFields, "test">;
72
72
export type TypeTest<Modifiers extends ChainModifiers, Locales extends LocaleCode = LocaleCode> = Entry<TypeTestSkeleton, Modifiers, Locales>;
73
73
` ) ,
74
74
) ;
75
75
} ) ;
76
+
77
+ it ( 'adds default modifier' , ( ) => {
78
+ const renderer = new V10ContentTypeRenderer ( { defaultModifier : 'WITHOUT_UNRESOLVABLE_LINKS' } ) ;
79
+
80
+ const contentType : CFContentType = {
81
+ name : 'unused-name' ,
82
+ sys : {
83
+ id : 'test' ,
84
+ type : 'Symbol' ,
85
+ } ,
86
+ fields : [
87
+ {
88
+ id : 'linkFieldId' ,
89
+ name : 'Linked entry Field' ,
90
+ type : 'Link' ,
91
+ localized : false ,
92
+ required : true ,
93
+ validations : [
94
+ {
95
+ linkContentType : [ 'linkedType' ] ,
96
+ } ,
97
+ ] ,
98
+ disabled : false ,
99
+ omitted : false ,
100
+ linkType : 'Entry' ,
101
+ } ,
102
+ ] ,
103
+ } ;
104
+
105
+ renderer . render ( contentType , testFile ) ;
106
+
107
+ expect ( '\n' + testFile . getFullText ( ) ) . toEqual (
108
+ stripIndent ( `
109
+ import type { ChainModifiers, Entry, EntryFieldTypes, EntrySkeletonType, LocaleCode } from "contentful";
110
+ import type { TypeLinkedTypeSkeleton } from "./TypeLinkedType";
111
+
112
+ export interface TypeTestFields {
113
+ linkFieldId: EntryFieldTypes.EntryLink<TypeLinkedTypeSkeleton>;
114
+ }
115
+
116
+ export type TypeTestSkeleton = EntrySkeletonType<TypeTestFields, "test">;
117
+ export type TypeTest<Modifiers extends ChainModifiers = 'WITHOUT_UNRESOLVABLE_LINKS', Locales extends LocaleCode = LocaleCode> = Entry<TypeTestSkeleton, Modifiers, Locales>;
118
+ ` ) ,
119
+ ) ;
120
+ } ) ;
76
121
} ) ;
77
122
78
123
const symbolTypeRenderer = ( ) => {
@@ -141,11 +186,11 @@ describe('A derived content type renderer class', () => {
141
186
expect ( '\n' + testFile . getFullText ( ) ) . toEqual (
142
187
stripIndent ( `
143
188
import type { ChainModifiers, Entry, EntrySkeletonType, LocaleCode } from "contentful";
144
-
189
+
145
190
export interface TypeTestFields {
146
191
field_id: Test.Symbol;
147
192
}
148
-
193
+
149
194
export type TypeTestSkeleton = EntrySkeletonType<TypeTestFields, "test">;
150
195
export type TypeTest<Modifiers extends ChainModifiers, Locales extends LocaleCode = LocaleCode> = Entry<TypeTestSkeleton, Modifiers, Locales>;
151
196
` ) ,
@@ -204,12 +249,12 @@ describe('A derived content type renderer class', () => {
204
249
expect ( '\n' + testFile . getFullText ( ) ) . toEqual (
205
250
stripIndent ( `
206
251
import type { Entry, EntryFieldTypes, EntrySkeletonType } from "contentful";
207
-
252
+
208
253
export interface TypeTestFields {
209
254
/** Field of type "Symbol" */
210
255
field_id: EntryFieldTypes.Symbol;
211
256
}
212
-
257
+
213
258
export type TypeTestSkeleton = EntrySkeletonType<TypeTestFields, "test">;
214
259
/** content type "display name" with id: test */
215
260
export type TypeTest = Entry<TypeTestSkeleton, Modifiers, Locales>;
@@ -262,11 +307,11 @@ describe('A derived content type renderer class', () => {
262
307
stripIndent ( `
263
308
import type { CustomEntry } from "@custom";
264
309
import type { EntryFieldTypes, EntrySkeletonType } from "contentful";
265
-
310
+
266
311
export interface TypeTestFields {
267
312
field_id: EntryFieldTypes.Symbol;
268
313
}
269
-
314
+
270
315
export type TypeTestSkeleton = EntrySkeletonType<TypeTestFields, "test">;
271
316
export type TypeTest<Modifiers extends ChainModifiers, Locales extends LocaleCode = LocaleCode> = CustomEntry<TypeTestSkeleton, Modifiers, Locales>;
272
317
` ) ,
0 commit comments