@raketa-cloud/admin 0.0.30 → 0.0.33
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/package.json +1 -1
- package/src/Adapter.js +3 -6
- package/src/HonoAdapter.js +3 -3
- package/src/Logger.js +21 -0
- package/src/cloud/ArticleRevisions.js +30 -1
- package/src/cloud/Articles.js +22 -9
- package/src/cloud/EventRevisions.js +40 -1
- package/src/cloud/Events.js +32 -11
- package/src/cloud/PageRevisions.js +20 -1
- package/src/cloud/Pages.js +13 -7
- package/src/cloud/RaketaClient.js +76 -0
- package/src/handlers/article_revisions/CodeHandler.js +18 -34
- package/src/handlers/article_revisions/GeneralHandler.js +19 -38
- package/src/handlers/article_revisions/LocksHandler.js +11 -6
- package/src/handlers/article_revisions/MetaHandler.js +18 -34
- package/src/handlers/article_revisions/TagHandler.js +23 -29
- package/src/handlers/article_revisions/UnlocksHandler.js +1 -1
- package/src/handlers/article_revisions/VisualHandler.js +18 -28
- package/src/handlers/articles/ArticlesHandler.js +11 -25
- package/src/handlers/articles/DeletesHandler.js +4 -4
- package/src/handlers/articles/TranslationsHandler.js +30 -56
- package/src/handlers/articles/URLsHandler.js +7 -7
- package/src/handlers/event_revisions/CodeHandler.js +22 -36
- package/src/handlers/event_revisions/GeneralHandler.js +22 -42
- package/src/handlers/event_revisions/LocksHandler.js +7 -6
- package/src/handlers/event_revisions/MetaHandler.js +22 -36
- package/src/handlers/event_revisions/TagHandler.js +25 -29
- package/src/handlers/event_revisions/VisualHandler.js +22 -30
- package/src/handlers/events/DeletesHandler.js +4 -4
- package/src/handlers/events/EventsHandler.js +13 -27
- package/src/handlers/events/TranslationsHandler.js +35 -58
- package/src/handlers/events/URLsHandler.js +7 -7
- package/src/handlers/page_revisions/CodeHandler.js +8 -34
- package/src/handlers/page_revisions/GeneralHandler.js +10 -37
- package/src/handlers/page_revisions/LocksHandler.js +11 -6
- package/src/handlers/page_revisions/MetaHandler.js +8 -34
- package/src/handlers/page_revisions/TagHandler.js +16 -27
- package/src/handlers/page_revisions/VisualHandler.js +8 -28
- package/src/handlers/pages/DeletesHandler.js +4 -4
- package/src/handlers/pages/PagesHandler.js +7 -24
- package/src/handlers/pages/TranslationsHandler.js +23 -45
- package/src/handlers/pages/URLsHandler.js +7 -7
- package/src/helpers/FormBuilder.js +1 -2
- package/src/helpers/Inflector.js +6 -0
- package/src/index.js +2 -0
- package/src/styles/application.css +7 -7
- package/src/tests/handlers/RedirectsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/RedirectsHandler.test/create_form.test.js +1 -1
- package/src/tests/handlers/RedirectsHandler.test/destroy.test.js +1 -1
- package/src/tests/handlers/RedirectsHandler.test/edit_form.test.js +1 -1
- package/src/tests/handlers/RedirectsHandler.test/index.test.js +1 -1
- package/src/tests/handlers/RedirectsHandler.test/show.test.js +1 -1
- package/src/tests/handlers/RedirectsHandler.test/update.test.js +1 -1
- package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/destroy.test.js +1 -1
- package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +7 -7
- package/src/tests/handlers/article_revisions/CodesHandler.test/update.test.js +37 -19
- package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +5 -11
- package/src/tests/handlers/article_revisions/GeneralHandler.test/update.test.js +36 -28
- package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +7 -8
- package/src/tests/handlers/article_revisions/MetaHandler.test/update.test.js +41 -25
- package/src/tests/handlers/article_revisions/PublishesHandler.test/create.test.js +2 -2
- package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +10 -7
- package/src/tests/handlers/article_revisions/TagHandler.test/update.test.js +20 -14
- package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +7 -6
- package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +30 -19
- package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +2 -2
- package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +2 -2
- package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +53 -29
- package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +3 -3
- package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +2 -2
- package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +3 -3
- package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +1 -1
- package/src/tests/handlers/articles/DeletesHandler.test/create.test.js +4 -4
- package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/articles/URLsHandler.test/create.test.js +6 -6
- package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +11 -7
- package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +43 -19
- package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +1 -1
- package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +7 -13
- package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +42 -32
- package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +11 -8
- package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +47 -25
- package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +2 -2
- package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/event_revisions/TagHandler.test/edit_form.test.js +14 -7
- package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +26 -14
- package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +11 -6
- package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +36 -19
- package/src/tests/handlers/event_revisions/WidgetHandler.test/show.test.js +2 -2
- package/src/tests/handlers/event_revisions/WidgetHandler.test/update.test.js +2 -2
- package/src/tests/handlers/events/ClonesHandler.test/create.test.js +1 -1
- package/src/tests/handlers/events/DeletesHandler.test/create.test.js +4 -4
- package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/events/EventsHandler.test/create.test.js +53 -37
- package/src/tests/handlers/events/EventsHandler.test/create_form.test.js +3 -3
- package/src/tests/handlers/events/EventsHandler.test/index.test.js +2 -2
- package/src/tests/handlers/events/EventsHandler.test/show.test.js +3 -3
- package/src/tests/handlers/events/URLsHandler.test/create.test.js +6 -6
- package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/page_revisions/CodesHandler.test/edit_form.test.js +10 -8
- package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +30 -17
- package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +3 -11
- package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +38 -22
- package/src/tests/handlers/page_revisions/MetaHandler.test/edit_form.test.js +2 -8
- package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +37 -23
- package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +1 -1
- package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +2 -2
- package/src/tests/handlers/page_revisions/PublishesHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +1 -1
- package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +3 -7
- package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +11 -12
- package/src/tests/handlers/page_revisions/VisualHandler.test.test/edit_form.test.js +10 -7
- package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +23 -17
- package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +2 -2
- package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +2 -2
- package/src/tests/handlers/pages/ConesHandler.test/create.test.js +1 -1
- package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +4 -4
- package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +2 -2
- package/src/tests/handlers/pages/PagesHandler.test/create.test.js +50 -27
- package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +3 -3
- package/src/tests/handlers/pages/PagesHandler.test/index.test.js +2 -2
- package/src/tests/handlers/pages/PagesHandler.test/show.test.js +3 -3
- package/src/tests/handlers/pages/URLsHandler.test/create.test.js +6 -6
- package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +2 -2
- package/src/utils.js +12 -0
- package/src/views/_shared/_credentials_input.ejs +31 -0
- package/src/views/_shared/_layout_input.ejs +5 -0
- package/src/views/article_revisions/_nav.ejs +5 -5
- package/src/views/article_revisions/codes/edit_form.ejs +17 -6
- package/src/views/article_revisions/general/edit_form.ejs +10 -36
- package/src/views/article_revisions/locks/create_form.ejs +4 -4
- package/src/views/article_revisions/meta/edit_form.ejs +7 -7
- package/src/views/article_revisions/tags/edit_form.ejs +5 -5
- package/src/views/article_revisions/visuals/edit_form.ejs +5 -9
- package/src/views/articles/_form.ejs +6 -37
- package/src/views/articles/deletes/create_form.ejs +9 -9
- package/src/views/articles/index.ejs +1 -1
- package/src/views/articles/translations/_form.ejs +14 -46
- package/src/views/articles/urls/create_form.ejs +5 -5
- package/src/views/event_revisions/_nav.ejs +5 -5
- package/src/views/event_revisions/codes/edit_form.ejs +17 -6
- package/src/views/event_revisions/general/edit_form.ejs +12 -38
- package/src/views/event_revisions/locks/create_form.ejs +4 -4
- package/src/views/event_revisions/meta/edit_form.ejs +7 -7
- package/src/views/event_revisions/tags/edit_form.ejs +5 -5
- package/src/views/event_revisions/visuals/edit_form.ejs +5 -9
- package/src/views/events/_form.ejs +8 -39
- package/src/views/events/deletes/create_form.ejs +9 -9
- package/src/views/events/index.ejs +1 -1
- package/src/views/events/translations/_form.ejs +16 -47
- package/src/views/events/urls/create_form.ejs +5 -5
- package/src/views/layouts/application.ejs +57 -35
- package/src/views/page_revisions/_nav.ejs +5 -5
- package/src/views/page_revisions/codes/edit_form.ejs +17 -6
- package/src/views/page_revisions/general/edit_form.ejs +8 -35
- package/src/views/page_revisions/locks/create_form.ejs +4 -4
- package/src/views/page_revisions/meta/edit_form.ejs +7 -7
- package/src/views/page_revisions/publishes/_form.ejs +9 -9
- package/src/views/page_revisions/tags/edit_form.ejs +5 -5
- package/src/views/page_revisions/visuals/edit_form.ejs +5 -9
- package/src/views/pages/_form.ejs +5 -36
- package/src/views/pages/deletes/create_form.ejs +9 -9
- package/src/views/pages/index.ejs +1 -1
- package/src/views/pages/translations/_form.ejs +13 -45
- package/src/views/pages/urls/create_form.ejs +5 -5
- package/tailwind.config.js +1 -0
|
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
|
|
|
6
6
|
function buildCtx(revision, updateSettings) {
|
|
7
7
|
return {
|
|
8
8
|
client: {
|
|
9
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
9
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
10
10
|
},
|
|
11
11
|
params: { parent_id: revision.id },
|
|
12
12
|
resourceParams: {
|
|
13
|
-
|
|
13
|
+
resource: updateSettings,
|
|
14
14
|
},
|
|
15
15
|
locale: "en",
|
|
16
16
|
resourceConfig: {
|
|
@@ -22,12 +22,18 @@ function buildCtx(revision, updateSettings) {
|
|
|
22
22
|
|
|
23
23
|
describe("Article revision meta settings", () => {
|
|
24
24
|
test("update successful", async () => {
|
|
25
|
-
const revision = Factory.build("article_revision"
|
|
25
|
+
const revision = Factory.build("article_revision", {
|
|
26
|
+
publishAt: "2024-10-10T07:05:00Z",
|
|
27
|
+
});
|
|
26
28
|
|
|
27
29
|
const updateSettings = {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
settings: {
|
|
31
|
+
meta: {
|
|
32
|
+
title: "An open graph title",
|
|
33
|
+
description: "An open graph description",
|
|
34
|
+
image: JSON.stringify({ id: 42 }),
|
|
35
|
+
},
|
|
36
|
+
},
|
|
31
37
|
};
|
|
32
38
|
|
|
33
39
|
const ctx = buildCtx(revision, updateSettings);
|
|
@@ -51,17 +57,16 @@ describe("Article revision meta settings", () => {
|
|
|
51
57
|
title: revision.title,
|
|
52
58
|
visibility: revision.visibility,
|
|
53
59
|
publishAt: revision.publishAt,
|
|
54
|
-
widgets:
|
|
60
|
+
widgets: revision.widgets,
|
|
55
61
|
tags: revision.tags.map((t) => t.id),
|
|
56
62
|
categories: revision.categories.map((c) => c.id),
|
|
57
|
-
settings:
|
|
63
|
+
settings: {
|
|
58
64
|
...revision.settings,
|
|
59
65
|
meta: {
|
|
60
|
-
|
|
61
|
-
description: updateSettings.description,
|
|
66
|
+
...updateSettings.settings.meta,
|
|
62
67
|
image: { id: 42 },
|
|
63
68
|
},
|
|
64
|
-
}
|
|
69
|
+
},
|
|
65
70
|
});
|
|
66
71
|
|
|
67
72
|
expect(result).toEqual({
|
|
@@ -70,12 +75,18 @@ describe("Article revision meta settings", () => {
|
|
|
70
75
|
});
|
|
71
76
|
|
|
72
77
|
test("update failed", async () => {
|
|
73
|
-
const revision = Factory.build("article_revision"
|
|
78
|
+
const revision = Factory.build("article_revision", {
|
|
79
|
+
publishAt: "2024-10-10T07:05:00Z",
|
|
80
|
+
});
|
|
74
81
|
|
|
75
82
|
const updateSettings = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
83
|
+
settings: {
|
|
84
|
+
meta: {
|
|
85
|
+
title: "An open graph title",
|
|
86
|
+
description: "An open graph description",
|
|
87
|
+
image: JSON.stringify({ id: 42 }),
|
|
88
|
+
},
|
|
89
|
+
},
|
|
79
90
|
};
|
|
80
91
|
|
|
81
92
|
const ctx = buildCtx(revision, updateSettings);
|
|
@@ -99,28 +110,33 @@ describe("Article revision meta settings", () => {
|
|
|
99
110
|
title: revision.title,
|
|
100
111
|
visibility: revision.visibility,
|
|
101
112
|
publishAt: revision.publishAt,
|
|
102
|
-
widgets:
|
|
113
|
+
widgets: revision.widgets,
|
|
103
114
|
tags: revision.tags.map((t) => t.id),
|
|
104
115
|
categories: revision.categories.map((c) => c.id),
|
|
105
|
-
settings:
|
|
116
|
+
settings: {
|
|
106
117
|
...revision.settings,
|
|
107
118
|
meta: {
|
|
108
|
-
|
|
109
|
-
description: updateSettings.description,
|
|
119
|
+
...updateSettings.settings.meta,
|
|
110
120
|
image: { id: 42 },
|
|
111
121
|
},
|
|
112
|
-
}
|
|
122
|
+
},
|
|
113
123
|
});
|
|
114
124
|
|
|
115
125
|
expect(result).toEqual({
|
|
116
126
|
assigns: {
|
|
117
|
-
|
|
118
|
-
...
|
|
119
|
-
|
|
120
|
-
|
|
127
|
+
resource: {
|
|
128
|
+
...revision,
|
|
129
|
+
publishAt: "2024-10-10T07:05:00",
|
|
130
|
+
settings: {
|
|
131
|
+
...revision.settings,
|
|
132
|
+
meta: {
|
|
133
|
+
...updateSettings.settings.meta,
|
|
134
|
+
image: { id: 42 },
|
|
135
|
+
},
|
|
136
|
+
},
|
|
121
137
|
},
|
|
122
138
|
errors: {
|
|
123
|
-
|
|
139
|
+
resource: { generalError: "some error" },
|
|
124
140
|
},
|
|
125
141
|
_translations: [],
|
|
126
142
|
},
|
|
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
|
|
|
7
7
|
function buildCtx(revision, resourceParams) {
|
|
8
8
|
return {
|
|
9
9
|
client: {
|
|
10
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
11
|
-
articles: new Articles({}, "token"),
|
|
10
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
11
|
+
articles: new Articles(() => ({}), "token"),
|
|
12
12
|
},
|
|
13
13
|
params: { parent_id: revision.id },
|
|
14
14
|
resourceParams,
|
|
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
|
|
|
7
7
|
function buildCtx(revision) {
|
|
8
8
|
return {
|
|
9
9
|
client: {
|
|
10
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
11
|
-
articles: new Articles({}, "token"),
|
|
10
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
11
|
+
articles: new Articles(() => ({}), "token"),
|
|
12
12
|
},
|
|
13
13
|
params: { parent_id: revision.id },
|
|
14
14
|
locale: "en",
|
|
@@ -4,7 +4,7 @@ import ArticleRevisions from "../../../../cloud/ArticleRevisions";
|
|
|
4
4
|
function buildCtx(articleID, version) {
|
|
5
5
|
return {
|
|
6
6
|
client: {
|
|
7
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
7
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
8
8
|
},
|
|
9
9
|
params: { parent_id: articleID },
|
|
10
10
|
resourceParams: { version },
|
|
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
|
|
|
7
7
|
function buildCtx(revision) {
|
|
8
8
|
return {
|
|
9
9
|
client: {
|
|
10
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
11
|
-
tags: new Tags({}, "token"),
|
|
10
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
11
|
+
tags: new Tags(() => ({}), "token"),
|
|
12
12
|
},
|
|
13
13
|
params: { parent_id: revision.id },
|
|
14
14
|
locale: "en",
|
|
@@ -21,7 +21,10 @@ describe("Article revision tags settings", () => {
|
|
|
21
21
|
Factory.build("tag", { id: 42 }),
|
|
22
22
|
Factory.build("tag", { id: 69 }),
|
|
23
23
|
];
|
|
24
|
-
const revision = Factory.build("article_revision", {
|
|
24
|
+
const revision = Factory.build("article_revision", {
|
|
25
|
+
tags: [tags[0]],
|
|
26
|
+
publishAt: "2024-10-10T07:00:00Z",
|
|
27
|
+
});
|
|
25
28
|
const ctx = buildCtx(revision);
|
|
26
29
|
|
|
27
30
|
const mockFind = jest
|
|
@@ -41,10 +44,10 @@ describe("Article revision tags settings", () => {
|
|
|
41
44
|
|
|
42
45
|
expect(result).toEqual({
|
|
43
46
|
assigns: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
tags:
|
|
47
|
+
resource: {
|
|
48
|
+
...revision,
|
|
49
|
+
publishAt: "2024-10-10T07:00:00",
|
|
50
|
+
tags: [tags[0].id],
|
|
48
51
|
},
|
|
49
52
|
tags: tags,
|
|
50
53
|
errors: {},
|
|
@@ -7,12 +7,12 @@ import Factory from "../../../support/factory";
|
|
|
7
7
|
function buildCtx(revision, updateSettings) {
|
|
8
8
|
return {
|
|
9
9
|
client: {
|
|
10
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
11
|
-
tags: new Tags({}, "token"),
|
|
10
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
11
|
+
tags: new Tags(() => ({}), "token"),
|
|
12
12
|
},
|
|
13
13
|
params: { parent_id: revision.id },
|
|
14
14
|
resourceParams: {
|
|
15
|
-
|
|
15
|
+
resource: updateSettings,
|
|
16
16
|
},
|
|
17
17
|
locale: "en",
|
|
18
18
|
resourceConfig: {
|
|
@@ -28,7 +28,10 @@ describe("Article revision tags settings", () => {
|
|
|
28
28
|
Factory.build("tag", { id: 42 }),
|
|
29
29
|
Factory.build("tag", { id: 69 }),
|
|
30
30
|
];
|
|
31
|
-
const revision = Factory.build("article_revision", {
|
|
31
|
+
const revision = Factory.build("article_revision", {
|
|
32
|
+
tags: [tags[0]],
|
|
33
|
+
publishAt: "2024-10-10T07:00:00Z",
|
|
34
|
+
});
|
|
32
35
|
|
|
33
36
|
const updateSettings = {
|
|
34
37
|
tags: [tags.map((t) => t.id)],
|
|
@@ -55,10 +58,10 @@ describe("Article revision tags settings", () => {
|
|
|
55
58
|
title: revision.title,
|
|
56
59
|
visibility: revision.visibility,
|
|
57
60
|
publishAt: revision.publishAt,
|
|
58
|
-
widgets:
|
|
61
|
+
widgets: revision.widgets,
|
|
59
62
|
tags: updateSettings.tags,
|
|
60
63
|
categories: revision.categories.map((c) => c.id),
|
|
61
|
-
settings:
|
|
64
|
+
settings: revision.settings,
|
|
62
65
|
});
|
|
63
66
|
|
|
64
67
|
expect(result).toEqual({
|
|
@@ -71,7 +74,10 @@ describe("Article revision tags settings", () => {
|
|
|
71
74
|
Factory.build("tag", { id: 42 }),
|
|
72
75
|
Factory.build("tag", { id: 69 }),
|
|
73
76
|
];
|
|
74
|
-
const revision = Factory.build("article_revision", {
|
|
77
|
+
const revision = Factory.build("article_revision", {
|
|
78
|
+
tags: [tags[0]],
|
|
79
|
+
publishAt: "2024-10-10T07:00:00Z",
|
|
80
|
+
});
|
|
75
81
|
|
|
76
82
|
const updateSettings = {
|
|
77
83
|
tags: [tags.map((t) => t.id)],
|
|
@@ -104,22 +110,22 @@ describe("Article revision tags settings", () => {
|
|
|
104
110
|
title: revision.title,
|
|
105
111
|
visibility: revision.visibility,
|
|
106
112
|
publishAt: revision.publishAt,
|
|
107
|
-
widgets:
|
|
113
|
+
widgets: revision.widgets,
|
|
108
114
|
tags: updateSettings.tags,
|
|
109
115
|
categories: revision.categories.map((c) => c.id),
|
|
110
|
-
settings:
|
|
116
|
+
settings: revision.settings,
|
|
111
117
|
});
|
|
112
118
|
expect(mockTags).toHaveBeenCalledWith("en");
|
|
113
119
|
|
|
114
120
|
expect(result).toEqual({
|
|
115
121
|
assigns: {
|
|
116
|
-
|
|
117
|
-
...
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
resource: {
|
|
123
|
+
...revision,
|
|
124
|
+
tags: updateSettings.tags,
|
|
125
|
+
publishAt: "2024-10-10T07:00:00",
|
|
120
126
|
},
|
|
121
127
|
errors: {
|
|
122
|
-
|
|
128
|
+
resource: { generalError: "some error" },
|
|
123
129
|
},
|
|
124
130
|
tags: tags,
|
|
125
131
|
_translations: [],
|
|
@@ -6,7 +6,7 @@ import Factory from "../../../support/factory";
|
|
|
6
6
|
function buildCtx(revision) {
|
|
7
7
|
return {
|
|
8
8
|
client: {
|
|
9
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
9
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
10
10
|
},
|
|
11
11
|
params: { parent_id: revision.id },
|
|
12
12
|
locale: "en",
|
|
@@ -15,7 +15,9 @@ function buildCtx(revision) {
|
|
|
15
15
|
|
|
16
16
|
describe("Article revision visuals settings", () => {
|
|
17
17
|
test("edit_form when a revision exists", async () => {
|
|
18
|
-
const revision = Factory.build("article_revision"
|
|
18
|
+
const revision = Factory.build("article_revision", {
|
|
19
|
+
publishAt: "2024-10-10T21:00:00Z",
|
|
20
|
+
});
|
|
19
21
|
const ctx = buildCtx(revision);
|
|
20
22
|
|
|
21
23
|
const mockFind = jest
|
|
@@ -28,10 +30,9 @@ describe("Article revision visuals settings", () => {
|
|
|
28
30
|
|
|
29
31
|
expect(result).toEqual({
|
|
30
32
|
assigns: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
layout: revision.settings.layout,
|
|
33
|
+
resource: {
|
|
34
|
+
...revision,
|
|
35
|
+
publishAt: "2024-10-10T21:00:00",
|
|
35
36
|
},
|
|
36
37
|
errors: {},
|
|
37
38
|
_translations: [],
|
|
@@ -6,11 +6,11 @@ import Factory from "../../../support/factory";
|
|
|
6
6
|
function buildCtx(revision, updateSettings) {
|
|
7
7
|
return {
|
|
8
8
|
client: {
|
|
9
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
9
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
10
10
|
},
|
|
11
11
|
params: { parent_id: revision.id },
|
|
12
12
|
resourceParams: {
|
|
13
|
-
|
|
13
|
+
resource: updateSettings,
|
|
14
14
|
},
|
|
15
15
|
locale: "en",
|
|
16
16
|
resourceConfig: {
|
|
@@ -22,10 +22,14 @@ function buildCtx(revision, updateSettings) {
|
|
|
22
22
|
|
|
23
23
|
describe("Article revision visuals settings", () => {
|
|
24
24
|
test("update successful", async () => {
|
|
25
|
-
const revision = Factory.build("article_revision"
|
|
25
|
+
const revision = Factory.build("article_revision", {
|
|
26
|
+
publishAt: "2024-10-10T07:00:00Z",
|
|
27
|
+
});
|
|
26
28
|
|
|
27
29
|
const updateSettings = {
|
|
28
|
-
|
|
30
|
+
settings: {
|
|
31
|
+
layout: "bla",
|
|
32
|
+
},
|
|
29
33
|
};
|
|
30
34
|
|
|
31
35
|
const ctx = buildCtx(revision, updateSettings);
|
|
@@ -49,13 +53,13 @@ describe("Article revision visuals settings", () => {
|
|
|
49
53
|
title: revision.title,
|
|
50
54
|
visibility: revision.visibility,
|
|
51
55
|
publishAt: revision.publishAt,
|
|
52
|
-
widgets:
|
|
56
|
+
widgets: revision.widgets,
|
|
53
57
|
tags: revision.tags.map((t) => t.id),
|
|
54
58
|
categories: revision.categories.map((c) => c.id),
|
|
55
|
-
settings:
|
|
59
|
+
settings: {
|
|
56
60
|
...revision.settings,
|
|
57
|
-
layout: updateSettings.layout,
|
|
58
|
-
}
|
|
61
|
+
layout: updateSettings.settings.layout,
|
|
62
|
+
},
|
|
59
63
|
});
|
|
60
64
|
|
|
61
65
|
expect(result).toEqual({
|
|
@@ -64,10 +68,14 @@ describe("Article revision visuals settings", () => {
|
|
|
64
68
|
});
|
|
65
69
|
|
|
66
70
|
test("update failed", async () => {
|
|
67
|
-
const revision = Factory.build("article_revision"
|
|
71
|
+
const revision = Factory.build("article_revision", {
|
|
72
|
+
publishAt: "2024-10-10T07:00:00Z",
|
|
73
|
+
});
|
|
68
74
|
|
|
69
75
|
const updateSettings = {
|
|
70
|
-
|
|
76
|
+
settings: {
|
|
77
|
+
layout: "bla",
|
|
78
|
+
},
|
|
71
79
|
};
|
|
72
80
|
|
|
73
81
|
const ctx = buildCtx(revision, updateSettings);
|
|
@@ -91,24 +99,27 @@ describe("Article revision visuals settings", () => {
|
|
|
91
99
|
title: revision.title,
|
|
92
100
|
visibility: revision.visibility,
|
|
93
101
|
publishAt: revision.publishAt,
|
|
94
|
-
widgets:
|
|
102
|
+
widgets: revision.widgets,
|
|
95
103
|
tags: revision.tags.map((t) => t.id),
|
|
96
104
|
categories: revision.categories.map((c) => c.id),
|
|
97
|
-
settings:
|
|
105
|
+
settings: {
|
|
98
106
|
...revision.settings,
|
|
99
|
-
layout: updateSettings.layout,
|
|
100
|
-
}
|
|
107
|
+
layout: updateSettings.settings.layout,
|
|
108
|
+
},
|
|
101
109
|
});
|
|
102
110
|
|
|
103
111
|
expect(result).toEqual({
|
|
104
112
|
assigns: {
|
|
105
|
-
|
|
106
|
-
...
|
|
107
|
-
|
|
108
|
-
|
|
113
|
+
resource: {
|
|
114
|
+
...revision,
|
|
115
|
+
publishAt: "2024-10-10T07:00:00",
|
|
116
|
+
settings: {
|
|
117
|
+
...revision.settings,
|
|
118
|
+
layout: "bla",
|
|
119
|
+
},
|
|
109
120
|
},
|
|
110
121
|
errors: {
|
|
111
|
-
|
|
122
|
+
resource: { generalError: "some error" },
|
|
112
123
|
},
|
|
113
124
|
_translations: [],
|
|
114
125
|
},
|
|
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
|
|
|
7
7
|
function buildCtx(revision) {
|
|
8
8
|
return {
|
|
9
9
|
client: {
|
|
10
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
11
|
-
settings: new Settings({}, "token"),
|
|
10
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
11
|
+
settings: new Settings(() => ({}), "token"),
|
|
12
12
|
},
|
|
13
13
|
params: { parent_id: revision.id },
|
|
14
14
|
locale: "en",
|
|
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
|
|
|
7
7
|
function buildCtx(revision, newWidgets) {
|
|
8
8
|
return {
|
|
9
9
|
client: {
|
|
10
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
11
|
-
settings: new Settings({}, "token"),
|
|
10
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
11
|
+
settings: new Settings(() => ({}), "token"),
|
|
12
12
|
},
|
|
13
13
|
params: { parent_id: revision.id },
|
|
14
14
|
resourceParams: {
|
|
@@ -8,8 +8,8 @@ describe("Articles Handler", () => {
|
|
|
8
8
|
function buildCtx(params) {
|
|
9
9
|
return {
|
|
10
10
|
client: {
|
|
11
|
-
articles: new Articles({}, "token"),
|
|
12
|
-
tags: new Tags({}, "token"),
|
|
11
|
+
articles: new Articles(() => ({}), "token"),
|
|
12
|
+
tags: new Tags(() => ({}), "token"),
|
|
13
13
|
},
|
|
14
14
|
resourceParams: {
|
|
15
15
|
resource: params,
|
|
@@ -28,13 +28,19 @@ describe("Articles Handler", () => {
|
|
|
28
28
|
title: "Article title",
|
|
29
29
|
slug: "url",
|
|
30
30
|
visibility: "public",
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
publishAt: "2024-10-10T06:58",
|
|
32
|
+
settings: {
|
|
33
|
+
layout: "default",
|
|
34
|
+
meta: {
|
|
35
|
+
title: "Meta title",
|
|
36
|
+
description: "Meta description",
|
|
37
|
+
image: JSON.stringify({ id: 42 }),
|
|
38
|
+
},
|
|
39
|
+
credentials: {
|
|
40
|
+
user: "admin",
|
|
41
|
+
password: "admin123!@#",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
38
44
|
tags: [tag.id],
|
|
39
45
|
};
|
|
40
46
|
|
|
@@ -53,15 +59,15 @@ describe("Articles Handler", () => {
|
|
|
53
59
|
visibility: params.visibility,
|
|
54
60
|
publishAt: "2024-10-10T06:58:00Z",
|
|
55
61
|
settings: {
|
|
56
|
-
layout: params.layout,
|
|
62
|
+
layout: params.settings.layout,
|
|
57
63
|
meta: {
|
|
58
|
-
title: params.
|
|
59
|
-
description: params.
|
|
60
|
-
image: JSON.parse(params.
|
|
64
|
+
title: params.settings.meta.title,
|
|
65
|
+
description: params.settings.meta.description,
|
|
66
|
+
image: JSON.parse(params.settings.meta.image || "{}"),
|
|
61
67
|
},
|
|
62
68
|
credentials: {
|
|
63
|
-
user: params.
|
|
64
|
-
password: params.password,
|
|
69
|
+
user: params.settings.credentials.user,
|
|
70
|
+
password: params.settings.credentials.password,
|
|
65
71
|
},
|
|
66
72
|
},
|
|
67
73
|
widgets: [],
|
|
@@ -82,14 +88,20 @@ describe("Articles Handler", () => {
|
|
|
82
88
|
const params = {
|
|
83
89
|
title: "Article title",
|
|
84
90
|
slug: "",
|
|
85
|
-
|
|
91
|
+
publishAt: "2024-10-10T06:58",
|
|
86
92
|
visibility: "public",
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
settings: {
|
|
94
|
+
layout: "default",
|
|
95
|
+
meta: {
|
|
96
|
+
title: "Meta title",
|
|
97
|
+
description: "Meta description",
|
|
98
|
+
image: JSON.stringify({ id: 42 }),
|
|
99
|
+
},
|
|
100
|
+
credentials: {
|
|
101
|
+
user: "admin",
|
|
102
|
+
password: "admin123!@#",
|
|
103
|
+
},
|
|
104
|
+
},
|
|
93
105
|
tags: [tag.id],
|
|
94
106
|
};
|
|
95
107
|
|
|
@@ -116,15 +128,15 @@ describe("Articles Handler", () => {
|
|
|
116
128
|
visibility: params.visibility,
|
|
117
129
|
publishAt: "2024-10-10T06:58:00Z",
|
|
118
130
|
settings: {
|
|
119
|
-
layout: params.layout,
|
|
131
|
+
layout: params.settings.layout,
|
|
120
132
|
meta: {
|
|
121
|
-
title: params.
|
|
122
|
-
description: params.
|
|
123
|
-
image: JSON.parse(params.
|
|
133
|
+
title: params.settings.meta.title,
|
|
134
|
+
description: params.settings.meta.description,
|
|
135
|
+
image: JSON.parse(params.settings.meta.image || "{}"),
|
|
124
136
|
},
|
|
125
137
|
credentials: {
|
|
126
|
-
user: params.
|
|
127
|
-
password: params.password,
|
|
138
|
+
user: params.settings.credentials.user,
|
|
139
|
+
password: params.settings.credentials.password,
|
|
128
140
|
},
|
|
129
141
|
},
|
|
130
142
|
widgets: [],
|
|
@@ -137,7 +149,19 @@ describe("Articles Handler", () => {
|
|
|
137
149
|
|
|
138
150
|
expect(result).toEqual({
|
|
139
151
|
assigns: {
|
|
140
|
-
resource: {
|
|
152
|
+
resource: {
|
|
153
|
+
...params,
|
|
154
|
+
publishAt: "2024-10-10T06:58:00",
|
|
155
|
+
settings: {
|
|
156
|
+
...params.settings,
|
|
157
|
+
meta: {
|
|
158
|
+
...params.settings.meta,
|
|
159
|
+
image: { id: 42 },
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
widgets: [],
|
|
163
|
+
categories: [],
|
|
164
|
+
},
|
|
141
165
|
tags: [tag],
|
|
142
166
|
errors: { resource: { slug: "cannot be blank" } },
|
|
143
167
|
visibilityOptions: ctx.client.articles.visibilityOptions(),
|
|
@@ -8,8 +8,8 @@ describe("Articles Handler", () => {
|
|
|
8
8
|
function buildCtx() {
|
|
9
9
|
return {
|
|
10
10
|
client: {
|
|
11
|
-
articles: new Articles({}, "token"),
|
|
12
|
-
tags: new Tags({}, "token"),
|
|
11
|
+
articles: new Articles(() => ({}), "token"),
|
|
12
|
+
tags: new Tags(() => ({}), "token"),
|
|
13
13
|
},
|
|
14
14
|
query: { foo: "bar" },
|
|
15
15
|
locale: "en",
|
|
@@ -33,7 +33,7 @@ describe("Articles Handler", () => {
|
|
|
33
33
|
|
|
34
34
|
expect(result).toEqual({
|
|
35
35
|
assigns: {
|
|
36
|
-
resource: { ...ctx.client.articles.defaults()
|
|
36
|
+
resource: { ...ctx.client.articles.defaults() },
|
|
37
37
|
tags: tags,
|
|
38
38
|
errors: {},
|
|
39
39
|
visibilityOptions: ctx.client.articles.visibilityOptions(),
|
|
@@ -8,8 +8,8 @@ describe("Articles Handler", () => {
|
|
|
8
8
|
function buildCtx() {
|
|
9
9
|
return {
|
|
10
10
|
client: {
|
|
11
|
-
articles: new Articles({}, "token"),
|
|
12
|
-
tags: new Tags({}, "token"),
|
|
11
|
+
articles: new Articles(() => ({}), "token"),
|
|
12
|
+
tags: new Tags(() => ({}), "token"),
|
|
13
13
|
},
|
|
14
14
|
query: { foo: "bar" },
|
|
15
15
|
locale: "en",
|
|
@@ -9,9 +9,9 @@ describe("Articles Handler", () => {
|
|
|
9
9
|
function buildCtx(article) {
|
|
10
10
|
return {
|
|
11
11
|
client: {
|
|
12
|
-
articles: new Articles({}, "token"),
|
|
13
|
-
articleChanges: new ArticleChanges({}, "token"),
|
|
14
|
-
articleRevisions: new ArticleRevisions({}, "token"),
|
|
12
|
+
articles: new Articles(() => ({}), "token"),
|
|
13
|
+
articleChanges: new ArticleChanges(() => ({}), "token"),
|
|
14
|
+
articleRevisions: new ArticleRevisions(() => ({}), "token"),
|
|
15
15
|
},
|
|
16
16
|
params: { id: article.id },
|
|
17
17
|
locale: "en",
|
|
@@ -6,11 +6,11 @@ import { remoteConfig } from "../../../support/handlersHelper";
|
|
|
6
6
|
function buildCtx(article, updateSettings) {
|
|
7
7
|
return {
|
|
8
8
|
client: {
|
|
9
|
-
articles: new Articles({}, "token"),
|
|
9
|
+
articles: new Articles(() => ({}), "token"),
|
|
10
10
|
},
|
|
11
11
|
params: { parent_id: article.id },
|
|
12
12
|
resourceParams: {
|
|
13
|
-
|
|
13
|
+
resource: updateSettings,
|
|
14
14
|
},
|
|
15
15
|
locale: "en",
|
|
16
16
|
remoteConfig: remoteConfig(),
|
|
@@ -90,9 +90,9 @@ describe("Article delete", () => {
|
|
|
90
90
|
|
|
91
91
|
expect(result).toEqual({
|
|
92
92
|
assigns: {
|
|
93
|
-
|
|
93
|
+
resource: { ...updateSettings, id: article.id },
|
|
94
94
|
errors: {
|
|
95
|
-
|
|
95
|
+
resource: { redirect: "url: has already been taken" },
|
|
96
96
|
},
|
|
97
97
|
_translations: [],
|
|
98
98
|
},
|