@raketa-cloud/admin 0.0.30 → 0.0.31

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