@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
@@ -7,12 +7,12 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, updateSettings) {
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
  resourceParams: {
15
- general_settings: updateSettings,
15
+ resource: updateSettings,
16
16
  },
17
17
  locale: "en",
18
18
  resourceConfig: {
@@ -30,11 +30,15 @@ describe("Event revision general settings", () => {
30
30
  title: "Updated title",
31
31
  slug: "/updated-url",
32
32
  visibility: "protected",
33
- publish_at: "2024-08-30T19:05",
34
- starts_at: "2024-08-30T19:10",
35
- ends_at: "2024-08-30T19:15",
36
- username: "user",
37
- password: "admin123!@#",
33
+ publishAt: "2024-08-30T19:05",
34
+ startsAt: "2024-08-30T19:10",
35
+ endsAt: "2024-08-30T19:15",
36
+ settings: {
37
+ credentials: {
38
+ username: "user",
39
+ password: "admin123!@#",
40
+ },
41
+ },
38
42
  };
39
43
 
40
44
  const ctx = buildCtx(revision, updateSettings);
@@ -60,16 +64,13 @@ describe("Event revision general settings", () => {
60
64
  publishAt: "2024-08-30T19:05:00Z",
61
65
  startsAt: "2024-08-30T19:10:00Z",
62
66
  endsAt: "2024-08-30T19:15:00Z",
63
- widgets: JSON.stringify(revision.widgets),
67
+ widgets: revision.widgets,
64
68
  tags: revision.tags.map((t) => t.id),
65
69
  categories: revision.categories.map((c) => c.id),
66
- settings: JSON.stringify({
70
+ settings: {
67
71
  ...revision.settings,
68
- credentials: {
69
- user: updateSettings.username,
70
- password: updateSettings.password,
71
- },
72
- }),
72
+ ...updateSettings.settings,
73
+ },
73
74
  });
74
75
 
75
76
  expect(result).toEqual({
@@ -84,11 +85,15 @@ describe("Event revision general settings", () => {
84
85
  title: "Updated title",
85
86
  slug: "/updated-url",
86
87
  visibility: "protected",
87
- publish_at: "2024-08-30T19:05",
88
- starts_at: "2024-08-30T19:10",
89
- ends_at: "2024-08-30T19:15",
90
- username: "user",
91
- password: "admin123!@#",
88
+ publishAt: "2024-08-30T19:05",
89
+ startsAt: "2024-08-30T19:10",
90
+ endsAt: "2024-08-30T19:15",
91
+ settings: {
92
+ credentials: {
93
+ username: "user",
94
+ password: "admin123!@#",
95
+ },
96
+ },
92
97
  };
93
98
 
94
99
  const ctx = buildCtx(revision, updateSettings);
@@ -114,27 +119,32 @@ describe("Event revision general settings", () => {
114
119
  publishAt: "2024-08-30T19:05:00Z",
115
120
  startsAt: "2024-08-30T19:10:00Z",
116
121
  endsAt: "2024-08-30T19:15:00Z",
117
- widgets: JSON.stringify(revision.widgets),
122
+ widgets: revision.widgets,
118
123
  tags: revision.tags.map((t) => t.id),
119
124
  categories: revision.categories.map((c) => c.id),
120
- settings: JSON.stringify({
125
+ settings: {
121
126
  ...revision.settings,
122
- credentials: {
123
- user: updateSettings.username,
124
- password: updateSettings.password,
125
- },
126
- }),
127
+ ...updateSettings.settings,
128
+ },
127
129
  });
128
130
 
129
131
  expect(result).toEqual({
130
132
  assigns: {
131
- general_settings: {
132
- ...updateSettings,
133
- id: revision.id,
134
- originalId: revision.originalId,
133
+ resource: {
134
+ ...revision,
135
+ slug: updateSettings.slug,
136
+ title: updateSettings.title,
137
+ visibility: updateSettings.visibility,
138
+ settings: {
139
+ ...revision.settings,
140
+ ...updateSettings.settings,
141
+ },
142
+ publishAt: "2024-08-30T19:05:00",
143
+ startsAt: "2024-08-30T19:10:00",
144
+ endsAt: "2024-08-30T19:15:00",
135
145
  },
136
146
  errors: {
137
- general_settings: { slug: "has invalid format" },
147
+ resource: { slug: "has invalid format" },
138
148
  },
139
149
  visibilityOptions: ctx.client.events.visibilityOptions(),
140
150
  _translations: [],
@@ -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 meta 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:05:00Z",
20
+ startsAt: "2024-10-10T07:15:00Z",
21
+ endsAt: "2024-10-10T07:25:00Z",
22
+ });
19
23
  const ctx = buildCtx(revision);
20
24
 
21
25
  const mockFind = jest
@@ -28,12 +32,11 @@ describe("Event revision meta settings", () => {
28
32
 
29
33
  expect(result).toEqual({
30
34
  assigns: {
31
- meta_settings: {
32
- id: revision.id,
33
- originalId: revision.originalId,
34
- title: revision.settings.meta.title,
35
- description: revision.settings.meta.description,
36
- image: revision.settings.meta.image,
35
+ resource: {
36
+ ...revision,
37
+ publishAt: "2024-10-10T07:05:00",
38
+ startsAt: "2024-10-10T07:15:00",
39
+ endsAt: "2024-10-10T07:25:00",
37
40
  },
38
41
  errors: {},
39
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
- meta_settings: updateSettings,
13
+ resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  resourceConfig: {
@@ -22,12 +22,20 @@ function buildCtx(revision, updateSettings) {
22
22
 
23
23
  describe("Event revision meta 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:05:00Z",
27
+ startsAt: "2024-10-10T07:15:00Z",
28
+ endsAt: "2024-10-10T07:25:00Z",
29
+ });
26
30
 
27
31
  const updateSettings = {
28
- title: "An open graph title",
29
- description: "An open graph description",
30
- image: JSON.stringify({ id: 42 }),
32
+ settings: {
33
+ meta: {
34
+ title: "An open graph title",
35
+ description: "An open graph description",
36
+ image: JSON.stringify({ id: 42 }),
37
+ },
38
+ },
31
39
  };
32
40
 
33
41
  const ctx = buildCtx(revision, updateSettings);
@@ -53,17 +61,16 @@ describe("Event revision meta settings", () => {
53
61
  publishAt: revision.publishAt,
54
62
  startsAt: revision.startsAt,
55
63
  endsAt: revision.endsAt,
56
- widgets: JSON.stringify(revision.widgets),
64
+ widgets: revision.widgets,
57
65
  tags: revision.tags.map((t) => t.id),
58
66
  categories: revision.categories.map((c) => c.id),
59
- settings: JSON.stringify({
67
+ settings: {
60
68
  ...revision.settings,
61
69
  meta: {
62
- title: updateSettings.title,
63
- description: updateSettings.description,
70
+ ...updateSettings.settings.meta,
64
71
  image: { id: 42 },
65
72
  },
66
- }),
73
+ },
67
74
  });
68
75
 
69
76
  expect(result).toEqual({
@@ -72,12 +79,20 @@ describe("Event revision meta settings", () => {
72
79
  });
73
80
 
74
81
  test("update failed", async () => {
75
- const revision = Factory.build("event_revision");
82
+ const revision = Factory.build("event_revision", {
83
+ publishAt: "2024-10-10T07:05:00",
84
+ startsAt: "2024-10-10T07:15:00",
85
+ endsAt: "2024-10-10T07:25:00",
86
+ });
76
87
 
77
88
  const updateSettings = {
78
- title: "An open graph title",
79
- description: "An open graph description",
80
- image: JSON.stringify({ id: 42 }),
89
+ settings: {
90
+ meta: {
91
+ title: "An open graph title",
92
+ description: "An open graph description",
93
+ image: JSON.stringify({ id: 42 }),
94
+ },
95
+ },
81
96
  };
82
97
 
83
98
  const ctx = buildCtx(revision, updateSettings);
@@ -103,28 +118,35 @@ describe("Event revision meta settings", () => {
103
118
  publishAt: revision.publishAt,
104
119
  startsAt: revision.startsAt,
105
120
  endsAt: revision.endsAt,
106
- widgets: JSON.stringify(revision.widgets),
121
+ widgets: revision.widgets,
107
122
  tags: revision.tags.map((t) => t.id),
108
123
  categories: revision.categories.map((c) => c.id),
109
- settings: JSON.stringify({
124
+ settings: {
110
125
  ...revision.settings,
111
126
  meta: {
112
- title: updateSettings.title,
113
- description: updateSettings.description,
127
+ ...updateSettings.settings.meta,
114
128
  image: { id: 42 },
115
129
  },
116
- }),
130
+ },
117
131
  });
118
132
 
119
133
  expect(result).toEqual({
120
134
  assigns: {
121
- meta_settings: {
122
- ...updateSettings,
123
- id: revision.id,
124
- originalId: revision.originalId,
135
+ resource: {
136
+ ...revision,
137
+ publishAt: "2024-10-10T07:05:00",
138
+ startsAt: "2024-10-10T07:15:00",
139
+ endsAt: "2024-10-10T07:25:00",
140
+ settings: {
141
+ ...revision.settings,
142
+ meta: {
143
+ ...updateSettings.settings.meta,
144
+ image: { id: 42 },
145
+ },
146
+ },
125
147
  },
126
148
  errors: {
127
- meta_settings: { generalError: "some error" },
149
+ resource: { generalError: "some error" },
128
150
  },
129
151
  _translations: [],
130
152
  },
@@ -7,8 +7,8 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, resourceParams) {
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
  resourceParams,
@@ -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",
@@ -4,7 +4,7 @@ import EventRevisions from "../../../../cloud/EventRevisions";
4
4
  function buildCtx(eventID, version) {
5
5
  return {
6
6
  client: {
7
- eventRevisions: new EventRevisions({}, "token"),
7
+ eventRevisions: new EventRevisions(() => ({}), "token"),
8
8
  },
9
9
  params: { parent_id: eventID },
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
- eventRevisions: new EventRevisions({}, "token"),
11
- tags: new Tags({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ tags: new Tags(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  locale: "en",
@@ -21,7 +21,12 @@ describe("Event revision tags settings", () => {
21
21
  Factory.build("tag", { id: 42 }),
22
22
  Factory.build("tag", { id: 69 }),
23
23
  ];
24
- const revision = Factory.build("event_revision", { tags: [tags[0]] });
24
+ const revision = Factory.build("event_revision", {
25
+ tags: [tags[0]],
26
+ publishAt: "2024-10-10T07:00:00Z",
27
+ startsAt: "2024-10-10T07:05:00Z",
28
+ endsAt: "2024-10-10T07:15:00Z",
29
+ });
25
30
  const ctx = buildCtx(revision);
26
31
 
27
32
  const mockFind = jest
@@ -41,10 +46,12 @@ describe("Event revision tags settings", () => {
41
46
 
42
47
  expect(result).toEqual({
43
48
  assigns: {
44
- tag_settings: {
45
- id: revision.id,
46
- originalId: revision.originalId,
47
- tags: revision.tags.map((t) => t.id),
49
+ resource: {
50
+ ...revision,
51
+ publishAt: "2024-10-10T07:00:00",
52
+ startsAt: "2024-10-10T07:05:00",
53
+ endsAt: "2024-10-10T07:15:00",
54
+ tags: [tags[0].id],
48
55
  },
49
56
  tags: tags,
50
57
  errors: {},
@@ -7,12 +7,12 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, updateSettings) {
8
8
  return {
9
9
  client: {
10
- eventRevisions: new EventRevisions({}, "token"),
11
- tags: new Tags({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ tags: new Tags(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams: {
15
- tag_settings: updateSettings,
15
+ resource: updateSettings,
16
16
  },
17
17
  locale: "en",
18
18
  resourceConfig: {
@@ -28,7 +28,12 @@ describe("Event revision tags settings", () => {
28
28
  Factory.build("tag", { id: 42 }),
29
29
  Factory.build("tag", { id: 69 }),
30
30
  ];
31
- const revision = Factory.build("event_revision", { tags: [tags[0]] });
31
+ const revision = Factory.build("event_revision", {
32
+ tags: [tags[0]],
33
+ publishAt: "2024-10-10T07:00:00Z",
34
+ startsAt: "2024-10-10T07:05:00Z",
35
+ endsAt: "2024-10-10T07:15:00Z",
36
+ });
32
37
 
33
38
  const updateSettings = {
34
39
  tags: [tags.map((t) => t.id)],
@@ -57,10 +62,10 @@ describe("Event revision tags settings", () => {
57
62
  publishAt: revision.publishAt,
58
63
  startsAt: revision.startsAt,
59
64
  endsAt: revision.endsAt,
60
- widgets: JSON.stringify(revision.widgets),
65
+ widgets: revision.widgets,
61
66
  tags: updateSettings.tags,
62
67
  categories: revision.categories.map((c) => c.id),
63
- settings: JSON.stringify(revision.settings),
68
+ settings: revision.settings,
64
69
  });
65
70
 
66
71
  expect(result).toEqual({
@@ -73,7 +78,12 @@ describe("Event revision tags settings", () => {
73
78
  Factory.build("tag", { id: 42 }),
74
79
  Factory.build("tag", { id: 69 }),
75
80
  ];
76
- const revision = Factory.build("event_revision", { tags: [tags[0]] });
81
+ const revision = Factory.build("event_revision", {
82
+ tags: [tags[0]],
83
+ publishAt: "2024-10-10T07:00:00Z",
84
+ startsAt: "2024-10-10T07:05:00Z",
85
+ endsAt: "2024-10-10T07:15:00Z",
86
+ });
77
87
 
78
88
  const updateSettings = {
79
89
  tags: [tags.map((t) => t.id)],
@@ -108,22 +118,24 @@ describe("Event revision tags settings", () => {
108
118
  publishAt: revision.publishAt,
109
119
  startsAt: revision.startsAt,
110
120
  endsAt: revision.endsAt,
111
- widgets: JSON.stringify(revision.widgets),
121
+ widgets: revision.widgets,
112
122
  tags: updateSettings.tags,
113
123
  categories: revision.categories.map((c) => c.id),
114
- settings: JSON.stringify(revision.settings),
124
+ settings: revision.settings,
115
125
  });
116
126
  expect(mockTags).toHaveBeenCalledWith("en");
117
127
 
118
128
  expect(result).toEqual({
119
129
  assigns: {
120
- tag_settings: {
121
- ...updateSettings,
122
- id: revision.id,
123
- originalId: revision.originalId,
130
+ resource: {
131
+ ...revision,
132
+ publishAt: "2024-10-10T07:00:00",
133
+ startsAt: "2024-10-10T07:05:00",
134
+ endsAt: "2024-10-10T07:15:00",
135
+ tags: updateSettings.tags,
124
136
  },
125
137
  errors: {
126
- tag_settings: { generalError: "some error" },
138
+ resource: { generalError: "some error" },
127
139
  },
128
140
  tags: tags,
129
141
  _translations: [],
@@ -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 visuals 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-10T21:00:00Z",
20
+ startsAt: "2024-10-10T21:05:00Z",
21
+ endsAt: "2024-10-10T21:10:00Z",
22
+ });
19
23
  const ctx = buildCtx(revision);
20
24
 
21
25
  const mockFind = jest
@@ -28,10 +32,11 @@ describe("Event revision visuals settings", () => {
28
32
 
29
33
  expect(result).toEqual({
30
34
  assigns: {
31
- visual_settings: {
32
- id: revision.id,
33
- originalId: revision.originalId,
34
- layout: revision.settings.layout,
35
+ resource: {
36
+ ...revision,
37
+ publishAt: "2024-10-10T21:00:00",
38
+ startsAt: "2024-10-10T21:05:00",
39
+ endsAt: "2024-10-10T21:10:00",
35
40
  },
36
41
  errors: {},
37
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
- visual_settings: updateSettings,
13
+ resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  resourceConfig: {
@@ -22,10 +22,16 @@ function buildCtx(revision, updateSettings) {
22
22
 
23
23
  describe("Event revision visuals 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
- layout: "bla",
32
+ settings: {
33
+ layout: "bla",
34
+ },
29
35
  };
30
36
 
31
37
  const ctx = buildCtx(revision, updateSettings);
@@ -51,13 +57,13 @@ describe("Event revision visuals settings", () => {
51
57
  publishAt: revision.publishAt,
52
58
  startsAt: revision.startsAt,
53
59
  endsAt: revision.endsAt,
54
- widgets: JSON.stringify(revision.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: JSON.stringify({
63
+ settings: {
58
64
  ...revision.settings,
59
- layout: updateSettings.layout,
60
- }),
65
+ layout: updateSettings.settings.layout,
66
+ },
61
67
  });
62
68
 
63
69
  expect(result).toEqual({
@@ -66,10 +72,16 @@ describe("Event revision visuals settings", () => {
66
72
  });
67
73
 
68
74
  test("update failed", async () => {
69
- const revision = Factory.build("event_revision");
75
+ const revision = Factory.build("event_revision", {
76
+ publishAt: "2024-10-10T07:00:00Z",
77
+ startsAt: "2024-10-10T07:05:00Z",
78
+ endsAt: "2024-10-10T07:10:00Z",
79
+ });
70
80
 
71
81
  const updateSettings = {
72
- layout: "bla",
82
+ settings: {
83
+ layout: "bla",
84
+ },
73
85
  };
74
86
 
75
87
  const ctx = buildCtx(revision, updateSettings);
@@ -95,24 +107,29 @@ describe("Event revision visuals settings", () => {
95
107
  publishAt: revision.publishAt,
96
108
  startsAt: revision.startsAt,
97
109
  endsAt: revision.endsAt,
98
- widgets: JSON.stringify(revision.widgets),
110
+ widgets: revision.widgets,
99
111
  tags: revision.tags.map((t) => t.id),
100
112
  categories: revision.categories.map((c) => c.id),
101
- settings: JSON.stringify({
113
+ settings: {
102
114
  ...revision.settings,
103
- layout: updateSettings.layout,
104
- }),
115
+ layout: updateSettings.settings.layout,
116
+ },
105
117
  });
106
118
 
107
119
  expect(result).toEqual({
108
120
  assigns: {
109
- visual_settings: {
110
- ...updateSettings,
111
- id: revision.id,
112
- originalId: revision.originalId,
121
+ resource: {
122
+ ...revision,
123
+ publishAt: "2024-10-10T07:00:00",
124
+ startsAt: "2024-10-10T07:05:00",
125
+ endsAt: "2024-10-10T07:10:00",
126
+ settings: {
127
+ ...revision.settings,
128
+ layout: updateSettings.settings.layout,
129
+ },
113
130
  },
114
131
  errors: {
115
- visual_settings: { generalError: "some error" },
132
+ resource: { generalError: "some error" },
116
133
  },
117
134
  _translations: [],
118
135
  },
@@ -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
- settings: new Settings({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "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
- eventRevisions: new EventRevisions({}, "token"),
11
- settings: new Settings({}, "token"),
10
+ eventRevisions: new EventRevisions(() => ({}), "token"),
11
+ settings: new Settings(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams: {
@@ -5,7 +5,7 @@ import Factory from "../../../support/factory";
5
5
  function buildCtx(event) {
6
6
  return {
7
7
  client: {
8
- events: new Events({}, "token"),
8
+ events: new Events(() => ({}), "token"),
9
9
  },
10
10
  params: { parent_id: event.id },
11
11
  locale: "en",
@@ -6,11 +6,11 @@ import { remoteConfig } from "../../../support/handlersHelper";
6
6
  function buildCtx(event, updateSettings) {
7
7
  return {
8
8
  client: {
9
- events: new Events({}, "token"),
9
+ events: new Events(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: event.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("Event delete", () => {
90
90
 
91
91
  expect(result).toEqual({
92
92
  assigns: {
93
- deleteAction: { ...updateSettings, id: event.id },
93
+ resource: { ...updateSettings, id: event.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
  },