payload 4.0.0-internal.cd69eef → 4.0.0-internal.d1cc1d3
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/dist/admin/RichText.d.ts +1 -1
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/functions/index.d.ts +10 -8
- package/dist/admin/functions/index.d.ts.map +1 -1
- package/dist/admin/functions/index.js.map +1 -1
- package/dist/admin/types.d.ts +2 -2
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/auth/endpoints/login.d.ts.map +1 -1
- package/dist/auth/endpoints/login.js +2 -11
- package/dist/auth/endpoints/login.js.map +1 -1
- package/dist/auth/loginWithCookie.d.ts +33 -0
- package/dist/auth/loginWithCookie.d.ts.map +1 -0
- package/dist/auth/loginWithCookie.js +34 -0
- package/dist/auth/loginWithCookie.js.map +1 -0
- package/dist/auth/serverFunctions/cookies.d.ts +47 -0
- package/dist/auth/serverFunctions/cookies.d.ts.map +1 -0
- package/dist/auth/serverFunctions/cookies.js +52 -0
- package/dist/auth/serverFunctions/cookies.js.map +1 -0
- package/dist/auth/serverFunctions/login.d.ts +29 -0
- package/dist/auth/serverFunctions/login.d.ts.map +1 -0
- package/dist/auth/serverFunctions/login.js +63 -0
- package/dist/auth/serverFunctions/login.js.map +1 -0
- package/dist/auth/serverFunctions/logout.d.ts +17 -0
- package/dist/auth/serverFunctions/logout.d.ts.map +1 -0
- package/dist/auth/serverFunctions/logout.js +58 -0
- package/dist/auth/serverFunctions/logout.js.map +1 -0
- package/dist/auth/serverFunctions/refresh.d.ts +17 -0
- package/dist/auth/serverFunctions/refresh.d.ts.map +1 -0
- package/dist/auth/serverFunctions/refresh.js +61 -0
- package/dist/auth/serverFunctions/refresh.js.map +1 -0
- package/dist/collections/config/client.d.ts +2 -3
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +5 -7
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.d.ts.map +1 -1
- package/dist/collections/config/defaults.js +1 -0
- package/dist/collections/config/defaults.js.map +1 -1
- package/dist/collections/config/sanitize.d.ts +3 -8
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +2 -6
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/types.d.ts +1 -1
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/config/useAsTitle.spec.js +27 -27
- package/dist/collections/config/useAsTitle.spec.js.map +1 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +10 -0
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +7 -4
- package/dist/collections/operations/restoreVersion.js.map +1 -1
- package/dist/collections/operations/updateByID.js +1 -0
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/config/build.js +1 -1
- package/dist/config/build.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/orderable/index.d.ts +1 -1
- package/dist/config/orderable/index.d.ts.map +1 -1
- package/dist/config/orderable/index.js +2 -2
- package/dist/config/orderable/index.js.map +1 -1
- package/dist/config/sanitize.d.ts +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +33 -40
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/createDatabaseAdapter.d.ts +1 -1
- package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
- package/dist/database/createDatabaseAdapter.js +0 -2
- package/dist/database/createDatabaseAdapter.js.map +1 -1
- package/dist/database/types.d.ts +6 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/exports/auth.d.ts +5 -0
- package/dist/exports/auth.d.ts.map +1 -0
- package/dist/exports/auth.js +6 -0
- package/dist/exports/auth.js.map +1 -0
- package/dist/exports/internal.d.ts +2 -0
- package/dist/exports/internal.d.ts.map +1 -1
- package/dist/exports/internal.js +3 -1
- package/dist/exports/internal.js.map +1 -1
- package/dist/fields/baseFields/slug/duplicateContext.d.ts +11 -0
- package/dist/fields/baseFields/slug/duplicateContext.d.ts.map +1 -0
- package/dist/fields/baseFields/slug/duplicateContext.js +21 -0
- package/dist/fields/baseFields/slug/duplicateContext.js.map +1 -0
- package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts +22 -0
- package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts.map +1 -0
- package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js +63 -0
- package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js.map +1 -0
- package/dist/fields/baseFields/slug/generateSlug.d.ts +13 -8
- package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/generateSlug.js +98 -45
- package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
- package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts +18 -0
- package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts.map +1 -0
- package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js +20 -0
- package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js.map +1 -0
- package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts +22 -0
- package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts.map +1 -0
- package/dist/fields/baseFields/slug/getSlugFallbackValue.js +23 -0
- package/dist/fields/baseFields/slug/getSlugFallbackValue.js.map +1 -0
- package/dist/fields/baseFields/slug/hasValue.d.ts +3 -0
- package/dist/fields/baseFields/slug/hasValue.d.ts.map +1 -0
- package/dist/fields/baseFields/slug/hasValue.js +3 -0
- package/dist/fields/baseFields/slug/hasValue.js.map +1 -0
- package/dist/fields/config/reservedFieldNames.spec.js +18 -18
- package/dist/fields/config/reservedFieldNames.spec.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts +3 -9
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +33 -34
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitize.spec.js +128 -105
- package/dist/fields/config/sanitize.spec.js.map +1 -1
- package/dist/fields/config/types.d.ts +4 -3
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +5 -3
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts +10 -0
- package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts.map +1 -0
- package/dist/fields/hooks/beforeValidate/stripNullRows.js +18 -0
- package/dist/fields/hooks/beforeValidate/stripNullRows.js.map +1 -0
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +7 -8
- package/dist/fields/validations.js.map +1 -1
- package/dist/fields/validations.spec.js +61 -37
- package/dist/fields/validations.spec.js.map +1 -1
- package/dist/globals/config/sanitize.d.ts +2 -7
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +2 -6
- package/dist/globals/config/sanitize.js.map +1 -1
- package/dist/globals/config/sanitize.spec.js +6 -6
- package/dist/globals/config/sanitize.spec.js.map +1 -1
- package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
- package/dist/globals/operations/countGlobalVersions.js +1 -0
- package/dist/globals/operations/countGlobalVersions.js.map +1 -1
- package/dist/index.bundled.d.ts +247 -178
- package/dist/index.d.ts +49 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/query-presets/constraints.js +1 -1
- package/dist/query-presets/constraints.js.map +1 -1
- package/dist/queues/config/collection.d.ts.map +1 -1
- package/dist/queues/config/collection.js +37 -43
- package/dist/queues/config/collection.js.map +1 -1
- package/dist/queues/config/global.d.ts +5 -6
- package/dist/queues/config/global.d.ts.map +1 -1
- package/dist/queues/config/global.js +1 -1
- package/dist/queues/config/global.js.map +1 -1
- package/dist/queues/config/types/index.d.ts +29 -24
- package/dist/queues/config/types/index.d.ts.map +1 -1
- package/dist/queues/config/types/index.js.map +1 -1
- package/dist/queues/config/types/taskTypes.d.ts +4 -7
- package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
- package/dist/queues/config/types/taskTypes.js.map +1 -1
- package/dist/queues/config/types/workflowJSONTypes.d.ts +10 -9
- package/dist/queues/config/types/workflowJSONTypes.d.ts.map +1 -1
- package/dist/queues/config/types/workflowJSONTypes.js.map +1 -1
- package/dist/queues/config/types/workflowTypes.d.ts +11 -58
- package/dist/queues/config/types/workflowTypes.d.ts.map +1 -1
- package/dist/queues/config/types/workflowTypes.js.map +1 -1
- package/dist/queues/endpoints/handleSchedules.js +1 -1
- package/dist/queues/endpoints/handleSchedules.js.map +1 -1
- package/dist/queues/errors/handleTaskError.js +4 -4
- package/dist/queues/errors/handleTaskError.js.map +1 -1
- package/dist/queues/errors/handleWorkflowError.js +1 -1
- package/dist/queues/errors/handleWorkflowError.js.map +1 -1
- package/dist/queues/errors/index.d.ts +6 -0
- package/dist/queues/errors/index.d.ts.map +1 -1
- package/dist/queues/errors/index.js +5 -0
- package/dist/queues/errors/index.js.map +1 -1
- package/dist/queues/localAPI.d.ts +4 -4
- package/dist/queues/localAPI.d.ts.map +1 -1
- package/dist/queues/localAPI.js +63 -66
- package/dist/queues/localAPI.js.map +1 -1
- package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts +4 -4
- package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts.map +1 -1
- package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.js.map +1 -1
- package/dist/queues/operations/handleSchedules/index.d.ts +1 -1
- package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
- package/dist/queues/operations/handleSchedules/index.js +1 -1
- package/dist/queues/operations/handleSchedules/index.js.map +1 -1
- package/dist/queues/operations/runJobs/heartbeat.d.ts +13 -0
- package/dist/queues/operations/runJobs/heartbeat.d.ts.map +1 -0
- package/dist/queues/operations/runJobs/heartbeat.js +66 -0
- package/dist/queues/operations/runJobs/heartbeat.js.map +1 -0
- package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/index.js +133 -84
- package/dist/queues/operations/runJobs/index.js.map +1 -1
- package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJSONJob/index.js +6 -3
- package/dist/queues/operations/runJobs/runJSONJob/index.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +5 -5
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts +2 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +39 -8
- package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/importHandlerPath.js.map +1 -1
- package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/index.js +4 -4
- package/dist/queues/operations/runJobs/runJob/index.js.map +1 -1
- package/dist/queues/utilities/updateJob.d.ts.map +1 -1
- package/dist/queues/utilities/updateJob.js +3 -0
- package/dist/queues/utilities/updateJob.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/checkFileRestrictions.d.ts +1 -1
- package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
- package/dist/uploads/checkFileRestrictions.js +15 -1
- package/dist/uploads/checkFileRestrictions.js.map +1 -1
- package/dist/uploads/endpoints/uploadInstructions.d.ts +12 -0
- package/dist/uploads/endpoints/uploadInstructions.d.ts.map +1 -1
- package/dist/uploads/endpoints/uploadInstructions.js +66 -20
- package/dist/uploads/endpoints/uploadInstructions.js.map +1 -1
- package/dist/uploads/generateFileData.js +4 -1
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getFileFromUploadInstructions.d.ts +8 -0
- package/dist/uploads/getFileFromUploadInstructions.d.ts.map +1 -0
- package/dist/uploads/getFileFromUploadInstructions.js +62 -0
- package/dist/uploads/getFileFromUploadInstructions.js.map +1 -0
- package/dist/uploads/getImageSize.d.ts +12 -1
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +20 -18
- package/dist/uploads/getImageSize.js.map +1 -1
- package/dist/uploads/getImageSize.spec.js +298 -0
- package/dist/uploads/getImageSize.spec.js.map +1 -0
- package/dist/uploads/probeImageSize.d.ts +39 -0
- package/dist/uploads/probeImageSize.d.ts.map +1 -0
- package/dist/uploads/probeImageSize.js +374 -0
- package/dist/uploads/probeImageSize.js.map +1 -0
- package/dist/uploads/probeImageSize.spec.js +366 -0
- package/dist/uploads/probeImageSize.spec.js.map +1 -0
- package/dist/uploads/stagedUpload.d.ts +27 -0
- package/dist/uploads/stagedUpload.d.ts.map +1 -0
- package/dist/uploads/stagedUpload.js +197 -0
- package/dist/uploads/stagedUpload.js.map +1 -0
- package/dist/uploads/types.d.ts +41 -13
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js +12 -46
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +33 -33
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/fieldValueExists.d.ts +29 -0
- package/dist/utilities/fieldValueExists.d.ts.map +1 -0
- package/dist/utilities/fieldValueExists.js +27 -0
- package/dist/utilities/fieldValueExists.js.map +1 -0
- package/dist/utilities/getUniqueFieldValue.d.ts +27 -0
- package/dist/utilities/getUniqueFieldValue.d.ts.map +1 -0
- package/dist/utilities/getUniqueFieldValue.js +26 -0
- package/dist/utilities/getUniqueFieldValue.js.map +1 -0
- package/dist/versions/deleteScheduledPublishJobs.js +2 -2
- package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
- package/dist/versions/payloadPackageList.d.ts.map +1 -1
- package/dist/versions/payloadPackageList.js +0 -1
- package/dist/versions/payloadPackageList.js.map +1 -1
- package/package.json +8 -3
- package/dist/database/defaultUpdateJobs.d.ts +0 -3
- package/dist/database/defaultUpdateJobs.d.ts.map +0 -1
- package/dist/database/defaultUpdateJobs.js +0 -41
- package/dist/database/defaultUpdateJobs.js.map +0 -1
- package/dist/fields/baseFields/slug/countVersions.d.ts +0 -13
- package/dist/fields/baseFields/slug/countVersions.d.ts.map +0 -1
- package/dist/fields/baseFields/slug/countVersions.js +0 -27
- package/dist/fields/baseFields/slug/countVersions.js.map +0 -1
- package/dist/uploads/tempFile.d.ts +0 -7
- package/dist/uploads/tempFile.d.ts.map +0 -1
- package/dist/uploads/tempFile.js +0 -39
- package/dist/uploads/tempFile.js.map +0 -1
|
@@ -4,7 +4,7 @@ import { describe, it, expect } from 'vitest';
|
|
|
4
4
|
describe('sanitizeFields', ()=>{
|
|
5
5
|
const config = {};
|
|
6
6
|
const collectionConfig = {};
|
|
7
|
-
it('should throw on missing type field',
|
|
7
|
+
it('should throw on missing type field', ()=>{
|
|
8
8
|
const fields = [
|
|
9
9
|
// @ts-expect-error
|
|
10
10
|
{
|
|
@@ -12,16 +12,16 @@ describe('sanitizeFields', ()=>{
|
|
|
12
12
|
label: 'some-collection'
|
|
13
13
|
}
|
|
14
14
|
];
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
expect(()=>{
|
|
16
|
+
sanitizeFields({
|
|
17
17
|
config,
|
|
18
18
|
collectionConfig,
|
|
19
19
|
fields,
|
|
20
20
|
validRelationships: []
|
|
21
21
|
});
|
|
22
|
-
}).
|
|
22
|
+
}).toThrow(MissingFieldType);
|
|
23
23
|
});
|
|
24
|
-
it('should throw on invalid field name',
|
|
24
|
+
it('should throw on invalid field name', ()=>{
|
|
25
25
|
const fields = [
|
|
26
26
|
{
|
|
27
27
|
name: 'some.collection',
|
|
@@ -29,16 +29,16 @@ describe('sanitizeFields', ()=>{
|
|
|
29
29
|
label: 'some.collection'
|
|
30
30
|
}
|
|
31
31
|
];
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
expect(()=>{
|
|
33
|
+
sanitizeFields({
|
|
34
34
|
config,
|
|
35
35
|
collectionConfig,
|
|
36
36
|
fields,
|
|
37
37
|
validRelationships: []
|
|
38
38
|
});
|
|
39
|
-
}).
|
|
39
|
+
}).toThrow(InvalidFieldName);
|
|
40
40
|
});
|
|
41
|
-
it('should throw on duplicate field name',
|
|
41
|
+
it('should throw on duplicate field name', ()=>{
|
|
42
42
|
const fields = [
|
|
43
43
|
{
|
|
44
44
|
name: 'someField',
|
|
@@ -51,16 +51,16 @@ describe('sanitizeFields', ()=>{
|
|
|
51
51
|
label: 'someField'
|
|
52
52
|
}
|
|
53
53
|
];
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
expect(()=>{
|
|
55
|
+
sanitizeFields({
|
|
56
56
|
config,
|
|
57
57
|
collectionConfig,
|
|
58
58
|
fields,
|
|
59
59
|
validRelationships: []
|
|
60
60
|
});
|
|
61
|
-
}).
|
|
61
|
+
}).toThrow(DuplicateFieldName);
|
|
62
62
|
});
|
|
63
|
-
it('should throw on duplicate block slug',
|
|
63
|
+
it('should throw on duplicate block slug', ()=>{
|
|
64
64
|
const fields = [
|
|
65
65
|
{
|
|
66
66
|
name: 'blocks',
|
|
@@ -87,34 +87,34 @@ describe('sanitizeFields', ()=>{
|
|
|
87
87
|
]
|
|
88
88
|
}
|
|
89
89
|
];
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
expect(()=>{
|
|
91
|
+
sanitizeFields({
|
|
92
92
|
config,
|
|
93
93
|
collectionConfig,
|
|
94
94
|
fields,
|
|
95
95
|
validRelationships: []
|
|
96
96
|
});
|
|
97
|
-
}).
|
|
97
|
+
}).toThrow(DuplicateFieldName);
|
|
98
98
|
});
|
|
99
99
|
describe('auto-labeling', ()=>{
|
|
100
|
-
it('should populate label if missing',
|
|
100
|
+
it('should populate label if missing', ()=>{
|
|
101
101
|
const fields = [
|
|
102
102
|
{
|
|
103
103
|
name: 'someField',
|
|
104
104
|
type: 'text'
|
|
105
105
|
}
|
|
106
106
|
];
|
|
107
|
-
const sanitizedField =
|
|
107
|
+
const sanitizedField = sanitizeFields({
|
|
108
108
|
config,
|
|
109
109
|
collectionConfig,
|
|
110
110
|
fields,
|
|
111
111
|
validRelationships: []
|
|
112
|
-
})
|
|
112
|
+
})[0];
|
|
113
113
|
expect(sanitizedField.name).toStrictEqual('someField');
|
|
114
114
|
expect(sanitizedField.label).toStrictEqual('Some Field');
|
|
115
115
|
expect(sanitizedField.type).toStrictEqual('text');
|
|
116
116
|
});
|
|
117
|
-
it('should allow auto-label override',
|
|
117
|
+
it('should allow auto-label override', ()=>{
|
|
118
118
|
const fields = [
|
|
119
119
|
{
|
|
120
120
|
name: 'someField',
|
|
@@ -122,18 +122,18 @@ describe('sanitizeFields', ()=>{
|
|
|
122
122
|
label: 'Do not label'
|
|
123
123
|
}
|
|
124
124
|
];
|
|
125
|
-
const sanitizedField =
|
|
125
|
+
const sanitizedField = sanitizeFields({
|
|
126
126
|
config,
|
|
127
127
|
collectionConfig,
|
|
128
128
|
fields,
|
|
129
129
|
validRelationships: []
|
|
130
|
-
})
|
|
130
|
+
})[0];
|
|
131
131
|
expect(sanitizedField.name).toStrictEqual('someField');
|
|
132
132
|
expect(sanitizedField.label).toStrictEqual('Do not label');
|
|
133
133
|
expect(sanitizedField.type).toStrictEqual('text');
|
|
134
134
|
});
|
|
135
135
|
describe('opt-out', ()=>{
|
|
136
|
-
it('should allow label opt-out',
|
|
136
|
+
it('should allow label opt-out', ()=>{
|
|
137
137
|
const fields = [
|
|
138
138
|
{
|
|
139
139
|
name: 'someField',
|
|
@@ -141,17 +141,17 @@ describe('sanitizeFields', ()=>{
|
|
|
141
141
|
label: false
|
|
142
142
|
}
|
|
143
143
|
];
|
|
144
|
-
const sanitizedField =
|
|
144
|
+
const sanitizedField = sanitizeFields({
|
|
145
145
|
config,
|
|
146
146
|
collectionConfig,
|
|
147
147
|
fields,
|
|
148
148
|
validRelationships: []
|
|
149
|
-
})
|
|
149
|
+
})[0];
|
|
150
150
|
expect(sanitizedField.name).toStrictEqual('someField');
|
|
151
151
|
expect(sanitizedField.label).toStrictEqual(false);
|
|
152
152
|
expect(sanitizedField.type).toStrictEqual('text');
|
|
153
153
|
});
|
|
154
|
-
it('should allow label opt-out for arrays',
|
|
154
|
+
it('should allow label opt-out for arrays', ()=>{
|
|
155
155
|
const arrayField = {
|
|
156
156
|
name: 'items',
|
|
157
157
|
type: 'array',
|
|
@@ -163,20 +163,20 @@ describe('sanitizeFields', ()=>{
|
|
|
163
163
|
],
|
|
164
164
|
label: false
|
|
165
165
|
};
|
|
166
|
-
const sanitizedField =
|
|
166
|
+
const sanitizedField = sanitizeFields({
|
|
167
167
|
config,
|
|
168
168
|
collectionConfig,
|
|
169
169
|
fields: [
|
|
170
170
|
arrayField
|
|
171
171
|
],
|
|
172
172
|
validRelationships: []
|
|
173
|
-
})
|
|
173
|
+
})[0];
|
|
174
174
|
expect(sanitizedField.name).toStrictEqual('items');
|
|
175
175
|
expect(sanitizedField.label).toStrictEqual(false);
|
|
176
176
|
expect(sanitizedField.type).toStrictEqual('array');
|
|
177
177
|
expect(sanitizedField.labels).toBeUndefined();
|
|
178
178
|
});
|
|
179
|
-
it('should allow label opt-out for blocks',
|
|
179
|
+
it('should allow label opt-out for blocks', ()=>{
|
|
180
180
|
const fields = [
|
|
181
181
|
{
|
|
182
182
|
name: 'noLabelBlock',
|
|
@@ -195,19 +195,19 @@ describe('sanitizeFields', ()=>{
|
|
|
195
195
|
label: false
|
|
196
196
|
}
|
|
197
197
|
];
|
|
198
|
-
const sanitizedField =
|
|
198
|
+
const sanitizedField = sanitizeFields({
|
|
199
199
|
config,
|
|
200
200
|
collectionConfig,
|
|
201
201
|
fields,
|
|
202
202
|
validRelationships: []
|
|
203
|
-
})
|
|
203
|
+
})[0];
|
|
204
204
|
expect(sanitizedField.name).toStrictEqual('noLabelBlock');
|
|
205
205
|
expect(sanitizedField.label).toStrictEqual(false);
|
|
206
206
|
expect(sanitizedField.type).toStrictEqual('blocks');
|
|
207
207
|
expect(sanitizedField.labels).toBeUndefined();
|
|
208
208
|
});
|
|
209
209
|
});
|
|
210
|
-
it('should label arrays with plural and singular',
|
|
210
|
+
it('should label arrays with plural and singular', ()=>{
|
|
211
211
|
const fields = [
|
|
212
212
|
{
|
|
213
213
|
name: 'items',
|
|
@@ -220,12 +220,12 @@ describe('sanitizeFields', ()=>{
|
|
|
220
220
|
]
|
|
221
221
|
}
|
|
222
222
|
];
|
|
223
|
-
const sanitizedField =
|
|
223
|
+
const sanitizedField = sanitizeFields({
|
|
224
224
|
config,
|
|
225
225
|
collectionConfig,
|
|
226
226
|
fields,
|
|
227
227
|
validRelationships: []
|
|
228
|
-
})
|
|
228
|
+
})[0];
|
|
229
229
|
expect(sanitizedField.name).toStrictEqual('items');
|
|
230
230
|
expect(sanitizedField.label).toStrictEqual('Items');
|
|
231
231
|
expect(sanitizedField.type).toStrictEqual('array');
|
|
@@ -234,7 +234,7 @@ describe('sanitizeFields', ()=>{
|
|
|
234
234
|
singular: 'Item'
|
|
235
235
|
});
|
|
236
236
|
});
|
|
237
|
-
it('should label blocks with plural and singular',
|
|
237
|
+
it('should label blocks with plural and singular', ()=>{
|
|
238
238
|
const fields = [
|
|
239
239
|
{
|
|
240
240
|
name: 'specialBlock',
|
|
@@ -252,12 +252,12 @@ describe('sanitizeFields', ()=>{
|
|
|
252
252
|
]
|
|
253
253
|
}
|
|
254
254
|
];
|
|
255
|
-
const sanitizedField =
|
|
255
|
+
const sanitizedField = sanitizeFields({
|
|
256
256
|
config,
|
|
257
257
|
collectionConfig,
|
|
258
258
|
fields,
|
|
259
259
|
validRelationships: []
|
|
260
|
-
})
|
|
260
|
+
})[0];
|
|
261
261
|
expect(sanitizedField.name).toStrictEqual('specialBlock');
|
|
262
262
|
expect(sanitizedField.label).toStrictEqual('Special Block');
|
|
263
263
|
expect(sanitizedField.type).toStrictEqual('blocks');
|
|
@@ -269,7 +269,7 @@ describe('sanitizeFields', ()=>{
|
|
|
269
269
|
});
|
|
270
270
|
});
|
|
271
271
|
describe('relationships', ()=>{
|
|
272
|
-
it('should not throw on valid relationship',
|
|
272
|
+
it('should not throw on valid relationship', ()=>{
|
|
273
273
|
const validRelationships = [
|
|
274
274
|
'some-collection'
|
|
275
275
|
];
|
|
@@ -281,8 +281,8 @@ describe('sanitizeFields', ()=>{
|
|
|
281
281
|
relationTo: 'some-collection'
|
|
282
282
|
}
|
|
283
283
|
];
|
|
284
|
-
|
|
285
|
-
|
|
284
|
+
expect(()=>{
|
|
285
|
+
sanitizeFields({
|
|
286
286
|
config,
|
|
287
287
|
collectionConfig,
|
|
288
288
|
fields,
|
|
@@ -290,7 +290,7 @@ describe('sanitizeFields', ()=>{
|
|
|
290
290
|
});
|
|
291
291
|
}).not.toThrow();
|
|
292
292
|
});
|
|
293
|
-
it('should not throw on valid relationship - multiple',
|
|
293
|
+
it('should not throw on valid relationship - multiple', ()=>{
|
|
294
294
|
const validRelationships = [
|
|
295
295
|
'some-collection',
|
|
296
296
|
'another-collection'
|
|
@@ -306,8 +306,8 @@ describe('sanitizeFields', ()=>{
|
|
|
306
306
|
]
|
|
307
307
|
}
|
|
308
308
|
];
|
|
309
|
-
|
|
310
|
-
|
|
309
|
+
expect(()=>{
|
|
310
|
+
sanitizeFields({
|
|
311
311
|
config,
|
|
312
312
|
collectionConfig,
|
|
313
313
|
fields,
|
|
@@ -315,7 +315,7 @@ describe('sanitizeFields', ()=>{
|
|
|
315
315
|
});
|
|
316
316
|
}).not.toThrow();
|
|
317
317
|
});
|
|
318
|
-
it('should not throw on valid relationship inside blocks',
|
|
318
|
+
it('should not throw on valid relationship inside blocks', ()=>{
|
|
319
319
|
const validRelationships = [
|
|
320
320
|
'some-collection'
|
|
321
321
|
];
|
|
@@ -340,8 +340,8 @@ describe('sanitizeFields', ()=>{
|
|
|
340
340
|
label: 'Layout Blocks'
|
|
341
341
|
}
|
|
342
342
|
];
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
expect(()=>{
|
|
344
|
+
sanitizeFields({
|
|
345
345
|
config,
|
|
346
346
|
collectionConfig,
|
|
347
347
|
fields,
|
|
@@ -349,7 +349,7 @@ describe('sanitizeFields', ()=>{
|
|
|
349
349
|
});
|
|
350
350
|
}).not.toThrow();
|
|
351
351
|
});
|
|
352
|
-
it('should throw on invalid relationship',
|
|
352
|
+
it('should throw on invalid relationship', ()=>{
|
|
353
353
|
const validRelationships = [
|
|
354
354
|
'some-collection'
|
|
355
355
|
];
|
|
@@ -361,16 +361,16 @@ describe('sanitizeFields', ()=>{
|
|
|
361
361
|
relationTo: 'not-valid'
|
|
362
362
|
}
|
|
363
363
|
];
|
|
364
|
-
|
|
365
|
-
|
|
364
|
+
expect(()=>{
|
|
365
|
+
sanitizeFields({
|
|
366
366
|
config,
|
|
367
367
|
collectionConfig,
|
|
368
368
|
fields,
|
|
369
369
|
validRelationships
|
|
370
370
|
});
|
|
371
|
-
}).
|
|
371
|
+
}).toThrow(InvalidFieldRelationship);
|
|
372
372
|
});
|
|
373
|
-
it('should throw on invalid relationship - multiple',
|
|
373
|
+
it('should throw on invalid relationship - multiple', ()=>{
|
|
374
374
|
const validRelationships = [
|
|
375
375
|
'some-collection',
|
|
376
376
|
'another-collection'
|
|
@@ -386,16 +386,16 @@ describe('sanitizeFields', ()=>{
|
|
|
386
386
|
]
|
|
387
387
|
}
|
|
388
388
|
];
|
|
389
|
-
|
|
390
|
-
|
|
389
|
+
expect(()=>{
|
|
390
|
+
sanitizeFields({
|
|
391
391
|
config,
|
|
392
392
|
collectionConfig,
|
|
393
393
|
fields,
|
|
394
394
|
validRelationships
|
|
395
395
|
});
|
|
396
|
-
}).
|
|
396
|
+
}).toThrow(InvalidFieldRelationship);
|
|
397
397
|
});
|
|
398
|
-
it('should throw on invalid relationship inside blocks',
|
|
398
|
+
it('should throw on invalid relationship inside blocks', ()=>{
|
|
399
399
|
const validRelationships = [
|
|
400
400
|
'some-collection'
|
|
401
401
|
];
|
|
@@ -420,16 +420,16 @@ describe('sanitizeFields', ()=>{
|
|
|
420
420
|
label: 'Layout Blocks'
|
|
421
421
|
}
|
|
422
422
|
];
|
|
423
|
-
|
|
424
|
-
|
|
423
|
+
expect(()=>{
|
|
424
|
+
sanitizeFields({
|
|
425
425
|
config,
|
|
426
426
|
collectionConfig,
|
|
427
427
|
fields,
|
|
428
428
|
validRelationships
|
|
429
429
|
});
|
|
430
|
-
}).
|
|
430
|
+
}).toThrow(InvalidFieldRelationship);
|
|
431
431
|
});
|
|
432
|
-
it('should throw on empty relationTo array',
|
|
432
|
+
it('should throw on empty relationTo array', ()=>{
|
|
433
433
|
const validRelationships = [
|
|
434
434
|
'some-collection'
|
|
435
435
|
];
|
|
@@ -441,16 +441,16 @@ describe('sanitizeFields', ()=>{
|
|
|
441
441
|
relationTo: []
|
|
442
442
|
}
|
|
443
443
|
];
|
|
444
|
-
|
|
445
|
-
|
|
444
|
+
expect(()=>{
|
|
445
|
+
sanitizeFields({
|
|
446
446
|
config,
|
|
447
447
|
collectionConfig,
|
|
448
448
|
fields,
|
|
449
449
|
validRelationships
|
|
450
450
|
});
|
|
451
|
-
}).
|
|
451
|
+
}).toThrow('has an empty relationTo array');
|
|
452
452
|
});
|
|
453
|
-
it('should throw on empty relationTo array for upload field',
|
|
453
|
+
it('should throw on empty relationTo array for upload field', ()=>{
|
|
454
454
|
const validRelationships = [
|
|
455
455
|
'some-collection'
|
|
456
456
|
];
|
|
@@ -462,16 +462,16 @@ describe('sanitizeFields', ()=>{
|
|
|
462
462
|
relationTo: []
|
|
463
463
|
}
|
|
464
464
|
];
|
|
465
|
-
|
|
466
|
-
|
|
465
|
+
expect(()=>{
|
|
466
|
+
sanitizeFields({
|
|
467
467
|
config,
|
|
468
468
|
collectionConfig,
|
|
469
469
|
fields,
|
|
470
470
|
validRelationships
|
|
471
471
|
});
|
|
472
|
-
}).
|
|
472
|
+
}).toThrow('has an empty relationTo array');
|
|
473
473
|
});
|
|
474
|
-
it('should throw on empty relationTo array inside blocks',
|
|
474
|
+
it('should throw on empty relationTo array inside blocks', ()=>{
|
|
475
475
|
const validRelationships = [
|
|
476
476
|
'some-collection'
|
|
477
477
|
];
|
|
@@ -496,16 +496,16 @@ describe('sanitizeFields', ()=>{
|
|
|
496
496
|
label: 'Layout Blocks'
|
|
497
497
|
}
|
|
498
498
|
];
|
|
499
|
-
|
|
500
|
-
|
|
499
|
+
expect(()=>{
|
|
500
|
+
sanitizeFields({
|
|
501
501
|
config,
|
|
502
502
|
collectionConfig,
|
|
503
503
|
fields,
|
|
504
504
|
validRelationships
|
|
505
505
|
});
|
|
506
|
-
}).
|
|
506
|
+
}).toThrow('has an empty relationTo array');
|
|
507
507
|
});
|
|
508
|
-
it('should defaultValue of checkbox to false if required and undefined',
|
|
508
|
+
it('should defaultValue of checkbox to false if required and undefined', ()=>{
|
|
509
509
|
const fields = [
|
|
510
510
|
{
|
|
511
511
|
name: 'My Checkbox',
|
|
@@ -513,16 +513,16 @@ describe('sanitizeFields', ()=>{
|
|
|
513
513
|
required: true
|
|
514
514
|
}
|
|
515
515
|
];
|
|
516
|
-
const sanitizedField =
|
|
516
|
+
const sanitizedField = sanitizeFields({
|
|
517
517
|
config,
|
|
518
518
|
collectionConfig,
|
|
519
519
|
fields,
|
|
520
520
|
validRelationships: []
|
|
521
|
-
})
|
|
521
|
+
})[0];
|
|
522
522
|
expect(sanitizedField.defaultValue).toStrictEqual(false);
|
|
523
523
|
});
|
|
524
|
-
it('should return empty field array if no fields',
|
|
525
|
-
const sanitizedFields =
|
|
524
|
+
it('should return empty field array if no fields', ()=>{
|
|
525
|
+
const sanitizedFields = sanitizeFields({
|
|
526
526
|
config,
|
|
527
527
|
collectionConfig,
|
|
528
528
|
fields: [],
|
|
@@ -531,8 +531,31 @@ describe('sanitizeFields', ()=>{
|
|
|
531
531
|
expect(sanitizedFields).toStrictEqual([]);
|
|
532
532
|
});
|
|
533
533
|
});
|
|
534
|
+
it('should sanitize rich text inline', ()=>{
|
|
535
|
+
const editor = {
|
|
536
|
+
CellComponent: '',
|
|
537
|
+
FieldComponent: '',
|
|
538
|
+
validate: ()=>true
|
|
539
|
+
};
|
|
540
|
+
const configWithEditor = {
|
|
541
|
+
editor: ()=>editor
|
|
542
|
+
};
|
|
543
|
+
const fields = [
|
|
544
|
+
{
|
|
545
|
+
name: 'richText',
|
|
546
|
+
type: 'richText'
|
|
547
|
+
}
|
|
548
|
+
];
|
|
549
|
+
const sanitizedFields = sanitizeFields({
|
|
550
|
+
config: configWithEditor,
|
|
551
|
+
fields,
|
|
552
|
+
parentIsLocalized: false,
|
|
553
|
+
validRelationships: []
|
|
554
|
+
});
|
|
555
|
+
expect(sanitizedFields[0].editor).toBe(editor);
|
|
556
|
+
});
|
|
534
557
|
describe('blocks', ()=>{
|
|
535
|
-
it('should maintain admin.blockName true after sanitization',
|
|
558
|
+
it('should maintain admin.blockName true after sanitization', ()=>{
|
|
536
559
|
const fields = [
|
|
537
560
|
{
|
|
538
561
|
name: 'noLabelBlock',
|
|
@@ -554,16 +577,16 @@ describe('sanitizeFields', ()=>{
|
|
|
554
577
|
label: false
|
|
555
578
|
}
|
|
556
579
|
];
|
|
557
|
-
const sanitizedField =
|
|
580
|
+
const sanitizedField = sanitizeFields({
|
|
558
581
|
config,
|
|
559
582
|
collectionConfig,
|
|
560
583
|
fields,
|
|
561
584
|
validRelationships: []
|
|
562
|
-
})
|
|
585
|
+
})[0];
|
|
563
586
|
const sanitizedBlock = sanitizedField.blocks[0];
|
|
564
587
|
expect(sanitizedBlock.admin?.disableBlockName).toStrictEqual(true);
|
|
565
588
|
});
|
|
566
|
-
it('should default admin.disableBlockName to true after sanitization',
|
|
589
|
+
it('should default admin.disableBlockName to true after sanitization', ()=>{
|
|
567
590
|
const fields = [
|
|
568
591
|
{
|
|
569
592
|
name: 'noLabelBlock',
|
|
@@ -582,18 +605,18 @@ describe('sanitizeFields', ()=>{
|
|
|
582
605
|
label: false
|
|
583
606
|
}
|
|
584
607
|
];
|
|
585
|
-
const sanitizedField =
|
|
608
|
+
const sanitizedField = sanitizeFields({
|
|
586
609
|
config,
|
|
587
610
|
collectionConfig,
|
|
588
611
|
fields,
|
|
589
612
|
validRelationships: []
|
|
590
|
-
})
|
|
613
|
+
})[0];
|
|
591
614
|
const sanitizedBlock = sanitizedField.blocks[0];
|
|
592
615
|
expect(sanitizedBlock.admin?.disableBlockName).toStrictEqual(undefined);
|
|
593
616
|
});
|
|
594
617
|
});
|
|
595
618
|
describe('virtual fields', ()=>{
|
|
596
|
-
it('should assign a noop validate for virtual: true fields',
|
|
619
|
+
it('should assign a noop validate for virtual: true fields', ()=>{
|
|
597
620
|
const fields = [
|
|
598
621
|
{
|
|
599
622
|
name: 'virtualText',
|
|
@@ -601,17 +624,17 @@ describe('sanitizeFields', ()=>{
|
|
|
601
624
|
virtual: true
|
|
602
625
|
}
|
|
603
626
|
];
|
|
604
|
-
const sanitizedField =
|
|
627
|
+
const sanitizedField = sanitizeFields({
|
|
605
628
|
config,
|
|
606
629
|
collectionConfig,
|
|
607
630
|
fields,
|
|
608
631
|
validRelationships: []
|
|
609
|
-
})
|
|
632
|
+
})[0];
|
|
610
633
|
expect(sanitizedField.validate).toBeDefined();
|
|
611
634
|
expect(sanitizedField.validate('', {})).toBe(true);
|
|
612
635
|
expect(sanitizedField.validate(undefined, {})).toBe(true);
|
|
613
636
|
});
|
|
614
|
-
it('should assign a noop validate for virtual: "string" fields',
|
|
637
|
+
it('should assign a noop validate for virtual: "string" fields', ()=>{
|
|
615
638
|
const fields = [
|
|
616
639
|
{
|
|
617
640
|
name: 'virtualRef',
|
|
@@ -619,16 +642,16 @@ describe('sanitizeFields', ()=>{
|
|
|
619
642
|
virtual: 'post.title'
|
|
620
643
|
}
|
|
621
644
|
];
|
|
622
|
-
const sanitizedField =
|
|
645
|
+
const sanitizedField = sanitizeFields({
|
|
623
646
|
config,
|
|
624
647
|
collectionConfig,
|
|
625
648
|
fields,
|
|
626
649
|
validRelationships: []
|
|
627
|
-
})
|
|
650
|
+
})[0];
|
|
628
651
|
expect(sanitizedField.validate).toBeDefined();
|
|
629
652
|
expect(sanitizedField.validate(undefined, {})).toBe(true);
|
|
630
653
|
});
|
|
631
|
-
it('should not override an explicit validate on a virtual field',
|
|
654
|
+
it('should not override an explicit validate on a virtual field', ()=>{
|
|
632
655
|
const customValidate = ()=>true;
|
|
633
656
|
const fields = [
|
|
634
657
|
{
|
|
@@ -638,27 +661,27 @@ describe('sanitizeFields', ()=>{
|
|
|
638
661
|
validate: customValidate
|
|
639
662
|
}
|
|
640
663
|
];
|
|
641
|
-
const sanitizedField =
|
|
664
|
+
const sanitizedField = sanitizeFields({
|
|
642
665
|
config,
|
|
643
666
|
collectionConfig,
|
|
644
667
|
fields,
|
|
645
668
|
validRelationships: []
|
|
646
|
-
})
|
|
669
|
+
})[0];
|
|
647
670
|
expect(sanitizedField.validate).toBe(customValidate);
|
|
648
671
|
});
|
|
649
|
-
it('should assign default type-based validate for non-virtual fields',
|
|
672
|
+
it('should assign default type-based validate for non-virtual fields', ()=>{
|
|
650
673
|
const fields = [
|
|
651
674
|
{
|
|
652
675
|
name: 'normalText',
|
|
653
676
|
type: 'text'
|
|
654
677
|
}
|
|
655
678
|
];
|
|
656
|
-
const sanitizedField =
|
|
679
|
+
const sanitizedField = sanitizeFields({
|
|
657
680
|
config,
|
|
658
681
|
collectionConfig,
|
|
659
682
|
fields,
|
|
660
683
|
validRelationships: []
|
|
661
|
-
})
|
|
684
|
+
})[0];
|
|
662
685
|
expect(sanitizedField.validate).toBeDefined();
|
|
663
686
|
// Non-virtual text field should use the text validator which checks required/minLength/etc.
|
|
664
687
|
// Passing undefined with required should fail
|
|
@@ -673,7 +696,7 @@ describe('sanitizeFields', ()=>{
|
|
|
673
696
|
});
|
|
674
697
|
expect(result).not.toBe(true);
|
|
675
698
|
});
|
|
676
|
-
it('should default readOnly to true for virtual: true fields',
|
|
699
|
+
it('should default readOnly to true for virtual: true fields', ()=>{
|
|
677
700
|
const fields = [
|
|
678
701
|
{
|
|
679
702
|
name: 'virtualText',
|
|
@@ -681,15 +704,15 @@ describe('sanitizeFields', ()=>{
|
|
|
681
704
|
virtual: true
|
|
682
705
|
}
|
|
683
706
|
];
|
|
684
|
-
const sanitizedField =
|
|
707
|
+
const sanitizedField = sanitizeFields({
|
|
685
708
|
config,
|
|
686
709
|
collectionConfig,
|
|
687
710
|
fields,
|
|
688
711
|
validRelationships: []
|
|
689
|
-
})
|
|
712
|
+
})[0];
|
|
690
713
|
expect(sanitizedField.admin?.readOnly).toBe(true);
|
|
691
714
|
});
|
|
692
|
-
it('should default readOnly to true for virtual: "string" fields',
|
|
715
|
+
it('should default readOnly to true for virtual: "string" fields', ()=>{
|
|
693
716
|
const fields = [
|
|
694
717
|
{
|
|
695
718
|
name: 'virtualRef',
|
|
@@ -697,15 +720,15 @@ describe('sanitizeFields', ()=>{
|
|
|
697
720
|
virtual: 'post.title'
|
|
698
721
|
}
|
|
699
722
|
];
|
|
700
|
-
const sanitizedField =
|
|
723
|
+
const sanitizedField = sanitizeFields({
|
|
701
724
|
config,
|
|
702
725
|
collectionConfig,
|
|
703
726
|
fields,
|
|
704
727
|
validRelationships: []
|
|
705
|
-
})
|
|
728
|
+
})[0];
|
|
706
729
|
expect(sanitizedField.admin?.readOnly).toBe(true);
|
|
707
730
|
});
|
|
708
|
-
it('should not override readOnly: false on virtual fields',
|
|
731
|
+
it('should not override readOnly: false on virtual fields', ()=>{
|
|
709
732
|
const fields = [
|
|
710
733
|
{
|
|
711
734
|
name: 'virtualText',
|
|
@@ -716,27 +739,27 @@ describe('sanitizeFields', ()=>{
|
|
|
716
739
|
}
|
|
717
740
|
}
|
|
718
741
|
];
|
|
719
|
-
const sanitizedField =
|
|
742
|
+
const sanitizedField = sanitizeFields({
|
|
720
743
|
config,
|
|
721
744
|
collectionConfig,
|
|
722
745
|
fields,
|
|
723
746
|
validRelationships: []
|
|
724
|
-
})
|
|
747
|
+
})[0];
|
|
725
748
|
expect(sanitizedField.admin?.readOnly).toBe(false);
|
|
726
749
|
});
|
|
727
|
-
it('should not set readOnly on non-virtual fields',
|
|
750
|
+
it('should not set readOnly on non-virtual fields', ()=>{
|
|
728
751
|
const fields = [
|
|
729
752
|
{
|
|
730
753
|
name: 'normalText',
|
|
731
754
|
type: 'text'
|
|
732
755
|
}
|
|
733
756
|
];
|
|
734
|
-
const sanitizedField =
|
|
757
|
+
const sanitizedField = sanitizeFields({
|
|
735
758
|
config,
|
|
736
759
|
collectionConfig,
|
|
737
760
|
fields,
|
|
738
761
|
validRelationships: []
|
|
739
|
-
})
|
|
762
|
+
})[0];
|
|
740
763
|
expect(sanitizedField.admin?.readOnly).toBeUndefined();
|
|
741
764
|
});
|
|
742
765
|
});
|