@raketa-cloud/admin 1.8.4 → 1.8.7

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 (314) hide show
  1. package/package.json +1 -1
  2. package/src/cloud/ResourceChanges.js +41 -0
  3. package/src/cloud/ResourceRevisions.js +242 -0
  4. package/src/cloud/Resources.js +219 -0
  5. package/src/cloud/documents/common.js +0 -30
  6. package/src/cloud/documents/resourcesDocuments.js +371 -0
  7. package/src/handlers/_shared/getResourceUpdateDestination.js +11 -0
  8. package/src/handlers/resource_revisions/CancelSchedulesHandler.js +31 -0
  9. package/src/handlers/resource_revisions/CodeHandler.js +70 -0
  10. package/src/handlers/resource_revisions/GeneralHandler.js +72 -0
  11. package/src/handlers/{article_revisions → resource_revisions}/LocksHandler.js +15 -10
  12. package/src/handlers/resource_revisions/MetaHandler.js +70 -0
  13. package/src/handlers/{article_revisions → resource_revisions}/PublishesHandler.js +27 -19
  14. package/src/handlers/resource_revisions/ResourceRevisionsHandler.js +65 -0
  15. package/src/handlers/{article_revisions → resource_revisions}/RevertsHandler.js +7 -5
  16. package/src/handlers/{page_revisions → resource_revisions}/TagHandler.js +31 -16
  17. package/src/handlers/resource_revisions/UnlocksHandler.js +29 -0
  18. package/src/handlers/resource_revisions/VisualHandler.js +71 -0
  19. package/src/handlers/{article_revisions → resource_revisions}/WidgetHandler.js +11 -6
  20. package/src/handlers/{pages → resources}/ChangeHandler.js +5 -3
  21. package/src/handlers/resources/ClonesHandler.js +24 -0
  22. package/src/handlers/resources/DeletesHandler.js +79 -0
  23. package/src/handlers/{pages → resources}/ExportsHandler.js +8 -4
  24. package/src/handlers/resources/HistoryHandler.js +39 -0
  25. package/src/handlers/{pages/PagesAPIHandler.js → resources/ResourcesAPIHandler.js} +4 -2
  26. package/src/handlers/{pages/PagesHandler.js → resources/ResourcesHandler.js} +35 -18
  27. package/src/handlers/{pages → resources}/TranslationsHandler.js +65 -37
  28. package/src/handlers/resources/URLsHandler.js +84 -0
  29. package/src/helpers/CSVExportHelper.js +5 -6
  30. package/src/index.js +28 -69
  31. package/src/routeArticlesModule.js +7 -167
  32. package/src/routeEventsModule.js +7 -182
  33. package/src/routePagesModule.js +7 -179
  34. package/src/routeResource.js +197 -0
  35. package/src/routeStandard.js +1 -1
  36. package/src/setupCloud.js +10 -30
  37. package/src/tests/HonoAdapter.coverage.test.js +640 -0
  38. package/src/tests/buildResourcePath.test.js +69 -0
  39. package/src/tests/handlers/_shared/getResourceUpdateDestination.test.js +63 -0
  40. package/src/tests/handlers/{article_revisions/CancelScheduledHandler.test → resource_revisions/CancelSchedulesHandler.test}/create.test.js +26 -26
  41. package/src/tests/handlers/{page_revisions/CodesHandler.test → resource_revisions/CodeHandler.test}/edit_form.test.js +13 -16
  42. package/src/tests/handlers/{article_revisions/CodesHandler.test → resource_revisions/CodeHandler.test}/update.test.js +38 -57
  43. package/src/tests/handlers/resource_revisions/GeneralHandler.test/edit_form.test.js +58 -0
  44. package/src/tests/handlers/{article_revisions → resource_revisions}/GeneralHandler.test/update.test.js +39 -53
  45. package/src/tests/handlers/{event_revisions → resource_revisions}/LocksHandler.test/create.test.js +34 -31
  46. package/src/tests/handlers/{event_revisions → resource_revisions}/LocksHandler.test/create_form.test.js +16 -12
  47. package/src/tests/handlers/{page_revisions → resource_revisions}/MetaHandler.test/edit_form.test.js +13 -9
  48. package/src/tests/handlers/{article_revisions → resource_revisions}/MetaHandler.test/update.test.js +38 -57
  49. package/src/tests/handlers/{article_revisions → resource_revisions}/PublishesHandler.test/create.test.js +60 -72
  50. package/src/tests/handlers/{page_revisions → resource_revisions}/PublishesHandler.test/create_form.test.js +14 -10
  51. package/src/tests/handlers/resource_revisions/ResourceRevisionsHandler.test/create.test.js +87 -0
  52. package/src/tests/handlers/{article_revisions/ArticleRevisionsHandler.test → resource_revisions/ResourceRevisionsHandler.test}/destroy.test.js +13 -13
  53. package/src/tests/handlers/resource_revisions/RevertsHandler.test/create.test.js +83 -0
  54. package/src/tests/handlers/{event_revisions → resource_revisions}/TagHandler.test/edit_form.test.js +23 -19
  55. package/src/tests/handlers/{article_revisions → resource_revisions}/TagHandler.test/update.test.js +44 -49
  56. package/src/tests/handlers/{article_revisions → resource_revisions}/UnlocksHandler.test/create.test.js +22 -22
  57. package/src/tests/handlers/{page_revisions/VisualHandler.test.test → resource_revisions/VisualHandler.test}/edit_form.test.js +13 -16
  58. package/src/tests/handlers/resource_revisions/VisualHandler.test/update.test.js +130 -0
  59. package/src/tests/handlers/{event_revisions → resource_revisions}/WidgetHandler.test/show.test.js +11 -7
  60. package/src/tests/handlers/{event_revisions → resource_revisions}/WidgetHandler.test/update.test.js +28 -14
  61. package/src/tests/handlers/resources/ChangeHandler.test/show.test.js +57 -0
  62. package/src/tests/handlers/resources/ClonesHandler.test/create.test.js +57 -0
  63. package/src/tests/handlers/{articles → resources}/DeletesHandler.test/create.test.js +30 -30
  64. package/src/tests/handlers/resources/DeletesHandler.test/create_form.test.js +60 -0
  65. package/src/tests/handlers/{articles → resources}/ExportsHandler.test/index.test.js +57 -57
  66. package/src/tests/handlers/{articles/ArticlesHistoryHandler.test → resources/HistoryHandler.test}/index.test.js +19 -20
  67. package/src/tests/handlers/resources/ResourcesAPIHandler.test/index.test.js +41 -0
  68. package/src/tests/handlers/{pages/PagesHandler.test → resources/ResourcesHandler.test}/create.test.js +23 -22
  69. package/src/tests/handlers/{events/EventsHandler.test → resources/ResourcesHandler.test}/create_form.test.js +12 -11
  70. package/src/tests/handlers/{events/EventsHandler.test → resources/ResourcesHandler.test}/index.test.js +18 -18
  71. package/src/tests/handlers/resources/ResourcesHandler.test/show.test.js +111 -0
  72. package/src/tests/handlers/resources/TranslationsHandler.test/create.test.js +320 -0
  73. package/src/tests/handlers/resources/TranslationsHandler.test/create_form.test.js +85 -0
  74. package/src/tests/handlers/resources/TranslationsHandler.test/index.test.js +99 -0
  75. package/src/tests/handlers/{articles → resources}/URLsHandler.test/create.test.js +48 -43
  76. package/src/tests/handlers/resources/URLsHandler.test/create_form.test.js +55 -0
  77. package/src/tests/routeArticlesModule.test.js +43 -0
  78. package/src/tests/routeCategoriesModule.test.js +23 -0
  79. package/src/tests/routeEventsModule.test.js +43 -0
  80. package/src/tests/routePagesModule.test.js +43 -0
  81. package/src/tests/routeResource.test.js +202 -0
  82. package/src/tests/routeSettings.test.js +40 -0
  83. package/src/tests/routeStandard.test.js +70 -0
  84. package/src/tests/setGlobalContext.test.js +12 -0
  85. package/src/tests/setupAuthentication.test.js +407 -0
  86. package/src/tests/setupCloud.test.js +51 -0
  87. package/src/tests/support/factory.js +15 -86
  88. package/src/views/article_revisions/_nav.ejs +6 -6
  89. package/src/views/article_revisions/codes/_form.ejs +2 -2
  90. package/src/views/article_revisions/general/_form.ejs +3 -3
  91. package/src/views/article_revisions/locks/_form.ejs +2 -2
  92. package/src/views/article_revisions/meta/_form.ejs +2 -2
  93. package/src/views/article_revisions/publishes/_form.ejs +2 -2
  94. package/src/views/article_revisions/tags/_form.ejs +2 -2
  95. package/src/views/article_revisions/visuals/_form.ejs +2 -2
  96. package/src/views/articles/_form.ejs +9 -9
  97. package/src/views/articles/_shared/_export_button.ejs +1 -1
  98. package/src/views/articles/_shared/_history_toolbar.ejs +2 -2
  99. package/src/views/articles/_shared/_revision_toolbar.ejs +7 -7
  100. package/src/views/articles/_shared/_title.ejs +2 -2
  101. package/src/views/articles/_shared/_toolbar.ejs +6 -6
  102. package/src/views/articles/_shared/history_table.ejs +1 -1
  103. package/src/views/articles/create_form.ejs +1 -1
  104. package/src/views/articles/deletes/create_form.ejs +3 -3
  105. package/src/views/articles/history/index.ejs +4 -4
  106. package/src/views/articles/index.ejs +11 -11
  107. package/src/views/articles/show.ejs +6 -6
  108. package/src/views/articles/translations/_translation_toolbar.ejs +2 -2
  109. package/src/views/articles/translations/create_form.ejs +2 -2
  110. package/src/views/articles/translations/index.ejs +3 -3
  111. package/src/views/articles/urls/create_form.ejs +3 -3
  112. package/src/views/event_revisions/_nav.ejs +6 -6
  113. package/src/views/event_revisions/codes/_form.ejs +2 -2
  114. package/src/views/event_revisions/general/_form.ejs +5 -5
  115. package/src/views/event_revisions/locks/_form.ejs +2 -2
  116. package/src/views/event_revisions/meta/_form.ejs +2 -2
  117. package/src/views/event_revisions/publishes/_form.ejs +2 -2
  118. package/src/views/event_revisions/tags/_form.ejs +2 -2
  119. package/src/views/event_revisions/visuals/_form.ejs +2 -2
  120. package/src/views/events/_form.ejs +6 -6
  121. package/src/views/events/_shared/_export_button.ejs +1 -1
  122. package/src/views/events/_shared/_history_toolbar.ejs +2 -2
  123. package/src/views/events/_shared/_revision_toolbar.ejs +7 -7
  124. package/src/views/events/_shared/_title.ejs +2 -2
  125. package/src/views/events/_shared/_toolbar.ejs +6 -6
  126. package/src/views/events/_shared/history_table.ejs +1 -1
  127. package/src/views/events/create_form.ejs +1 -1
  128. package/src/views/events/deletes/create_form.ejs +3 -3
  129. package/src/views/events/history/index.ejs +4 -4
  130. package/src/views/events/index.ejs +11 -11
  131. package/src/views/events/show.ejs +6 -6
  132. package/src/views/events/translations/_translation_toolbar.ejs +2 -2
  133. package/src/views/events/translations/create_form.ejs +2 -2
  134. package/src/views/events/translations/index.ejs +3 -3
  135. package/src/views/events/urls/create_form.ejs +3 -3
  136. package/src/views/page_revisions/_nav.ejs +6 -6
  137. package/src/views/page_revisions/codes/_form.ejs +2 -2
  138. package/src/views/page_revisions/general/_form.ejs +2 -2
  139. package/src/views/page_revisions/locks/_form.ejs +2 -2
  140. package/src/views/page_revisions/meta/_form.ejs +2 -2
  141. package/src/views/page_revisions/publishes/_form.ejs +2 -2
  142. package/src/views/page_revisions/tags/_form.ejs +2 -2
  143. package/src/views/page_revisions/visuals/_form.ejs +2 -2
  144. package/src/views/pages/_form.ejs +3 -3
  145. package/src/views/pages/_shared/_export_button.ejs +1 -1
  146. package/src/views/pages/_shared/_history_toolbar.ejs +2 -2
  147. package/src/views/pages/_shared/_revision_toolbar.ejs +7 -7
  148. package/src/views/pages/_shared/_title.ejs +2 -2
  149. package/src/views/pages/_shared/_toolbar.ejs +6 -6
  150. package/src/views/pages/_shared/history_table.ejs +1 -1
  151. package/src/views/pages/create_form.ejs +1 -1
  152. package/src/views/pages/deletes/create_form.ejs +3 -3
  153. package/src/views/pages/history/index.ejs +4 -4
  154. package/src/views/pages/index.ejs +9 -9
  155. package/src/views/pages/show.ejs +6 -6
  156. package/src/views/pages/translations/_translation_toolbar.ejs +2 -2
  157. package/src/views/pages/translations/create_form.ejs +2 -2
  158. package/src/views/pages/translations/index.ejs +3 -3
  159. package/src/views/pages/urls/create_form.ejs +3 -3
  160. package/src/cloud/ArticleChanges.js +0 -36
  161. package/src/cloud/ArticleRevisions.js +0 -239
  162. package/src/cloud/Articles.js +0 -216
  163. package/src/cloud/EventChanges.js +0 -36
  164. package/src/cloud/EventRevisions.js +0 -246
  165. package/src/cloud/Events.js +0 -231
  166. package/src/cloud/PageChanges.js +0 -36
  167. package/src/cloud/PageRevisions.js +0 -226
  168. package/src/cloud/Pages.js +0 -204
  169. package/src/cloud/documents/articlesDocuments.js +0 -375
  170. package/src/cloud/documents/eventsDocuments.js +0 -390
  171. package/src/cloud/documents/pagesDocuments.js +0 -370
  172. package/src/handlers/_shared/getArticlesUpdateDestination.js +0 -7
  173. package/src/handlers/_shared/getEventsUpdateDestination.js +0 -7
  174. package/src/handlers/_shared/getPagesUpdateDestination.js +0 -8
  175. package/src/handlers/article_revisions/ArticleRevisionsHandler.js +0 -57
  176. package/src/handlers/article_revisions/CancelSchedulesHandler.js +0 -26
  177. package/src/handlers/article_revisions/CodeHandler.js +0 -75
  178. package/src/handlers/article_revisions/GeneralHandler.js +0 -77
  179. package/src/handlers/article_revisions/MetaHandler.js +0 -75
  180. package/src/handlers/article_revisions/TagHandler.js +0 -83
  181. package/src/handlers/article_revisions/UnlocksHandler.js +0 -24
  182. package/src/handlers/article_revisions/VisualHandler.js +0 -75
  183. package/src/handlers/articles/ArticlesAPIHandler.js +0 -15
  184. package/src/handlers/articles/ArticlesHandler.js +0 -126
  185. package/src/handlers/articles/ChangeHandler.js +0 -22
  186. package/src/handlers/articles/ClonesHandler.js +0 -19
  187. package/src/handlers/articles/DeletesHandler.js +0 -72
  188. package/src/handlers/articles/ExportsHandler.js +0 -35
  189. package/src/handlers/articles/HistoryHandler.js +0 -31
  190. package/src/handlers/articles/TranslationsHandler.js +0 -231
  191. package/src/handlers/articles/URLsHandler.js +0 -83
  192. package/src/handlers/event_revisions/CancelSchedulesHandler.js +0 -26
  193. package/src/handlers/event_revisions/CodeHandler.js +0 -73
  194. package/src/handlers/event_revisions/EventRevisionsHandler.js +0 -55
  195. package/src/handlers/event_revisions/GeneralHandler.js +0 -75
  196. package/src/handlers/event_revisions/LocksHandler.js +0 -65
  197. package/src/handlers/event_revisions/MetaHandler.js +0 -73
  198. package/src/handlers/event_revisions/PublishesHandler.js +0 -112
  199. package/src/handlers/event_revisions/RevertsHandler.js +0 -26
  200. package/src/handlers/event_revisions/TagHandler.js +0 -80
  201. package/src/handlers/event_revisions/UnlocksHandler.js +0 -24
  202. package/src/handlers/event_revisions/VisualHandler.js +0 -73
  203. package/src/handlers/event_revisions/WidgetHandler.js +0 -41
  204. package/src/handlers/events/ChangeHandler.js +0 -22
  205. package/src/handlers/events/ClonesHandler.js +0 -19
  206. package/src/handlers/events/DeletesHandler.js +0 -72
  207. package/src/handlers/events/EventsAPIHandler.js +0 -15
  208. package/src/handlers/events/EventsHandler.js +0 -128
  209. package/src/handlers/events/ExportsHandler.js +0 -35
  210. package/src/handlers/events/HistoryHandler.js +0 -31
  211. package/src/handlers/events/TranslationsHandler.js +0 -233
  212. package/src/handlers/events/URLsHandler.js +0 -81
  213. package/src/handlers/page_revisions/CancelSchedulesHandler.js +0 -26
  214. package/src/handlers/page_revisions/CodeHandler.js +0 -59
  215. package/src/handlers/page_revisions/GeneralHandler.js +0 -61
  216. package/src/handlers/page_revisions/LocksHandler.js +0 -69
  217. package/src/handlers/page_revisions/MetaHandler.js +0 -59
  218. package/src/handlers/page_revisions/PageRevisionsHandler.js +0 -55
  219. package/src/handlers/page_revisions/PublishesHandler.js +0 -112
  220. package/src/handlers/page_revisions/RevertsHandler.js +0 -26
  221. package/src/handlers/page_revisions/UnlocksHandler.js +0 -22
  222. package/src/handlers/page_revisions/VisualHandler.js +0 -60
  223. package/src/handlers/page_revisions/WidgetHandler.js +0 -41
  224. package/src/handlers/pages/ClonesHandler.js +0 -19
  225. package/src/handlers/pages/DeletesHandler.js +0 -68
  226. package/src/handlers/pages/HistoryHandler.js +0 -31
  227. package/src/handlers/pages/URLsHandler.js +0 -77
  228. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +0 -87
  229. package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +0 -56
  230. package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +0 -59
  231. package/src/tests/handlers/article_revisions/LocksHandler.test/create.test.js +0 -142
  232. package/src/tests/handlers/article_revisions/LocksHandler.test/create_form.test.js +0 -55
  233. package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +0 -56
  234. package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +0 -48
  235. package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +0 -86
  236. package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +0 -72
  237. package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +0 -56
  238. package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +0 -146
  239. package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +0 -46
  240. package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +0 -103
  241. package/src/tests/handlers/articles/ArticlesAPIHandler.test/index.test.js +0 -43
  242. package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +0 -172
  243. package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +0 -44
  244. package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +0 -73
  245. package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +0 -120
  246. package/src/tests/handlers/articles/ChangeHandler.test/show.test.js +0 -59
  247. package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +0 -57
  248. package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +0 -60
  249. package/src/tests/handlers/articles/TranslationHandler.test/create.test.js +0 -297
  250. package/src/tests/handlers/articles/TranslationHandler.test/create_form.test.js +0 -71
  251. package/src/tests/handlers/articles/TranslationHandler.test/index.test.js +0 -91
  252. package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +0 -55
  253. package/src/tests/handlers/event_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  254. package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +0 -60
  255. package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +0 -171
  256. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +0 -87
  257. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +0 -57
  258. package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +0 -63
  259. package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +0 -172
  260. package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +0 -60
  261. package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +0 -173
  262. package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +0 -333
  263. package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +0 -48
  264. package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +0 -83
  265. package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +0 -163
  266. package/src/tests/handlers/event_revisions/UnlocksHandler.test/create.test.js +0 -84
  267. package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +0 -60
  268. package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +0 -156
  269. package/src/tests/handlers/events/ChangeHandler.test/show.test.js +0 -59
  270. package/src/tests/handlers/events/ClonesHandler.test/create.test.js +0 -57
  271. package/src/tests/handlers/events/DeletesHandler.test/create.test.js +0 -115
  272. package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +0 -60
  273. package/src/tests/handlers/events/EventsAPIHandler.test/index.test.js +0 -39
  274. package/src/tests/handlers/events/EventsHandler.test/create.test.js +0 -172
  275. package/src/tests/handlers/events/EventsHandler.test/show.test.js +0 -120
  276. package/src/tests/handlers/events/EventsHistoryHandler.test/index.test.js +0 -87
  277. package/src/tests/handlers/events/ExportsHandler.test/index.test.js +0 -212
  278. package/src/tests/handlers/events/TranslationHandler.test/create.test.js +0 -303
  279. package/src/tests/handlers/events/TranslationHandler.test/create_form.test.js +0 -71
  280. package/src/tests/handlers/events/TranslationHandler.test/index.test.js +0 -91
  281. package/src/tests/handlers/events/URLsHandler.test/create.test.js +0 -160
  282. package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +0 -55
  283. package/src/tests/handlers/page_revisions/CancelScheduledHandler.test/create.test.js +0 -86
  284. package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +0 -204
  285. package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +0 -54
  286. package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +0 -219
  287. package/src/tests/handlers/page_revisions/LocksHandler.test/create.test.js +0 -138
  288. package/src/tests/handlers/page_revisions/LocksHandler.test/create_form.test.js +0 -55
  289. package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +0 -211
  290. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +0 -85
  291. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +0 -57
  292. package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +0 -333
  293. package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +0 -83
  294. package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +0 -100
  295. package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +0 -223
  296. package/src/tests/handlers/page_revisions/UnlocksHandler.test/create.test.js +0 -80
  297. package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +0 -183
  298. package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +0 -46
  299. package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +0 -103
  300. package/src/tests/handlers/pages/ChangeHandler.test/show.test.js +0 -59
  301. package/src/tests/handlers/pages/ConesHandler.test/create.test.js +0 -57
  302. package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +0 -115
  303. package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +0 -60
  304. package/src/tests/handlers/pages/ExportsHandler.test/index.test.js +0 -212
  305. package/src/tests/handlers/pages/PagesAPIHandler.test/index.test.js +0 -39
  306. package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +0 -41
  307. package/src/tests/handlers/pages/PagesHandler.test/index.test.js +0 -69
  308. package/src/tests/handlers/pages/PagesHandler.test/show.test.js +0 -118
  309. package/src/tests/handlers/pages/PagesHistoryHandler.test/index.test.js +0 -87
  310. package/src/tests/handlers/pages/TranslationHandler.test/create.test.js +0 -290
  311. package/src/tests/handlers/pages/TranslationHandler.test/create_form.test.js +0 -71
  312. package/src/tests/handlers/pages/TranslationHandler.test/index.test.js +0 -87
  313. package/src/tests/handlers/pages/URLsHandler.test/create.test.js +0 -160
  314. package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +0 -58
@@ -0,0 +1,63 @@
1
+ import getResourceUpdateDestination from "../../../handlers/_shared/getResourceUpdateDestination";
2
+
3
+ describe("getResourceUpdateDestination", () => {
4
+ function buildCtx(body) {
5
+ return {
6
+ locale: "en",
7
+ resourceConfig: {
8
+ resourceType: "article",
9
+ },
10
+ body,
11
+ };
12
+ }
13
+
14
+ test("returns edit destination with success flag when _next is not publish", () => {
15
+ const ctx = buildCtx({ _next: "save" });
16
+
17
+ const result = getResourceUpdateDestination(ctx, "42", "general");
18
+
19
+ expect(result).toBe("/en/article_revisions/42/general/edit?success=1");
20
+ });
21
+
22
+ test("returns publishes/new destination when _next is publish", () => {
23
+ const ctx = buildCtx({ _next: "publish" });
24
+
25
+ const result = getResourceUpdateDestination(ctx, "42", "general");
26
+
27
+ expect(result).toBe("/en/article_revisions/42/publishes/new");
28
+ });
29
+
30
+ test("returns edit destination when body is missing", () => {
31
+ const ctx = buildCtx(undefined);
32
+
33
+ const result = getResourceUpdateDestination(ctx, "42", "meta");
34
+
35
+ expect(result).toBe("/en/article_revisions/42/meta/edit?success=1");
36
+ });
37
+
38
+ test("returns edit destination when body has no _next", () => {
39
+ const ctx = buildCtx({});
40
+
41
+ const result = getResourceUpdateDestination(ctx, "7", "visuals");
42
+
43
+ expect(result).toBe("/en/article_revisions/7/visuals/edit?success=1");
44
+ });
45
+
46
+ test("uses locale from ctx", () => {
47
+ const ctx = buildCtx({});
48
+ ctx.locale = "bg";
49
+
50
+ const result = getResourceUpdateDestination(ctx, "42", "tags");
51
+
52
+ expect(result).toBe("/bg/article_revisions/42/tags/edit?success=1");
53
+ });
54
+
55
+ test("uses resourceType from ctx.resourceConfig", () => {
56
+ const ctx = buildCtx({});
57
+ ctx.resourceConfig.resourceType = "event";
58
+
59
+ const result = getResourceUpdateDestination(ctx, "42", "codes");
60
+
61
+ expect(result).toBe("/en/event_revisions/42/codes/edit?success=1");
62
+ });
63
+ });
@@ -1,45 +1,45 @@
1
1
  import Factory from "../../../support/factory";
2
- import ArticleRevisions from "../../../../cloud/ArticleRevisions";
3
- import CancelSchedulesHandler from "../../../../handlers/article_revisions/CancelSchedulesHandler";
2
+ import ResourceRevisions from "../../../../cloud/ResourceRevisions";
3
+ import CancelSchedulesHandler from "../../../../handlers/resource_revisions/CancelSchedulesHandler";
4
4
 
5
5
  function buildCtx(revision) {
6
6
  return {
7
7
  client: {
8
- articleRevisions: new ArticleRevisions(() => ({}), "token"),
8
+ resourceRevisions: new ResourceRevisions(() => ({}), "token"),
9
9
  },
10
10
  params: { parent_id: revision.id },
11
11
  locale: "en",
12
12
  resourceConfig: {
13
- articleType: "article",
14
- articleTypePlural: "articles",
13
+ resourceType: "article",
14
+ resourceTypePlural: "articles",
15
15
  },
16
16
  };
17
17
  }
18
18
 
19
- describe("Article revision schedule cancel", () => {
19
+ describe("Resource revision schedule cancel", () => {
20
20
  test("cancel of schedule successful", async () => {
21
- const revision = Factory.build("article_revision");
21
+ const revision = Factory.build("resource_revision");
22
22
  const ctx = buildCtx(revision);
23
23
 
24
- const mockUnlock = jest
25
- .spyOn(ctx.client.articleRevisions, "cancelSchedule")
24
+ const mockCancel = jest
25
+ .spyOn(ctx.client.resourceRevisions, "cancelSchedule")
26
26
  .mockImplementation(() => ({
27
- revision: revision,
27
+ revision,
28
28
  errors: null,
29
- articleErrors: null,
29
+ resourceErrors: null,
30
30
  }));
31
31
 
32
32
  const result = await CancelSchedulesHandler.create(ctx);
33
33
 
34
- expect(mockUnlock).toHaveBeenCalledWith(revision.id, "en");
34
+ expect(mockCancel).toHaveBeenCalledWith(revision.id, "en", "article");
35
35
 
36
36
  expect(result).toEqual({
37
37
  redirect: `/en/articles/${revision.originalId}`,
38
38
  });
39
39
  });
40
40
 
41
- test("unlock failed with errors", async () => {
42
- const revision = Factory.build("article_revision");
41
+ test("cancel failed with errors", async () => {
42
+ const revision = Factory.build("resource_revision");
43
43
  const ctx = buildCtx(revision);
44
44
  const errors = [
45
45
  {
@@ -48,43 +48,43 @@ describe("Article revision schedule cancel", () => {
48
48
  },
49
49
  ];
50
50
 
51
- const mockUnlock = jest
52
- .spyOn(ctx.client.articleRevisions, "cancelSchedule")
51
+ const mockCancel = jest
52
+ .spyOn(ctx.client.resourceRevisions, "cancelSchedule")
53
53
  .mockImplementation(() => ({
54
54
  revision: null,
55
55
  errors,
56
- articleErrors: null,
56
+ resourceErrors: null,
57
57
  }));
58
58
 
59
59
  await expect(CancelSchedulesHandler.create(ctx)).rejects.toThrow(
60
60
  `Failed to cancel schedule for revision: ${JSON.stringify(errors)}`
61
61
  );
62
62
 
63
- expect(mockUnlock).toHaveBeenCalledWith(revision.id, "en");
63
+ expect(mockCancel).toHaveBeenCalledWith(revision.id, "en", "article");
64
64
  });
65
65
 
66
- test("unlock failed with article errors", async () => {
67
- const revision = Factory.build("article_revision");
66
+ test("cancel failed with resource errors", async () => {
67
+ const revision = Factory.build("resource_revision");
68
68
  const ctx = buildCtx(revision);
69
- const articleErrors = [
69
+ const resourceErrors = [
70
70
  {
71
71
  key: "generalError",
72
72
  message: "Failed to cancel schedule for revision",
73
73
  },
74
74
  ];
75
75
 
76
- const mockUnlock = jest
77
- .spyOn(ctx.client.articleRevisions, "cancelSchedule")
76
+ const mockCancel = jest
77
+ .spyOn(ctx.client.resourceRevisions, "cancelSchedule")
78
78
  .mockImplementation(() => ({
79
79
  revision: null,
80
80
  errors: null,
81
- articleErrors,
81
+ resourceErrors,
82
82
  }));
83
83
 
84
84
  await expect(CancelSchedulesHandler.create(ctx)).rejects.toThrow(
85
- `Failed to cancel schedule for revision: ${JSON.stringify(articleErrors)}`
85
+ `Failed to cancel schedule for revision: ${JSON.stringify(resourceErrors)}`
86
86
  );
87
87
 
88
- expect(mockUnlock).toHaveBeenCalledWith(revision.id, "en");
88
+ expect(mockCancel).toHaveBeenCalledWith(revision.id, "en", "article");
89
89
  });
90
90
  });
@@ -1,37 +1,34 @@
1
- import CodeHandler from "../../../../handlers/page_revisions/CodeHandler";
2
- import PageRevisions from "../../../../cloud/PageRevisions";
1
+ import CodeHandler from "../../../../handlers/resource_revisions/CodeHandler";
2
+ import ResourceRevisions from "../../../../cloud/ResourceRevisions";
3
3
 
4
4
  import Factory from "../../../support/factory";
5
5
 
6
6
  function buildCtx(revision) {
7
7
  return {
8
8
  client: {
9
- pageRevisions: new PageRevisions(() => ({}), "token"),
9
+ resourceRevisions: new ResourceRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  locale: "en",
13
+ resourceConfig: {
14
+ resourceType: "article",
15
+ resourceTypePlural: "articles",
16
+ },
13
17
  };
14
18
  }
15
19
 
16
- describe("Page revision code settings", () => {
20
+ describe("Resource revision code settings", () => {
17
21
  test("edit_form when a revision exists", async () => {
18
- const revision = Factory.build("page_revision", {
19
- settings: {
20
- codes: {
21
- structured_json: {},
22
- scripts: [],
23
- },
24
- },
25
- });
22
+ const revision = Factory.build("resource_revision");
26
23
  const ctx = buildCtx(revision);
27
24
 
28
25
  const mockFind = jest
29
- .spyOn(ctx.client.pageRevisions, "find")
26
+ .spyOn(ctx.client.resourceRevisions, "find")
30
27
  .mockImplementation(() => revision);
31
28
 
32
29
  const result = await CodeHandler.edit_form(ctx);
33
30
 
34
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
31
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
35
32
 
36
33
  expect(result).toEqual({
37
34
  assigns: {
@@ -46,13 +43,13 @@ describe("Page revision code settings", () => {
46
43
  const ctx = buildCtx({ id: "42" });
47
44
 
48
45
  const mockFind = jest
49
- .spyOn(ctx.client.pageRevisions, "find")
46
+ .spyOn(ctx.client.resourceRevisions, "find")
50
47
  .mockImplementation(() => null);
51
48
 
52
49
  expect(async () => {
53
50
  await CodeHandler.edit_form(ctx);
54
51
  }).rejects.toThrow("Missing revision #42");
55
52
 
56
- expect(mockFind).toHaveBeenCalledWith("42", "en");
53
+ expect(mockFind).toHaveBeenCalledWith("42", "en", "article");
57
54
  });
58
55
  });
@@ -1,12 +1,12 @@
1
- import CodeHandler from "../../../../handlers/article_revisions/CodeHandler";
2
- import ArticleRevisions from "../../../../cloud/ArticleRevisions";
1
+ import CodeHandler from "../../../../handlers/resource_revisions/CodeHandler";
2
+ import ResourceRevisions from "../../../../cloud/ResourceRevisions";
3
3
 
4
4
  import Factory from "../../../support/factory";
5
5
 
6
6
  function buildCtx(revision, updateSettings) {
7
7
  return {
8
8
  client: {
9
- articleRevisions: new ArticleRevisions(() => ({}), "token"),
9
+ resourceRevisions: new ResourceRevisions(() => ({}), "token"),
10
10
  },
11
11
  params: { parent_id: revision.id },
12
12
  resourceParams: {
@@ -14,17 +14,15 @@ function buildCtx(revision, updateSettings) {
14
14
  },
15
15
  locale: "en",
16
16
  resourceConfig: {
17
- articleType: "article",
18
- articleTypePlural: "articles",
17
+ resourceType: "article",
18
+ resourceTypePlural: "articles",
19
19
  },
20
20
  };
21
21
  }
22
22
 
23
- describe("Article revision code settings", () => {
23
+ describe("Resource revision code settings", () => {
24
24
  test("update successful", async () => {
25
- const revision = Factory.build("article_revision", {
26
- publishAt: "2024-10-10T07:05:00Z",
27
- });
25
+ const revision = Factory.build("resource_revision");
28
26
 
29
27
  const updateSettings = {
30
28
  settings: {
@@ -38,35 +36,39 @@ describe("Article revision code settings", () => {
38
36
  const ctx = buildCtx(revision, updateSettings);
39
37
 
40
38
  const mockFind = jest
41
- .spyOn(ctx.client.articleRevisions, "find")
39
+ .spyOn(ctx.client.resourceRevisions, "find")
42
40
  .mockImplementation(() => revision);
43
41
 
44
42
  const mockUpdate = jest
45
- .spyOn(ctx.client.articleRevisions, "update")
43
+ .spyOn(ctx.client.resourceRevisions, "update")
46
44
  .mockImplementation(() => ({
47
- revision: {},
45
+ resource: {},
48
46
  errors: null,
49
47
  }));
50
48
 
51
49
  const result = await CodeHandler.update(ctx);
52
50
 
53
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
54
- expect(mockUpdate).toHaveBeenCalledWith(revision.id, "en", {
55
- slug: revision.slug,
56
- title: revision.title,
57
- visibility: revision.visibility,
58
- publishAt: revision.publishAt,
59
- widgets: revision.widgets,
60
- tags: revision.tags.map((t) => t.id),
61
- categories: revision.categories.map((c) => c.id),
62
- settings: {
63
- ...revision.settings,
64
- codes: {
65
- scripts: [{ type: "bla" }],
66
- structured_json: { type: "article" },
51
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
52
+ expect(mockUpdate).toHaveBeenCalledWith(
53
+ revision.id,
54
+ "en",
55
+ {
56
+ slug: revision.slug,
57
+ title: revision.title,
58
+ visibility: revision.visibility,
59
+ widgets: revision.widgets,
60
+ tags: revision.tags.map((t) => t.id),
61
+ categories: revision.categories.map((c) => c.id),
62
+ settings: {
63
+ ...revision.settings,
64
+ codes: {
65
+ scripts: [{ type: "bla" }],
66
+ structured_json: { type: "article" },
67
+ },
67
68
  },
68
69
  },
69
- });
70
+ "article"
71
+ );
70
72
 
71
73
  expect(result).toEqual({
72
74
  redirect: `/en/article_revisions/${revision.id}/codes/edit?success=1`,
@@ -74,9 +76,7 @@ describe("Article revision code settings", () => {
74
76
  });
75
77
 
76
78
  test("update failed", async () => {
77
- const revision = Factory.build("article_revision", {
78
- publishAt: "2024-10-10T07:05:00Z",
79
- });
79
+ const revision = Factory.build("resource_revision");
80
80
 
81
81
  const updateSettings = {
82
82
  settings: {
@@ -90,41 +90,24 @@ describe("Article revision code settings", () => {
90
90
  const ctx = buildCtx(revision, updateSettings);
91
91
 
92
92
  const mockFind = jest
93
- .spyOn(ctx.client.articleRevisions, "find")
93
+ .spyOn(ctx.client.resourceRevisions, "find")
94
94
  .mockImplementation(() => revision);
95
95
 
96
96
  const mockUpdate = jest
97
- .spyOn(ctx.client.articleRevisions, "update")
97
+ .spyOn(ctx.client.resourceRevisions, "update")
98
98
  .mockImplementation(() => ({
99
- revision: {},
99
+ resource: {},
100
100
  errors: [{ key: "generalError", message: "some error" }],
101
101
  }));
102
102
 
103
103
  const result = await CodeHandler.update(ctx);
104
104
 
105
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
106
- expect(mockUpdate).toHaveBeenCalledWith(revision.id, "en", {
107
- slug: revision.slug,
108
- title: revision.title,
109
- visibility: revision.visibility,
110
- publishAt: revision.publishAt,
111
- widgets: revision.widgets,
112
- tags: revision.tags.map((t) => t.id),
113
- categories: revision.categories.map((c) => c.id),
114
- settings: {
115
- ...revision.settings,
116
- codes: {
117
- scripts: [{ type: "bla" }],
118
- structured_json: { type: "article" },
119
- },
120
- },
121
- });
105
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
122
106
 
123
107
  expect(result).toEqual({
124
108
  assigns: {
125
109
  resource: {
126
110
  ...revision,
127
- publishAt: "2024-10-10",
128
111
  settings: {
129
112
  ...revision.settings,
130
113
  codes: {
@@ -142,20 +125,18 @@ describe("Article revision code settings", () => {
142
125
  });
143
126
 
144
127
  test("update when a revision does not exist", async () => {
145
- const revision = Factory.build("article_revision");
146
-
147
- const updateSettings = {};
128
+ const revision = Factory.build("resource_revision");
148
129
 
149
- const ctx = buildCtx(revision, updateSettings);
130
+ const ctx = buildCtx(revision, {});
150
131
 
151
132
  const mockFind = jest
152
- .spyOn(ctx.client.articleRevisions, "find")
133
+ .spyOn(ctx.client.resourceRevisions, "find")
153
134
  .mockImplementation(() => null);
154
135
 
155
136
  expect(async () => {
156
137
  await CodeHandler.update(ctx);
157
138
  }).rejects.toThrow(`Missing revision #${revision.id}`);
158
139
 
159
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
140
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
160
141
  });
161
142
  });
@@ -0,0 +1,58 @@
1
+ import GeneralHandler from "../../../../handlers/resource_revisions/GeneralHandler";
2
+ import ResourceRevisions from "../../../../cloud/ResourceRevisions";
3
+ import Resources from "../../../../cloud/Resources";
4
+
5
+ import Factory from "../../../support/factory";
6
+
7
+ function buildCtx(revision) {
8
+ return {
9
+ client: {
10
+ resourceRevisions: new ResourceRevisions(() => ({}), "token"),
11
+ resources: new Resources(() => ({}), "token"),
12
+ },
13
+ params: { parent_id: revision.id },
14
+ locale: "en",
15
+ resourceConfig: {
16
+ resourceType: "article",
17
+ resourceTypePlural: "articles",
18
+ },
19
+ };
20
+ }
21
+
22
+ describe("Resource revision general settings", () => {
23
+ test("edit_form when a revision exists", async () => {
24
+ const revision = Factory.build("resource_revision");
25
+ const ctx = buildCtx(revision);
26
+
27
+ const mockFind = jest
28
+ .spyOn(ctx.client.resourceRevisions, "find")
29
+ .mockImplementation(() => revision);
30
+
31
+ const result = await GeneralHandler.edit_form(ctx);
32
+
33
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
34
+
35
+ expect(result).toEqual({
36
+ assigns: {
37
+ resource: revision,
38
+ errors: {},
39
+ visibilityOptions: ctx.client.resources.visibilityOptions(),
40
+ _translations: [],
41
+ },
42
+ });
43
+ });
44
+
45
+ test("edit_form when a revision does not exist", async () => {
46
+ const ctx = buildCtx({ id: "42" });
47
+
48
+ const mockFind = jest
49
+ .spyOn(ctx.client.resourceRevisions, "find")
50
+ .mockImplementation(() => null);
51
+
52
+ expect(async () => {
53
+ await GeneralHandler.edit_form(ctx);
54
+ }).rejects.toThrow("Missing revision #42");
55
+
56
+ expect(mockFind).toHaveBeenCalledWith("42", "en", "article");
57
+ });
58
+ });
@@ -1,14 +1,14 @@
1
- import GeneralHandler from "../../../../handlers/article_revisions/GeneralHandler";
2
- import ArticleRevisions from "../../../../cloud/ArticleRevisions";
3
- import Articles from "../../../../cloud/Articles";
1
+ import GeneralHandler from "../../../../handlers/resource_revisions/GeneralHandler";
2
+ import ResourceRevisions from "../../../../cloud/ResourceRevisions";
3
+ import Resources from "../../../../cloud/Resources";
4
4
 
5
5
  import Factory from "../../../support/factory";
6
6
 
7
7
  function buildCtx(revision, updateSettings) {
8
8
  return {
9
9
  client: {
10
- articleRevisions: new ArticleRevisions(() => ({}), "token"),
11
- articles: new Articles(() => ({}), "token"),
10
+ resourceRevisions: new ResourceRevisions(() => ({}), "token"),
11
+ resources: new Resources(() => ({}), "token"),
12
12
  },
13
13
  params: { parent_id: revision.id },
14
14
  resourceParams: {
@@ -16,21 +16,20 @@ function buildCtx(revision, updateSettings) {
16
16
  },
17
17
  locale: "en",
18
18
  resourceConfig: {
19
- articleType: "article",
20
- articleTypePlural: "articles",
19
+ resourceType: "article",
20
+ resourceTypePlural: "articles",
21
21
  },
22
22
  };
23
23
  }
24
24
 
25
- describe("Article revision general settings", () => {
25
+ describe("Resource revision general settings", () => {
26
26
  test("update successful", async () => {
27
- const revision = Factory.build("article_revision");
27
+ const revision = Factory.build("resource_revision");
28
28
 
29
29
  const updateSettings = {
30
30
  title: "Updated title",
31
31
  slug: "/updated-url",
32
32
  visibility: "protected",
33
- publishAt: "2024-08-30",
34
33
  settings: {
35
34
  credentials: {
36
35
  user: "user",
@@ -42,32 +41,36 @@ describe("Article revision general settings", () => {
42
41
  const ctx = buildCtx(revision, updateSettings);
43
42
 
44
43
  const mockFind = jest
45
- .spyOn(ctx.client.articleRevisions, "find")
44
+ .spyOn(ctx.client.resourceRevisions, "find")
46
45
  .mockImplementation(() => revision);
47
46
 
48
47
  const mockUpdate = jest
49
- .spyOn(ctx.client.articleRevisions, "update")
48
+ .spyOn(ctx.client.resourceRevisions, "update")
50
49
  .mockImplementation(() => ({
51
- revision: {},
50
+ resource: {},
52
51
  errors: null,
53
52
  }));
54
53
 
55
54
  const result = await GeneralHandler.update(ctx);
56
55
 
57
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
58
- expect(mockUpdate).toHaveBeenCalledWith(revision.id, "en", {
59
- slug: updateSettings.slug,
60
- title: updateSettings.title,
61
- visibility: updateSettings.visibility,
62
- publishAt: "2024-08-30T00:00:00Z",
63
- widgets: revision.widgets,
64
- tags: revision.tags.map((t) => t.id),
65
- categories: revision.categories.map((c) => c.id),
66
- settings: {
67
- ...revision.settings,
68
- ...updateSettings.settings,
56
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
57
+ expect(mockUpdate).toHaveBeenCalledWith(
58
+ revision.id,
59
+ "en",
60
+ {
61
+ slug: updateSettings.slug,
62
+ title: updateSettings.title,
63
+ visibility: updateSettings.visibility,
64
+ widgets: revision.widgets,
65
+ tags: revision.tags.map((t) => t.id),
66
+ categories: revision.categories.map((c) => c.id),
67
+ settings: {
68
+ ...revision.settings,
69
+ ...updateSettings.settings,
70
+ },
69
71
  },
70
- });
72
+ "article"
73
+ );
71
74
 
72
75
  expect(result).toEqual({
73
76
  redirect: `/en/article_revisions/${revision.id}/general/edit?success=1`,
@@ -75,13 +78,12 @@ describe("Article revision general settings", () => {
75
78
  });
76
79
 
77
80
  test("update failed", async () => {
78
- const revision = Factory.build("article_revision");
81
+ const revision = Factory.build("resource_revision");
79
82
 
80
83
  const updateSettings = {
81
84
  title: "Updated title",
82
85
  slug: "/updated-url",
83
86
  visibility: "protected",
84
- publishAt: "2024-08-30",
85
87
  settings: {
86
88
  credentials: {
87
89
  user: "user",
@@ -93,32 +95,19 @@ describe("Article revision general settings", () => {
93
95
  const ctx = buildCtx(revision, updateSettings);
94
96
 
95
97
  const mockFind = jest
96
- .spyOn(ctx.client.articleRevisions, "find")
98
+ .spyOn(ctx.client.resourceRevisions, "find")
97
99
  .mockImplementation(() => revision);
98
100
 
99
101
  const mockUpdate = jest
100
- .spyOn(ctx.client.articleRevisions, "update")
102
+ .spyOn(ctx.client.resourceRevisions, "update")
101
103
  .mockImplementation(() => ({
102
- revision: {},
104
+ resource: {},
103
105
  errors: [{ key: "slug", message: "has invalid format" }],
104
106
  }));
105
107
 
106
108
  const result = await GeneralHandler.update(ctx);
107
109
 
108
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
109
- expect(mockUpdate).toHaveBeenCalledWith(revision.id, "en", {
110
- slug: updateSettings.slug,
111
- title: updateSettings.title,
112
- visibility: updateSettings.visibility,
113
- publishAt: "2024-08-30T00:00:00Z",
114
- widgets: revision.widgets,
115
- tags: revision.tags.map((t) => t.id),
116
- categories: revision.categories.map((c) => c.id),
117
- settings: {
118
- ...revision.settings,
119
- ...updateSettings.settings,
120
- },
121
- });
110
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
122
111
 
123
112
  expect(result).toEqual({
124
113
  assigns: {
@@ -127,7 +116,6 @@ describe("Article revision general settings", () => {
127
116
  slug: updateSettings.slug,
128
117
  title: updateSettings.title,
129
118
  visibility: updateSettings.visibility,
130
- publishAt: "2024-08-30",
131
119
  settings: {
132
120
  ...revision.settings,
133
121
  ...updateSettings.settings,
@@ -136,27 +124,25 @@ describe("Article revision general settings", () => {
136
124
  errors: {
137
125
  resource: { slug: "has invalid format" },
138
126
  },
139
- visibilityOptions: ctx.client.articles.visibilityOptions(),
127
+ visibilityOptions: ctx.client.resources.visibilityOptions(),
140
128
  _translations: [],
141
129
  },
142
130
  });
143
131
  });
144
132
 
145
133
  test("update when a revision does not exist", async () => {
146
- const revision = Factory.build("article_revision");
134
+ const revision = Factory.build("resource_revision");
147
135
 
148
- const updateSettings = {};
149
-
150
- const ctx = buildCtx(revision, updateSettings);
136
+ const ctx = buildCtx(revision, {});
151
137
 
152
138
  const mockFind = jest
153
- .spyOn(ctx.client.articleRevisions, "find")
139
+ .spyOn(ctx.client.resourceRevisions, "find")
154
140
  .mockImplementation(() => null);
155
141
 
156
142
  expect(async () => {
157
143
  await GeneralHandler.update(ctx);
158
144
  }).rejects.toThrow(`Missing revision #${revision.id}`);
159
145
 
160
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
146
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
161
147
  });
162
148
  });