payload 0.20.7-beta.0 → 0.20.10-beta.0
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/CHANGELOG.md +18 -37
- package/components/styles.css +1 -1
- package/dist/admin/components/elements/ColumnSelector/index.js +1 -1
- package/dist/admin/components/elements/ColumnSelector/index.scss +4 -7
- package/dist/admin/components/elements/Eyebrow/index.scss +4 -0
- package/dist/admin/components/elements/Pill/index.scss +1 -0
- package/dist/admin/components/elements/ReactSelect/index.js +2 -2
- package/dist/admin/components/elements/ReactSelect/types.d.ts +1 -0
- package/dist/admin/components/elements/WhereBuilder/index.js +1 -1
- package/dist/admin/components/forms/field-types/Array/Array.js +1 -1
- package/dist/admin/components/forms/field-types/Array/index.scss +1 -1
- package/dist/admin/components/forms/field-types/Blocks/Blocks.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/index.scss +1 -1
- package/dist/admin/components/forms/field-types/Group/index.js +3 -0
- package/dist/admin/components/forms/field-types/Group/index.scss +12 -0
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +3 -3
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.scss +1 -15
- package/dist/admin/components/forms/field-types/Select/Input.d.ts +1 -0
- package/dist/admin/components/forms/field-types/Select/Input.js +2 -2
- package/dist/admin/components/forms/field-types/Select/index.js +6 -3
- package/dist/admin/components/forms/field-types/Tabs/index.js +17 -15
- package/dist/admin/components/forms/field-types/Tabs/index.scss +3 -4
- package/dist/admin/components/forms/field-types/Tabs/provider.d.ts +8 -0
- package/dist/admin/components/forms/field-types/Tabs/provider.js +7 -0
- package/dist/admin/components/forms/field-types/Upload/index.scss +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/styles.d.ts +1 -0
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/styles.js +1 -0
- package/dist/admin/components/views/Version/Version.js +1 -1
- package/dist/admin/components/views/collections/List/buildColumns.js +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +0 -1
- package/dist/collections/operations/local/restoreVersion.js +2 -3
- package/dist/fields/config/schema.js +4 -1
- package/dist/fields/config/types.d.ts +3 -0
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +3 -3
- package/dist/globals/operations/local/restoreVersion.d.ts +2 -0
- package/dist/globals/operations/local/restoreVersion.js +6 -3
- package/dist/index.js +1 -1
- package/dist/mongoose/buildSchema.js +4 -4
- package/dist/{admin/utilities → utilities}/flattenTopLevelFields.d.ts +1 -1
- package/dist/utilities/flattenTopLevelFields.js +33 -0
- package/dist/webpack/getBaseConfig.js +2 -6
- package/docs/fields/select.mdx +40 -22
- package/docs/fields/tabs.mdx +64 -2
- package/package.json +1 -1
- package/dist/admin/utilities/flattenTopLevelFields.js +0 -30
- package/dist/auth/auth.spec.d.ts +0 -1
- package/dist/auth/auth.spec.js +0 -198
- package/dist/versions/tests/collections-graphql.spec.d.ts +0 -1
- package/dist/versions/tests/collections-graphql.spec.js +0 -141
- package/dist/versions/tests/collections-rest.spec.d.ts +0 -1
- package/dist/versions/tests/collections-rest.spec.js +0 -148
- package/dist/versions/tests/globals-graphql.spec.d.ts +0 -1
- package/dist/versions/tests/globals-graphql.spec.js +0 -157
- package/dist/versions/tests/globals-rest.spec.d.ts +0 -1
- package/dist/versions/tests/globals-rest.spec.js +0 -151
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/**
|
|
7
|
-
* @jest-environment node
|
|
8
|
-
*/
|
|
9
|
-
const graphql_request_1 = require("graphql-request");
|
|
10
|
-
const load_1 = __importDefault(require("../../config/load"));
|
|
11
|
-
const testCredentials_1 = require("../../mongoose/testCredentials");
|
|
12
|
-
require('isomorphic-fetch');
|
|
13
|
-
const config = (0, load_1.default)();
|
|
14
|
-
const url = `${config.serverURL}${config.routes.api}${config.routes.graphQL}`;
|
|
15
|
-
let client;
|
|
16
|
-
let token;
|
|
17
|
-
let versionID;
|
|
18
|
-
describe('Global Versions - GraphQL', () => {
|
|
19
|
-
const title = 'Global Blocks Title';
|
|
20
|
-
beforeAll(async (done) => {
|
|
21
|
-
// language=graphql
|
|
22
|
-
const login = `
|
|
23
|
-
mutation {
|
|
24
|
-
loginAdmin(
|
|
25
|
-
email: "${testCredentials_1.email}",
|
|
26
|
-
password: "${testCredentials_1.password}"
|
|
27
|
-
) {
|
|
28
|
-
token
|
|
29
|
-
}
|
|
30
|
-
}`;
|
|
31
|
-
const response = await (0, graphql_request_1.request)(url, login);
|
|
32
|
-
token = response.loginAdmin.token;
|
|
33
|
-
client = new graphql_request_1.GraphQLClient(url, { headers: { Authorization: `JWT ${token}` } });
|
|
34
|
-
// language=graphql
|
|
35
|
-
const query = `mutation {
|
|
36
|
-
updateBlocksGlobal(data: {
|
|
37
|
-
title: "${title}"
|
|
38
|
-
blocks: [{ quote: "Test quote", color: "red", blockName: "Some block title", blockType: "quote"}]
|
|
39
|
-
}) {
|
|
40
|
-
_status
|
|
41
|
-
title
|
|
42
|
-
blocks {
|
|
43
|
-
__typename
|
|
44
|
-
... on Quote {
|
|
45
|
-
quote
|
|
46
|
-
color
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}`;
|
|
51
|
-
await client.request(query);
|
|
52
|
-
done();
|
|
53
|
-
});
|
|
54
|
-
describe('Create', () => {
|
|
55
|
-
it('should allow a new BlocksGlobal to be created with draft status', async () => {
|
|
56
|
-
const updatedTitle = 'updated global title';
|
|
57
|
-
// language=graphql
|
|
58
|
-
const query = `mutation {
|
|
59
|
-
updateBlocksGlobal(data: {
|
|
60
|
-
title: "${updatedTitle}"
|
|
61
|
-
}) {
|
|
62
|
-
_status
|
|
63
|
-
title
|
|
64
|
-
}
|
|
65
|
-
}`;
|
|
66
|
-
await client.request(query);
|
|
67
|
-
const response = await client.request(query);
|
|
68
|
-
const data = response.updateBlocksGlobal;
|
|
69
|
-
expect(data._status).toStrictEqual('draft');
|
|
70
|
-
expect(data.title).toStrictEqual(updatedTitle);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
describe('should allow a version to be retrieved', () => {
|
|
74
|
-
beforeAll(async (done) => {
|
|
75
|
-
const updatedTitle = 'updated global title';
|
|
76
|
-
// language=graphql
|
|
77
|
-
const update = `mutation {
|
|
78
|
-
updateBlocksGlobal(draft: true, data: {
|
|
79
|
-
title: "${updatedTitle}"
|
|
80
|
-
}) {
|
|
81
|
-
_status
|
|
82
|
-
title
|
|
83
|
-
}
|
|
84
|
-
}`;
|
|
85
|
-
await client.request(update);
|
|
86
|
-
// language=graphQL
|
|
87
|
-
const query = `query {
|
|
88
|
-
versionsBlocksGlobal(where: { version__title: { equals: "${title}" } }) {
|
|
89
|
-
docs {
|
|
90
|
-
id
|
|
91
|
-
version {
|
|
92
|
-
title
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}`;
|
|
97
|
-
const response = await client.request(query);
|
|
98
|
-
versionID = response.versionsBlocksGlobal.docs[0].id;
|
|
99
|
-
done();
|
|
100
|
-
});
|
|
101
|
-
it('should allow read of versions by version id', async () => {
|
|
102
|
-
// language=graphql
|
|
103
|
-
const query = `query {
|
|
104
|
-
versionBlocksGlobal(id: "${versionID}") {
|
|
105
|
-
id
|
|
106
|
-
version {
|
|
107
|
-
title
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}`;
|
|
111
|
-
const response = await client.request(query);
|
|
112
|
-
const data = response.versionBlocksGlobal;
|
|
113
|
-
versionID = data.id;
|
|
114
|
-
expect(data.id).toBeDefined();
|
|
115
|
-
expect(data.version.title).toStrictEqual(title);
|
|
116
|
-
});
|
|
117
|
-
it('should allow read of versions by querying version content', async () => {
|
|
118
|
-
// language=graphQL
|
|
119
|
-
const query = `query {
|
|
120
|
-
versionsBlocksGlobal(where: { version__title: {equals: "${title}" } }) {
|
|
121
|
-
docs {
|
|
122
|
-
id
|
|
123
|
-
version {
|
|
124
|
-
title
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}`;
|
|
129
|
-
const response = await client.request(query);
|
|
130
|
-
const data = response.versionsBlocksGlobal;
|
|
131
|
-
const doc = data.docs[0];
|
|
132
|
-
versionID = doc.id;
|
|
133
|
-
expect(doc.id).toBeDefined();
|
|
134
|
-
expect(doc.version.title).toStrictEqual(title);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
describe('Restore', () => {
|
|
138
|
-
it('should allow a version to be restored', async () => {
|
|
139
|
-
// language=graphql
|
|
140
|
-
const restore = `mutation {
|
|
141
|
-
restoreVersionBlocksGlobal(id: "${versionID}") {
|
|
142
|
-
title
|
|
143
|
-
}
|
|
144
|
-
}`;
|
|
145
|
-
await client.request(restore);
|
|
146
|
-
const query = `query {
|
|
147
|
-
BlocksGlobal {
|
|
148
|
-
title
|
|
149
|
-
}
|
|
150
|
-
}`;
|
|
151
|
-
const response = await client.request(query);
|
|
152
|
-
const data = response.BlocksGlobal;
|
|
153
|
-
expect(data.title).toStrictEqual(title);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFscy1ncmFwaHFsLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmVyc2lvbnMvdGVzdHMvZ2xvYmFscy1ncmFwaHFsLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7R0FFRztBQUNILHFEQUF5RDtBQUN6RCw2REFBMEM7QUFDMUMsb0VBQWlFO0FBRWpFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRTVCLE1BQU0sTUFBTSxHQUFHLElBQUEsY0FBUyxHQUFFLENBQUM7QUFFM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7QUFFOUUsSUFBSSxNQUFNLENBQUM7QUFDWCxJQUFJLEtBQUssQ0FBQztBQUNWLElBQUksU0FBUyxDQUFDO0FBRWQsUUFBUSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN6QyxNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQztJQUNwQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3ZCLG1CQUFtQjtRQUNuQixNQUFNLEtBQUssR0FBRzs7O29CQUdFLHVCQUFLO3VCQUNGLDBCQUFROzs7O1FBSXZCLENBQUM7UUFFTCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEseUJBQU8sRUFBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0MsS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRWxDLE1BQU0sR0FBRyxJQUFJLCtCQUFhLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEYsbUJBQW1CO1FBQ25CLE1BQU0sS0FBSyxHQUFHOztrQkFFQSxLQUFLOzs7Ozs7Ozs7Ozs7O01BYWpCLENBQUM7UUFDSCxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3RCLEVBQUUsQ0FBQyxpRUFBaUUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMvRSxNQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQztZQUU1QyxtQkFBbUI7WUFDbkIsTUFBTSxLQUFLLEdBQUc7O29CQUVBLFlBQVk7Ozs7O1FBS3hCLENBQUM7WUFDSCxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztZQUV6QyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtRQUN0RCxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixDQUFDO1lBRTVDLG1CQUFtQjtZQUNuQixNQUFNLE1BQU0sR0FBRzs7b0JBRUQsWUFBWTs7Ozs7UUFLeEIsQ0FBQztZQUNILE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU3QixtQkFBbUI7WUFDbkIsTUFBTSxLQUFLLEdBQUc7bUVBQytDLEtBQUs7Ozs7Ozs7O1FBUWhFLENBQUM7WUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFN0MsU0FBUyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksRUFBRSxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDM0QsbUJBQW1CO1lBQ25CLE1BQU0sS0FBSyxHQUFHO21DQUNlLFNBQVM7Ozs7OztRQU1wQyxDQUFDO1lBRUgsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUVwQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyREFBMkQsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN6RSxtQkFBbUI7WUFDbkIsTUFBTSxLQUFLLEdBQUc7a0VBQzhDLEtBQUs7Ozs7Ozs7O1FBUS9ELENBQUM7WUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFN0MsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1lBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsU0FBUyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFFbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1FBQ3ZCLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCxtQkFBbUI7WUFDbkIsTUFBTSxPQUFPLEdBQUc7MENBQ29CLFNBQVM7OztRQUczQyxDQUFDO1lBRUgsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTlCLE1BQU0sS0FBSyxHQUFHOzs7O1FBSVosQ0FBQztZQUVILE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const load_1 = __importDefault(require("../../config/load"));
|
|
7
|
-
const testCredentials_1 = require("../../mongoose/testCredentials");
|
|
8
|
-
require('isomorphic-fetch');
|
|
9
|
-
const { serverURL: url } = (0, load_1.default)();
|
|
10
|
-
let token = null;
|
|
11
|
-
let headers = null;
|
|
12
|
-
let versionID;
|
|
13
|
-
describe('Global Versions - REST', () => {
|
|
14
|
-
beforeAll(async (done) => {
|
|
15
|
-
const response = await fetch(`${url}/api/admins/login`, {
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
email: testCredentials_1.email,
|
|
18
|
-
password: testCredentials_1.password,
|
|
19
|
-
}),
|
|
20
|
-
headers: {
|
|
21
|
-
'Content-Type': 'application/json',
|
|
22
|
-
},
|
|
23
|
-
method: 'post',
|
|
24
|
-
});
|
|
25
|
-
const data = await response.json();
|
|
26
|
-
({ token } = data);
|
|
27
|
-
headers = {
|
|
28
|
-
Authorization: `JWT ${token}`,
|
|
29
|
-
'Content-Type': 'application/json',
|
|
30
|
-
};
|
|
31
|
-
await fetch(`${url}/api/globals/blocks-global`, {
|
|
32
|
-
body: JSON.stringify({
|
|
33
|
-
title: 'Test Global',
|
|
34
|
-
blocks: [
|
|
35
|
-
{
|
|
36
|
-
blockType: 'quote',
|
|
37
|
-
quote: 'This is a global that will be published',
|
|
38
|
-
color: 'red',
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
}),
|
|
42
|
-
headers,
|
|
43
|
-
method: 'post',
|
|
44
|
-
}).then((res) => res.json());
|
|
45
|
-
done();
|
|
46
|
-
});
|
|
47
|
-
describe('Create', () => {
|
|
48
|
-
it('should allow a new version to be created', async () => {
|
|
49
|
-
const title2 = 'Here is an updated global title in EN';
|
|
50
|
-
const updatedPost = await fetch(`${url}/api/globals/blocks-global`, {
|
|
51
|
-
body: JSON.stringify({
|
|
52
|
-
title: title2,
|
|
53
|
-
}),
|
|
54
|
-
headers,
|
|
55
|
-
method: 'post',
|
|
56
|
-
}).then((res) => res.json());
|
|
57
|
-
expect(updatedPost.result.title).toBe(title2);
|
|
58
|
-
expect(updatedPost.result._status).toStrictEqual('draft');
|
|
59
|
-
const versions = await fetch(`${url}/api/globals/blocks-global/versions`, {
|
|
60
|
-
headers,
|
|
61
|
-
}).then((res) => res.json());
|
|
62
|
-
versionID = versions.docs[0].id;
|
|
63
|
-
});
|
|
64
|
-
it('should allow a version to be retrieved by ID', async () => {
|
|
65
|
-
const version = await fetch(`${url}/api/globals/blocks-global/versions/${versionID}`, {
|
|
66
|
-
headers,
|
|
67
|
-
}).then((res) => res.json());
|
|
68
|
-
expect(version.id).toStrictEqual(versionID);
|
|
69
|
-
});
|
|
70
|
-
it('should allow a version to save locales properly', async () => {
|
|
71
|
-
const englishTitle = 'Title in EN';
|
|
72
|
-
const spanishTitle = 'Title in ES';
|
|
73
|
-
await fetch(`${url}/api/globals/blocks-global`, {
|
|
74
|
-
body: JSON.stringify({
|
|
75
|
-
title: englishTitle,
|
|
76
|
-
}),
|
|
77
|
-
headers,
|
|
78
|
-
method: 'post',
|
|
79
|
-
}).then((res) => res.json());
|
|
80
|
-
const updatedPostES = await fetch(`${url}/api/globals/blocks-global?locale=es`, {
|
|
81
|
-
body: JSON.stringify({
|
|
82
|
-
title: spanishTitle,
|
|
83
|
-
}),
|
|
84
|
-
headers,
|
|
85
|
-
method: 'post',
|
|
86
|
-
}).then((res) => res.json());
|
|
87
|
-
expect(updatedPostES.result.title).toBe(spanishTitle);
|
|
88
|
-
const newEnglishTitle = 'New title in EN';
|
|
89
|
-
await fetch(`${url}/api/globals/blocks-global`, {
|
|
90
|
-
body: JSON.stringify({
|
|
91
|
-
title: newEnglishTitle,
|
|
92
|
-
}),
|
|
93
|
-
headers,
|
|
94
|
-
method: 'post',
|
|
95
|
-
}).then((res) => res.json());
|
|
96
|
-
const versions = await fetch(`${url}/api/globals/blocks-global/versions?locale=all`, {
|
|
97
|
-
headers,
|
|
98
|
-
}).then((res) => res.json());
|
|
99
|
-
expect(versions.docs[0].version.title.en).toStrictEqual(newEnglishTitle);
|
|
100
|
-
expect(versions.docs[0].version.title.es).toStrictEqual(spanishTitle);
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe('Restore', () => {
|
|
104
|
-
it('should allow a version to be restored', async () => {
|
|
105
|
-
const title2 = 'Here is an updated post title in EN';
|
|
106
|
-
const updatedPost = await fetch(`${url}/api/globals/blocks-global`, {
|
|
107
|
-
body: JSON.stringify({
|
|
108
|
-
title: title2,
|
|
109
|
-
}),
|
|
110
|
-
headers,
|
|
111
|
-
method: 'post',
|
|
112
|
-
}).then((res) => res.json());
|
|
113
|
-
expect(updatedPost.result.title).toBe(title2);
|
|
114
|
-
const versions = await fetch(`${url}/api/globals/blocks-global/versions`, {
|
|
115
|
-
headers,
|
|
116
|
-
}).then((res) => res.json());
|
|
117
|
-
versionID = versions.docs[0].id;
|
|
118
|
-
const restore = await fetch(`${url}/api/globals/blocks-global/versions/${versionID}`, {
|
|
119
|
-
headers,
|
|
120
|
-
method: 'post',
|
|
121
|
-
}).then((res) => res.json());
|
|
122
|
-
expect(restore.message).toBeDefined();
|
|
123
|
-
expect(restore.doc.title).toBeDefined();
|
|
124
|
-
const restoredPost = await fetch(`${url}/api/globals/blocks-global?draft=true`, {
|
|
125
|
-
headers,
|
|
126
|
-
}).then((res) => res.json());
|
|
127
|
-
expect(restoredPost.title).toBe(restore.doc.title);
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
// describe('Draft Access Control', () => {
|
|
131
|
-
// it('should prevent a draft from being publicly readable', async () => {
|
|
132
|
-
// const badAttempt = await fetch(`${url}/api/autosave-posts/${postID}`);
|
|
133
|
-
// expect(badAttempt.status).toBe(404);
|
|
134
|
-
// });
|
|
135
|
-
// it('should prevent an authenticated user from retrieving drafts without asking', async () => {
|
|
136
|
-
// const badAttempt = await fetch(`${url}/api/autosave-posts/${postID}`, {
|
|
137
|
-
// headers: {
|
|
138
|
-
// 'Content-Type': 'application/json',
|
|
139
|
-
// },
|
|
140
|
-
// });
|
|
141
|
-
// expect(badAttempt.status).toBe(404);
|
|
142
|
-
// });
|
|
143
|
-
// it('should allow an authenticated user to explicitly retrieve draft', async () => {
|
|
144
|
-
// const badAttempt = await fetch(`${url}/api/autosave-posts/${postID}?draft=true`, {
|
|
145
|
-
// headers,
|
|
146
|
-
// });
|
|
147
|
-
// expect(badAttempt.status).toBe(200);
|
|
148
|
-
// });
|
|
149
|
-
// });
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFscy1yZXN0LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmVyc2lvbnMvdGVzdHMvZ2xvYmFscy1yZXN0LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBMEM7QUFDMUMsb0VBQWlFO0FBRWpFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRTVCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBQSxjQUFTLEdBQUUsQ0FBQztBQUV2QyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7QUFDakIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ25CLElBQUksU0FBUyxDQUFDO0FBRWQsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUN0QyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsR0FBRyxtQkFBbUIsRUFBRTtZQUN0RCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsS0FBSyxFQUFMLHVCQUFLO2dCQUNMLFFBQVEsRUFBUiwwQkFBUTthQUNULENBQUM7WUFDRixPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjthQUNuQztZQUNELE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRW5CLE9BQU8sR0FBRztZQUNSLGFBQWEsRUFBRSxPQUFPLEtBQUssRUFBRTtZQUM3QixjQUFjLEVBQUUsa0JBQWtCO1NBQ25DLENBQUM7UUFFRixNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsNEJBQTRCLEVBQUU7WUFDOUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxhQUFhO2dCQUNwQixNQUFNLEVBQUU7b0JBQ047d0JBQ0UsU0FBUyxFQUFFLE9BQU87d0JBQ2xCLEtBQUssRUFBRSx5Q0FBeUM7d0JBQ2hELEtBQUssRUFBRSxLQUFLO3FCQUNiO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLE9BQU87WUFDUCxNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLElBQUksRUFBRSxDQUFDO0lBQ1QsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUN0QixFQUFFLENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDeEQsTUFBTSxNQUFNLEdBQUcsdUNBQXVDLENBQUM7WUFFdkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxHQUFHLDRCQUE0QixFQUFFO2dCQUNsRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkIsS0FBSyxFQUFFLE1BQU07aUJBQ2QsQ0FBQztnQkFDRixPQUFPO2dCQUNQLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFFN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUxRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcscUNBQXFDLEVBQUU7Z0JBQ3hFLE9BQU87YUFDUixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUU3QixTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxHQUFHLHVDQUF1QyxTQUFTLEVBQUUsRUFBRTtnQkFDcEYsT0FBTzthQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQy9ELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUM7WUFFbkMsTUFBTSxLQUFLLENBQUMsR0FBRyxHQUFHLDRCQUE0QixFQUFFO2dCQUM5QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkIsS0FBSyxFQUFFLFlBQVk7aUJBQ3BCLENBQUM7Z0JBQ0YsT0FBTztnQkFDUCxNQUFNLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTdCLE1BQU0sYUFBYSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsR0FBRyxzQ0FBc0MsRUFBRTtnQkFDOUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ25CLEtBQUssRUFBRSxZQUFZO2lCQUNwQixDQUFDO2dCQUNGLE9BQU87Z0JBQ1AsTUFBTSxFQUFFLE1BQU07YUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUU3QixNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdEQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUM7WUFFMUMsTUFBTSxLQUFLLENBQUMsR0FBRyxHQUFHLDRCQUE0QixFQUFFO2dCQUM5QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkIsS0FBSyxFQUFFLGVBQWU7aUJBQ3ZCLENBQUM7Z0JBQ0YsT0FBTztnQkFDUCxNQUFNLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsR0FBRyxnREFBZ0QsRUFBRTtnQkFDbkYsT0FBTzthQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtRQUN2QixFQUFFLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckQsTUFBTSxNQUFNLEdBQUcscUNBQXFDLENBQUM7WUFFckQsTUFBTSxXQUFXLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxHQUFHLDRCQUE0QixFQUFFO2dCQUNsRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkIsS0FBSyxFQUFFLE1BQU07aUJBQ2QsQ0FBQztnQkFDRixPQUFPO2dCQUNQLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFFN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTlDLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsR0FBRyxxQ0FBcUMsRUFBRTtnQkFDeEUsT0FBTzthQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTdCLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVoQyxNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsdUNBQXVDLFNBQVMsRUFBRSxFQUFFO2dCQUNwRixPQUFPO2dCQUNQLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFFN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV4QyxNQUFNLFlBQVksR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsdUNBQXVDLEVBQUU7Z0JBQzlFLE9BQU87YUFDUixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUU3QixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCwyQ0FBMkM7SUFDM0MsNEVBQTRFO0lBQzVFLDZFQUE2RTtJQUM3RSwyQ0FBMkM7SUFDM0MsUUFBUTtJQUVSLG1HQUFtRztJQUNuRyw4RUFBOEU7SUFDOUUsbUJBQW1CO0lBQ25CLDhDQUE4QztJQUM5QyxXQUFXO0lBQ1gsVUFBVTtJQUVWLDJDQUEyQztJQUMzQyxRQUFRO0lBRVIsd0ZBQXdGO0lBQ3hGLHlGQUF5RjtJQUN6RixpQkFBaUI7SUFDakIsVUFBVTtJQUVWLDJDQUEyQztJQUMzQyxRQUFRO0lBQ1IsTUFBTTtBQUNSLENBQUMsQ0FBQyxDQUFDIn0=
|