@raketa-cloud/admin 1.8.3 → 1.8.6

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