@raketa-cloud/admin 1.8.4 → 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 (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
@@ -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,7 +7,7 @@ import Factory from "../../../support/factory";
7
7
  function buildCtx(revision, newWidgets) {
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 },
@@ -15,12 +15,16 @@ function buildCtx(revision, newWidgets) {
15
15
  widgets: newWidgets,
16
16
  },
17
17
  locale: "en",
18
+ resourceConfig: {
19
+ resourceType: "article",
20
+ resourceTypePlural: "articles",
21
+ },
18
22
  };
19
23
  }
20
24
 
21
- describe("WidgetHandler", () => {
25
+ describe("Resource revision WidgetHandler", () => {
22
26
  test("update successful", async () => {
23
- const revision = Factory.build("event_revision");
27
+ const revision = Factory.build("resource_revision");
24
28
  const settings = Factory.build("settings");
25
29
  const newWidgets = [
26
30
  {
@@ -33,7 +37,7 @@ describe("WidgetHandler", () => {
33
37
  const ctx = buildCtx(revision, newWidgets);
34
38
 
35
39
  const mockFind = jest
36
- .spyOn(ctx.client.eventRevisions, "find")
40
+ .spyOn(ctx.client.resourceRevisions, "find")
37
41
  .mockImplementation(() => revision);
38
42
 
39
43
  const mockSettings = jest
@@ -41,7 +45,7 @@ describe("WidgetHandler", () => {
41
45
  .mockImplementation(() => settings);
42
46
 
43
47
  const mockUpdate = jest
44
- .spyOn(ctx.client.eventRevisions, "updateWidgets")
48
+ .spyOn(ctx.client.resourceRevisions, "updateWidgets")
45
49
  .mockImplementation(() => ({
46
50
  revision: { ...revision, widgets: newWidgets },
47
51
  errors: [],
@@ -49,8 +53,13 @@ describe("WidgetHandler", () => {
49
53
 
50
54
  const result = await WidgetHandler.update(ctx);
51
55
 
52
- expect(mockUpdate).toHaveBeenCalledWith(revision.id, "en", newWidgets);
53
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
56
+ expect(mockUpdate).toHaveBeenCalledWith(
57
+ revision.id,
58
+ "en",
59
+ newWidgets,
60
+ "article"
61
+ );
62
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
54
63
  expect(mockSettings).toHaveBeenCalledWith("en");
55
64
 
56
65
  expect(result).toEqual({
@@ -66,7 +75,7 @@ describe("WidgetHandler", () => {
66
75
  });
67
76
 
68
77
  test("update failed", async () => {
69
- const revision = Factory.build("event_revision");
78
+ const revision = Factory.build("resource_revision");
70
79
  const newWidgets = [
71
80
  {
72
81
  component: "SectionTitle",
@@ -78,11 +87,11 @@ describe("WidgetHandler", () => {
78
87
  const ctx = buildCtx(revision, newWidgets);
79
88
 
80
89
  const mockFind = jest
81
- .spyOn(ctx.client.eventRevisions, "find")
90
+ .spyOn(ctx.client.resourceRevisions, "find")
82
91
  .mockImplementation(() => revision);
83
92
 
84
93
  const mockUpdate = jest
85
- .spyOn(ctx.client.eventRevisions, "updateWidgets")
94
+ .spyOn(ctx.client.resourceRevisions, "updateWidgets")
86
95
  .mockImplementation(() => ({
87
96
  revision: null,
88
97
  errors: [{ key: "widgets", message: "Wrong format" }],
@@ -90,8 +99,13 @@ describe("WidgetHandler", () => {
90
99
 
91
100
  const result = await WidgetHandler.update(ctx);
92
101
 
93
- expect(mockUpdate).toHaveBeenCalledWith(revision.id, "en", newWidgets);
94
- expect(mockFind).toHaveBeenCalledWith(revision.id, "en");
102
+ expect(mockUpdate).toHaveBeenCalledWith(
103
+ revision.id,
104
+ "en",
105
+ newWidgets,
106
+ "article"
107
+ );
108
+ expect(mockFind).toHaveBeenCalledWith(revision.id, "en", "article");
95
109
 
96
110
  expect(result).toEqual({
97
111
  json: {
@@ -0,0 +1,57 @@
1
+ import Resources from "../../../../cloud/Resources";
2
+ import ChangeHandler from "../../../../handlers/resources/ChangeHandler";
3
+
4
+ import Factory from "../../../support/factory";
5
+
6
+ describe("Resource ChangeHandler", () => {
7
+ function buildCtx(resource) {
8
+ return {
9
+ client: {
10
+ resources: new Resources(() => ({}), "token"),
11
+ },
12
+ params: { parent_id: resource.id },
13
+ query: { version: 49 },
14
+ locale: "en",
15
+ resourceConfig: {
16
+ resourceType: "article",
17
+ resourceTypePlural: "articles",
18
+ },
19
+ };
20
+ }
21
+
22
+ test("show for existing resource", async () => {
23
+ const resource = Factory.build("resource");
24
+ const ctx = buildCtx(resource);
25
+
26
+ const mockedGetChangePreview = jest
27
+ .spyOn(ctx.client.resources, "getChangePreview")
28
+ .mockImplementation(() => [resource]);
29
+
30
+ const result = await ChangeHandler.show(ctx);
31
+
32
+ expect(mockedGetChangePreview).toHaveBeenCalledWith(
33
+ resource.id,
34
+ 49,
35
+ "en",
36
+ "article"
37
+ );
38
+
39
+ expect(result).toEqual({
40
+ json: { ...[resource] },
41
+ });
42
+ });
43
+
44
+ test("show for non existing resource", async () => {
45
+ const ctx = buildCtx({ id: "42" });
46
+
47
+ const mockedGetChangePreview = jest
48
+ .spyOn(ctx.client.resources, "getChangePreview")
49
+ .mockImplementation(() => null);
50
+
51
+ expect(async () => {
52
+ await ChangeHandler.show(ctx);
53
+ }).rejects.toThrow("Missing article #42");
54
+
55
+ expect(mockedGetChangePreview).toHaveBeenCalledWith("42", 49, "en", "article");
56
+ });
57
+ });
@@ -0,0 +1,57 @@
1
+ import Resources from "../../../../cloud/Resources";
2
+ import ClonesHandler from "../../../../handlers/resources/ClonesHandler";
3
+ import Factory from "../../../support/factory";
4
+
5
+ function buildCtx(resource) {
6
+ return {
7
+ client: {
8
+ resources: new Resources(() => ({}), "token"),
9
+ },
10
+ params: { parent_id: resource.id },
11
+ locale: "en",
12
+ resourceConfig: {
13
+ resourceType: "article",
14
+ resourceTypePlural: "articles",
15
+ },
16
+ };
17
+ }
18
+
19
+ describe("Clone resource", () => {
20
+ test("clone successful", async () => {
21
+ const resource = Factory.build("resource");
22
+ const ctx = buildCtx(resource);
23
+
24
+ const mockClone = jest
25
+ .spyOn(ctx.client.resources, "clone")
26
+ .mockImplementation(() => ({ resource, errors: null }));
27
+
28
+ const result = await ClonesHandler.create(ctx);
29
+
30
+ expect(mockClone).toHaveBeenCalledWith(resource.id, "en", "article");
31
+
32
+ expect(result).toEqual({
33
+ redirect: "/en/articles",
34
+ });
35
+ });
36
+
37
+ test("clone failed", async () => {
38
+ const resource = Factory.build("resource");
39
+ const ctx = buildCtx(resource);
40
+
41
+ const errors = [{ key: "generalError", message: "some error" }];
42
+ const mockClone = jest
43
+ .spyOn(ctx.client.resources, "clone")
44
+ .mockImplementation(() => ({
45
+ resource: null,
46
+ errors,
47
+ }));
48
+
49
+ expect(async () => {
50
+ await ClonesHandler.create(ctx);
51
+ }).rejects.toThrow(
52
+ `Error cloning article: ${JSON.stringify(errors)}`
53
+ );
54
+
55
+ expect(mockClone).toHaveBeenCalledWith(resource.id, "en", "article");
56
+ });
57
+ });
@@ -1,48 +1,48 @@
1
- import DeletesHandler from "../../../../handlers/articles/DeletesHandler";
2
- import Articles from "../../../../cloud/Articles";
1
+ import DeletesHandler from "../../../../handlers/resources/DeletesHandler";
2
+ import Resources from "../../../../cloud/Resources";
3
3
  import Factory from "../../../support/factory";
4
4
  import { remoteConfig } from "../../../support/handlersHelper";
5
5
 
6
- function buildCtx(article, updateSettings) {
6
+ function buildCtx(resource, updateSettings) {
7
7
  return {
8
8
  client: {
9
- articles: new Articles(() => ({}), "token"),
9
+ resources: new Resources(() => ({}), "token"),
10
10
  },
11
- params: { parent_id: article.id },
11
+ params: { parent_id: resource.id },
12
12
  resourceParams: {
13
13
  resource: updateSettings,
14
14
  },
15
15
  locale: "en",
16
16
  remoteConfig: remoteConfig(),
17
17
  resourceConfig: {
18
- articleType: "article",
19
- articleTypePlural: "articles",
18
+ resourceType: "article",
19
+ resourceTypePlural: "articles",
20
20
  },
21
21
  };
22
22
  }
23
23
 
24
- describe("Article delete", () => {
24
+ describe("Resource delete", () => {
25
25
  test("create successful", async () => {
26
- const article = Factory.build("article");
26
+ const resource = Factory.build("resource");
27
27
  const updateSettings = {
28
28
  redirect: "301",
29
29
  destination: "/test-dest",
30
30
  };
31
- const ctx = buildCtx(article, updateSettings);
31
+ const ctx = buildCtx(resource, updateSettings);
32
32
 
33
33
  const mockFind = jest
34
- .spyOn(ctx.client.articles, "find")
35
- .mockImplementation(() => article);
34
+ .spyOn(ctx.client.resources, "find")
35
+ .mockImplementation(() => resource);
36
36
 
37
37
  const mockDelete = jest
38
- .spyOn(ctx.client.articles, "delete")
39
- .mockImplementation(() => ({ article, errors: null }));
38
+ .spyOn(ctx.client.resources, "delete")
39
+ .mockImplementation(() => ({ resource, errors: null }));
40
40
 
41
41
  const result = await DeletesHandler.create(ctx);
42
42
 
43
- expect(mockFind).toHaveBeenCalledWith(article.id, "en");
44
- expect(mockDelete).toHaveBeenCalledWith(article.id, "en", {
45
- url: `/en/blog/${article.slug}`,
43
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
44
+ expect(mockDelete).toHaveBeenCalledWith(resource.id, "en", "article", {
45
+ url: `/en/blog/${resource.slug}`,
46
46
  destination: updateSettings.destination,
47
47
  httpResponseCode: 301,
48
48
  note: "Created via article deletion process",
@@ -54,21 +54,21 @@ describe("Article delete", () => {
54
54
  });
55
55
 
56
56
  test("create failed due to redirect create", async () => {
57
- const article = Factory.build("article");
57
+ const resource = Factory.build("resource");
58
58
  const updateSettings = {
59
59
  redirect: "410",
60
60
  destination: "/test-dest",
61
61
  };
62
- const ctx = buildCtx(article, updateSettings);
62
+ const ctx = buildCtx(resource, updateSettings);
63
63
 
64
64
  const mockFind = jest
65
- .spyOn(ctx.client.articles, "find")
66
- .mockImplementation(() => article);
65
+ .spyOn(ctx.client.resources, "find")
66
+ .mockImplementation(() => resource);
67
67
 
68
68
  const mockDelete = jest
69
- .spyOn(ctx.client.articles, "delete")
69
+ .spyOn(ctx.client.resources, "delete")
70
70
  .mockImplementation(() => ({
71
- article: null,
71
+ resource: null,
72
72
  errors: [
73
73
  {
74
74
  codes: [],
@@ -80,9 +80,9 @@ describe("Article delete", () => {
80
80
 
81
81
  const result = await DeletesHandler.create(ctx);
82
82
 
83
- expect(mockFind).toHaveBeenCalledWith(article.id, "en");
84
- expect(mockDelete).toHaveBeenCalledWith(article.id, "en", {
85
- url: `/en/blog/${article.slug}`,
83
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
84
+ expect(mockDelete).toHaveBeenCalledWith(resource.id, "en", "article", {
85
+ url: `/en/blog/${resource.slug}`,
86
86
  destination: "/",
87
87
  httpResponseCode: 410,
88
88
  note: "Created via article deletion process",
@@ -90,7 +90,7 @@ describe("Article delete", () => {
90
90
 
91
91
  expect(result).toEqual({
92
92
  assigns: {
93
- resource: { ...updateSettings, id: article.id },
93
+ resource: { ...updateSettings, id: resource.id },
94
94
  errors: {
95
95
  resource: { redirect: "url: has already been taken" },
96
96
  },
@@ -99,17 +99,17 @@ describe("Article delete", () => {
99
99
  });
100
100
  });
101
101
 
102
- test("create for non existing article", async () => {
102
+ test("create for non existing resource", async () => {
103
103
  const ctx = buildCtx({ id: "42" }, {});
104
104
 
105
105
  const mockFind = jest
106
- .spyOn(ctx.client.articles, "find")
106
+ .spyOn(ctx.client.resources, "find")
107
107
  .mockImplementation(() => null);
108
108
 
109
109
  expect(async () => {
110
110
  await DeletesHandler.create(ctx);
111
111
  }).rejects.toThrow("Missing article #42");
112
112
 
113
- expect(mockFind).toHaveBeenCalledWith("42", "en");
113
+ expect(mockFind).toHaveBeenCalledWith("42", "en", "article");
114
114
  });
115
115
  });
@@ -0,0 +1,60 @@
1
+ import Resources from "../../../../cloud/Resources";
2
+ import DeletesHandler from "../../../../handlers/resources/DeletesHandler";
3
+ import Factory from "../../../support/factory";
4
+ import { remoteConfig } from "../../../support/handlersHelper";
5
+
6
+ function buildCtx(resource) {
7
+ return {
8
+ client: {
9
+ resources: new Resources(() => ({}), "token"),
10
+ },
11
+ params: { parent_id: resource.id },
12
+ locale: "en",
13
+ remoteConfig: remoteConfig(),
14
+ resourceConfig: {
15
+ resourceType: "article",
16
+ resourceTypePlural: "articles",
17
+ },
18
+ };
19
+ }
20
+
21
+ describe("Resource delete", () => {
22
+ test("create_form for existing resource", async () => {
23
+ const resource = Factory.build("resource");
24
+ const ctx = buildCtx(resource);
25
+
26
+ const mockFind = jest
27
+ .spyOn(ctx.client.resources, "find")
28
+ .mockImplementation(() => resource);
29
+
30
+ const result = await DeletesHandler.create_form(ctx);
31
+
32
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
33
+
34
+ expect(result).toEqual({
35
+ assigns: {
36
+ record: resource,
37
+ resource: {
38
+ id: resource.id,
39
+ redirect: "",
40
+ },
41
+ errors: {},
42
+ _translations: [],
43
+ },
44
+ });
45
+ });
46
+
47
+ test("create_form for non existing resource", async () => {
48
+ const ctx = buildCtx({ id: "42" });
49
+
50
+ const mockFind = jest
51
+ .spyOn(ctx.client.resources, "find")
52
+ .mockImplementation(() => null);
53
+
54
+ expect(async () => {
55
+ await DeletesHandler.create_form(ctx);
56
+ }).rejects.toThrow("Missing article #42");
57
+
58
+ expect(mockFind).toHaveBeenCalledWith("42", "en", "article");
59
+ });
60
+ });
@@ -1,16 +1,16 @@
1
- import ExportsHandler from "../../../../handlers/articles/ExportsHandler";
2
- import Articles from "../../../../cloud/Articles";
1
+ import ExportsHandler from "../../../../handlers/resources/ExportsHandler";
2
+ import Resources from "../../../../cloud/Resources";
3
3
 
4
- describe("Articles ExportsHandler", () => {
4
+ describe("Resources ExportsHandler", () => {
5
5
  function buildCtx(query = {}) {
6
6
  return {
7
7
  params: {},
8
- query: query,
8
+ query,
9
9
  client: {
10
- articles: new Articles(() => ({}), "token"),
10
+ resources: new Resources(() => ({}), "token"),
11
11
  },
12
12
  resourceConfig: {
13
- articleType: "article",
13
+ resourceType: "article",
14
14
  },
15
15
  remoteConfig: {
16
16
  resourceUrl: (item) => item.slug,
@@ -19,20 +19,20 @@ describe("Articles ExportsHandler", () => {
19
19
  }
20
20
 
21
21
  describe("index (exportCSV)", () => {
22
- test("exports articles to CSV with default locale", async () => {
23
- const mockArticles = [
22
+ test("exports resources to CSV with default locale", async () => {
23
+ const mockResources = [
24
24
  {
25
25
  id: 1,
26
- title: "Article 1",
27
- slug: "/article-1",
26
+ title: "Resource 1",
27
+ slug: "/resource-1",
28
28
  visibility: "public",
29
29
  insertedAt: "2024-01-01",
30
30
  updatedAt: "2024-01-02",
31
31
  },
32
32
  {
33
33
  id: 2,
34
- title: "Article 2",
35
- slug: "/article-2",
34
+ title: "Resource 2",
35
+ slug: "/resource-2",
36
36
  visibility: "private",
37
37
  insertedAt: "2024-01-03",
38
38
  updatedAt: "2024-01-04",
@@ -41,25 +41,25 @@ describe("Articles ExportsHandler", () => {
41
41
 
42
42
  const ctx = buildCtx({});
43
43
 
44
- const mockedlistAll = jest
45
- .spyOn(ctx.client.articles, "listAll")
46
- .mockImplementation(() => ({ list: mockArticles }));
44
+ const mockedListAll = jest
45
+ .spyOn(ctx.client.resources, "listAll")
46
+ .mockImplementation(() => ({ list: mockResources }));
47
47
 
48
48
  const mockDate = new Date("2024-08-30T10:30:00");
49
49
  jest.spyOn(global, "Date").mockImplementation(() => mockDate);
50
50
 
51
51
  const result = await ExportsHandler.index(ctx);
52
52
 
53
- expect(mockedlistAll).toHaveBeenCalledWith({}, "en", "article");
53
+ expect(mockedListAll).toHaveBeenCalledWith({}, "en", "article");
54
54
 
55
55
  expect(result.text).toContain(
56
- "id,type,locale,title,URL,visibility,created_at,updated_at",
56
+ "id,type,locale,title,URL,visibility,created_at,updated_at"
57
57
  );
58
58
  expect(result.text).toContain(
59
- "1,article,en,Article 1,/article-1,public,2024-01-01,2024-01-02",
59
+ "1,article,en,Resource 1,/resource-1,public,2024-01-01,2024-01-02"
60
60
  );
61
61
  expect(result.text).toContain(
62
- "2,article,en,Article 2,/article-2,private,2024-01-03,2024-01-04",
62
+ "2,article,en,Resource 2,/resource-2,private,2024-01-03,2024-01-04"
63
63
  );
64
64
 
65
65
  expect(result.headers).toEqual({
@@ -71,12 +71,12 @@ describe("Articles ExportsHandler", () => {
71
71
  global.Date.mockRestore();
72
72
  });
73
73
 
74
- test("exports articles to CSV with specified locale", async () => {
75
- const mockArticles = [
74
+ test("exports resources to CSV with specified locale", async () => {
75
+ const mockResources = [
76
76
  {
77
77
  id: 1,
78
- title: "Artículo 1",
79
- slug: "/articulo-1",
78
+ title: "Recurso 1",
79
+ slug: "/recurso-1",
80
80
  visibility: "public",
81
81
  insertedAt: "2024-01-01",
82
82
  updatedAt: "2024-01-02",
@@ -85,37 +85,37 @@ describe("Articles ExportsHandler", () => {
85
85
 
86
86
  const ctx = buildCtx({ locale: "es" });
87
87
 
88
- const mockedlistAll = jest
89
- .spyOn(ctx.client.articles, "listAll")
90
- .mockImplementation(() => ({ list: mockArticles }));
88
+ const mockedListAll = jest
89
+ .spyOn(ctx.client.resources, "listAll")
90
+ .mockImplementation(() => ({ list: mockResources }));
91
91
 
92
92
  const result = await ExportsHandler.index(ctx);
93
93
 
94
- expect(mockedlistAll).toHaveBeenCalledWith(
94
+ expect(mockedListAll).toHaveBeenCalledWith(
95
95
  { locale: "es" },
96
96
  "es",
97
- "article",
97
+ "article"
98
98
  );
99
99
 
100
100
  expect(result.text).toContain(
101
- "1,article,es,Artículo 1,/articulo-1,public,2024-01-01,2024-01-02",
101
+ "1,article,es,Recurso 1,/recurso-1,public,2024-01-01,2024-01-02"
102
102
  );
103
103
  });
104
104
 
105
- test("exports articles with CSV special characters properly escaped", async () => {
106
- const mockArticles = [
105
+ test("exports resources with CSV special characters properly escaped", async () => {
106
+ const mockResources = [
107
107
  {
108
108
  id: 1,
109
- title: 'Article with, comma and "quotes"',
110
- slug: "/article-1",
109
+ title: 'Resource with, comma and "quotes"',
110
+ slug: "/resource-1",
111
111
  visibility: "public",
112
112
  insertedAt: "2024-01-01",
113
113
  updatedAt: "2024-01-02",
114
114
  },
115
115
  {
116
116
  id: 2,
117
- title: "Article with\nnewline",
118
- slug: "/article-2",
117
+ title: "Resource with\nnewline",
118
+ slug: "/resource-2",
119
119
  visibility: "private",
120
120
  insertedAt: "2024-01-03",
121
121
  updatedAt: "2024-01-04",
@@ -125,26 +125,26 @@ describe("Articles ExportsHandler", () => {
125
125
  const ctx = buildCtx({});
126
126
 
127
127
  jest
128
- .spyOn(ctx.client.articles, "listAll")
129
- .mockImplementation(() => ({ list: mockArticles }));
128
+ .spyOn(ctx.client.resources, "listAll")
129
+ .mockImplementation(() => ({ list: mockResources }));
130
130
 
131
131
  const result = await ExportsHandler.index(ctx);
132
132
 
133
- expect(result.text).toContain('"Article with, comma and ""quotes"""');
134
- expect(result.text).toContain('"Article with\nnewline"');
133
+ expect(result.text).toContain('"Resource with, comma and ""quotes"""');
134
+ expect(result.text).toContain('"Resource with\nnewline"');
135
135
  });
136
136
 
137
- test("exports empty list when no articles found", async () => {
137
+ test("exports empty list when no resources found", async () => {
138
138
  const ctx = buildCtx({});
139
139
 
140
140
  jest
141
- .spyOn(ctx.client.articles, "listAll")
141
+ .spyOn(ctx.client.resources, "listAll")
142
142
  .mockImplementation(() => ({ list: [] }));
143
143
 
144
144
  const result = await ExportsHandler.index(ctx);
145
145
 
146
146
  expect(result.text).toBe(
147
- "id,type,locale,title,URL,visibility,created_at,updated_at,translations",
147
+ "id,type,locale,title,URL,visibility,created_at,updated_at,translations"
148
148
  );
149
149
  });
150
150
 
@@ -157,21 +157,21 @@ describe("Articles ExportsHandler", () => {
157
157
 
158
158
  const ctx = buildCtx(query);
159
159
 
160
- const mockedlistAll = jest
161
- .spyOn(ctx.client.articles, "listAll")
160
+ const mockedListAll = jest
161
+ .spyOn(ctx.client.resources, "listAll")
162
162
  .mockImplementation(() => ({ list: [] }));
163
163
 
164
164
  await ExportsHandler.index(ctx);
165
165
 
166
- expect(mockedlistAll).toHaveBeenCalledWith(query, "en", "article");
166
+ expect(mockedListAll).toHaveBeenCalledWith(query, "en", "article");
167
167
  });
168
168
 
169
- test("uses articleType from resourceConfig", async () => {
169
+ test("uses resourceType from resourceConfig", async () => {
170
170
  const ctx = buildCtx({});
171
- ctx.resourceConfig.articleType = "custom-article-type";
171
+ ctx.resourceConfig.resourceType = "custom-resource-type";
172
172
 
173
- const mockedlistAll = jest
174
- .spyOn(ctx.client.articles, "listAll")
173
+ const mockedListAll = jest
174
+ .spyOn(ctx.client.resources, "listAll")
175
175
  .mockImplementation(() => ({ list: [] }));
176
176
 
177
177
  const mockDate = new Date("2024-08-30T10:30:00");
@@ -179,24 +179,24 @@ describe("Articles ExportsHandler", () => {
179
179
 
180
180
  const result = await ExportsHandler.index(ctx);
181
181
 
182
- expect(mockedlistAll).toHaveBeenCalledWith(
182
+ expect(mockedListAll).toHaveBeenCalledWith(
183
183
  {},
184
184
  "en",
185
- "custom-article-type",
185
+ "custom-resource-type"
186
186
  );
187
187
 
188
188
  expect(result.headers["Content-Disposition"]).toContain(
189
- "custom-article-type_export.csv",
189
+ "custom-resource-type_export.csv"
190
190
  );
191
191
 
192
192
  global.Date.mockRestore();
193
193
  });
194
194
 
195
195
  test("exports all results without pagination", async () => {
196
- const mockArticles = Array.from({ length: 150 }, (_, i) => ({
196
+ const mockResources = Array.from({ length: 150 }, (_, i) => ({
197
197
  id: i + 1,
198
- title: `Article ${i + 1}`,
199
- slug: `/article-${i + 1}`,
198
+ title: `Resource ${i + 1}`,
199
+ slug: `/resource-${i + 1}`,
200
200
  visibility: "public",
201
201
  insertedAt: "2024-01-01",
202
202
  updatedAt: "2024-01-02",
@@ -205,8 +205,8 @@ describe("Articles ExportsHandler", () => {
205
205
  const ctx = buildCtx({});
206
206
 
207
207
  jest
208
- .spyOn(ctx.client.articles, "listAll")
209
- .mockImplementation(() => ({ list: mockArticles }));
208
+ .spyOn(ctx.client.resources, "listAll")
209
+ .mockImplementation(() => ({ list: mockResources }));
210
210
 
211
211
  const result = await ExportsHandler.index(ctx);
212
212