@raketa-cloud/admin 0.0.100 → 0.0.102

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 (377) hide show
  1. package/dist/application.css +3804 -0
  2. package/package.json +6 -2
  3. package/babel.config.js +0 -6
  4. package/bin/tailwind +0 -2
  5. package/jest.config.js +0 -22
  6. package/src/Adapter.js +0 -265
  7. package/src/HonoAdapter.js +0 -269
  8. package/src/Logger.js +0 -21
  9. package/src/RaketaContext.js +0 -46
  10. package/src/buildResourcePath.js +0 -22
  11. package/src/cipher.js +0 -49
  12. package/src/cloud/ArticleChanges.js +0 -36
  13. package/src/cloud/ArticleRevisions.js +0 -239
  14. package/src/cloud/Articles.js +0 -194
  15. package/src/cloud/Categories.js +0 -97
  16. package/src/cloud/EventChanges.js +0 -36
  17. package/src/cloud/EventRevisions.js +0 -246
  18. package/src/cloud/Events.js +0 -204
  19. package/src/cloud/PageChanges.js +0 -36
  20. package/src/cloud/PageRevisions.js +0 -226
  21. package/src/cloud/Pages.js +0 -185
  22. package/src/cloud/RaketaClient.js +0 -223
  23. package/src/cloud/Redirects.js +0 -81
  24. package/src/cloud/Settings.js +0 -28
  25. package/src/cloud/Tags.js +0 -80
  26. package/src/cloud/documents/articlesDocuments.js +0 -343
  27. package/src/cloud/documents/categoryDocuments.js +0 -52
  28. package/src/cloud/documents/common.js +0 -133
  29. package/src/cloud/documents/eventsDocuments.js +0 -351
  30. package/src/cloud/documents/pagesDocuments.js +0 -339
  31. package/src/cloud/documents/redirectsDocuments.js +0 -82
  32. package/src/cloud/documents/settingsDocuments.js +0 -23
  33. package/src/cloud/documents/tagsDocuments.js +0 -63
  34. package/src/currentPath.cjs +0 -1
  35. package/src/handlers/DashboardsHandler.js +0 -9
  36. package/src/handlers/RedirectsHandler.js +0 -124
  37. package/src/handlers/TagsHandler.js +0 -113
  38. package/src/handlers/_shared/SettingsHandler.js +0 -36
  39. package/src/handlers/article_revisions/ArticleRevisionsHandler.js +0 -49
  40. package/src/handlers/article_revisions/CancelSchedulesHandler.js +0 -26
  41. package/src/handlers/article_revisions/CodeHandler.js +0 -74
  42. package/src/handlers/article_revisions/GeneralHandler.js +0 -76
  43. package/src/handlers/article_revisions/LocksHandler.js +0 -77
  44. package/src/handlers/article_revisions/MetaHandler.js +0 -74
  45. package/src/handlers/article_revisions/PublishesHandler.js +0 -120
  46. package/src/handlers/article_revisions/RevertsHandler.js +0 -28
  47. package/src/handlers/article_revisions/TagHandler.js +0 -82
  48. package/src/handlers/article_revisions/UnlocksHandler.js +0 -24
  49. package/src/handlers/article_revisions/VisualHandler.js +0 -74
  50. package/src/handlers/article_revisions/WidgetHandler.js +0 -47
  51. package/src/handlers/articles/ArticlesHandler.js +0 -109
  52. package/src/handlers/articles/ClonesHandler.js +0 -19
  53. package/src/handlers/articles/DeletesHandler.js +0 -72
  54. package/src/handlers/articles/HistoryHandler.js +0 -31
  55. package/src/handlers/articles/TranslationsHandler.js +0 -231
  56. package/src/handlers/articles/URLsHandler.js +0 -83
  57. package/src/handlers/categories/index.js +0 -122
  58. package/src/handlers/event_revisions/CancelSchedulesHandler.js +0 -26
  59. package/src/handlers/event_revisions/CodeHandler.js +0 -72
  60. package/src/handlers/event_revisions/EventRevisionsHandler.js +0 -47
  61. package/src/handlers/event_revisions/GeneralHandler.js +0 -74
  62. package/src/handlers/event_revisions/LocksHandler.js +0 -65
  63. package/src/handlers/event_revisions/MetaHandler.js +0 -72
  64. package/src/handlers/event_revisions/PublishesHandler.js +0 -112
  65. package/src/handlers/event_revisions/RevertsHandler.js +0 -26
  66. package/src/handlers/event_revisions/TagHandler.js +0 -79
  67. package/src/handlers/event_revisions/UnlocksHandler.js +0 -24
  68. package/src/handlers/event_revisions/VisualHandler.js +0 -72
  69. package/src/handlers/event_revisions/WidgetHandler.js +0 -41
  70. package/src/handlers/events/ClonesHandler.js +0 -19
  71. package/src/handlers/events/DeletesHandler.js +0 -72
  72. package/src/handlers/events/EventsHandler.js +0 -111
  73. package/src/handlers/events/HistoryHandler.js +0 -31
  74. package/src/handlers/events/TranslationsHandler.js +0 -233
  75. package/src/handlers/events/URLsHandler.js +0 -81
  76. package/src/handlers/page_revisions/CancelSchedulesHandler.js +0 -26
  77. package/src/handlers/page_revisions/CodeHandler.js +0 -57
  78. package/src/handlers/page_revisions/GeneralHandler.js +0 -59
  79. package/src/handlers/page_revisions/LocksHandler.js +0 -69
  80. package/src/handlers/page_revisions/MetaHandler.js +0 -57
  81. package/src/handlers/page_revisions/PageRevisionsHandler.js +0 -47
  82. package/src/handlers/page_revisions/PublishesHandler.js +0 -112
  83. package/src/handlers/page_revisions/RevertsHandler.js +0 -26
  84. package/src/handlers/page_revisions/TagHandler.js +0 -105
  85. package/src/handlers/page_revisions/UnlocksHandler.js +0 -22
  86. package/src/handlers/page_revisions/VisualHandler.js +0 -58
  87. package/src/handlers/page_revisions/WidgetHandler.js +0 -41
  88. package/src/handlers/pages/ClonesHandler.js +0 -19
  89. package/src/handlers/pages/DeletesHandler.js +0 -68
  90. package/src/handlers/pages/HistoryHandler.js +0 -31
  91. package/src/handlers/pages/PagesHandler.js +0 -104
  92. package/src/handlers/pages/TranslationsHandler.js +0 -233
  93. package/src/handlers/pages/URLsHandler.js +0 -77
  94. package/src/helpers/AuthHelper.js +0 -49
  95. package/src/helpers/FormBuilder.js +0 -438
  96. package/src/helpers/HTMLBuilder.js +0 -38
  97. package/src/helpers/Inflector.js +0 -9
  98. package/src/helpers/Pagination.js +0 -92
  99. package/src/helpers/SortButton.js +0 -102
  100. package/src/helpers/form_for.js +0 -8
  101. package/src/helpers/historyUtils.js +0 -133
  102. package/src/helpers/pagination_helper.js +0 -5
  103. package/src/helpers/sort_button.js +0 -5
  104. package/src/helpers/utils.js +0 -21
  105. package/src/routeArticlesModule.js +0 -151
  106. package/src/routeCategoriesModule.js +0 -16
  107. package/src/routeCollection.js +0 -90
  108. package/src/routeEventsModule.js +0 -166
  109. package/src/routeMember.js +0 -40
  110. package/src/routeNestedCollection.js +0 -96
  111. package/src/routeNestedMember.js +0 -46
  112. package/src/routePagesModule.js +0 -163
  113. package/src/routeSettings.js +0 -14
  114. package/src/routeStandard.js +0 -35
  115. package/src/setGlobalContext.js +0 -5
  116. package/src/setupAuthentication.js +0 -154
  117. package/src/setupCloud.js +0 -50
  118. package/src/styles/application.css +0 -561
  119. package/src/tests/Adapter.test.js +0 -39
  120. package/src/tests/HonoAdapter.test.js +0 -34
  121. package/src/tests/Logger.test.js +0 -33
  122. package/src/tests/handlers/DashboardsHandler.test/index.test.js +0 -17
  123. package/src/tests/handlers/RedirectsHandler.test/create.test.js +0 -83
  124. package/src/tests/handlers/RedirectsHandler.test/create_form.test.js +0 -27
  125. package/src/tests/handlers/RedirectsHandler.test/destroy.test.js +0 -53
  126. package/src/tests/handlers/RedirectsHandler.test/edit_form.test.js +0 -37
  127. package/src/tests/handlers/RedirectsHandler.test/index.test.js +0 -41
  128. package/src/tests/handlers/RedirectsHandler.test/show.test.js +0 -41
  129. package/src/tests/handlers/RedirectsHandler.test/update.test.js +0 -88
  130. package/src/tests/handlers/TagsHandler.test/create.test.js +0 -96
  131. package/src/tests/handlers/TagsHandler.test/create_form.test.js +0 -25
  132. package/src/tests/handlers/TagsHandler.test/destroy.test.js +0 -51
  133. package/src/tests/handlers/TagsHandler.test/edit_form.test.js +0 -60
  134. package/src/tests/handlers/TagsHandler.test/index.test.js +0 -37
  135. package/src/tests/handlers/TagsHandler.test/update.test.js +0 -105
  136. package/src/tests/handlers/_shared/SettingsHandler.test/edit_form.test.js +0 -36
  137. package/src/tests/handlers/_shared/SettingsHandler.test/update.test.js +0 -114
  138. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +0 -79
  139. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/destroy.test.js +0 -57
  140. package/src/tests/handlers/article_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  141. package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +0 -56
  142. package/src/tests/handlers/article_revisions/CodesHandler.test/update.test.js +0 -161
  143. package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +0 -59
  144. package/src/tests/handlers/article_revisions/GeneralHandler.test/update.test.js +0 -162
  145. package/src/tests/handlers/article_revisions/LocksHandler.test/create.test.js +0 -142
  146. package/src/tests/handlers/article_revisions/LocksHandler.test/create_form.test.js +0 -55
  147. package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +0 -56
  148. package/src/tests/handlers/article_revisions/MetaHandler.test/update.test.js +0 -163
  149. package/src/tests/handlers/article_revisions/PublishesHandler.test/create.test.js +0 -333
  150. package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +0 -48
  151. package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +0 -86
  152. package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +0 -72
  153. package/src/tests/handlers/article_revisions/TagHandler.test/update.test.js +0 -153
  154. package/src/tests/handlers/article_revisions/UnlocksHandler.test/create.test.js +0 -84
  155. package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +0 -56
  156. package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +0 -146
  157. package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +0 -46
  158. package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +0 -103
  159. package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +0 -172
  160. package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +0 -44
  161. package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +0 -57
  162. package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +0 -109
  163. package/src/tests/handlers/articles/ArticlesHistoryHandler.test/index.test.js +0 -87
  164. package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +0 -57
  165. package/src/tests/handlers/articles/DeletesHandler.test/create.test.js +0 -115
  166. package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +0 -60
  167. package/src/tests/handlers/articles/TranslationHandler.test/create.test.js +0 -297
  168. package/src/tests/handlers/articles/TranslationHandler.test/create_form.test.js +0 -71
  169. package/src/tests/handlers/articles/TranslationHandler.test/index.test.js +0 -91
  170. package/src/tests/handlers/articles/URLsHandler.test/create.test.js +0 -160
  171. package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +0 -55
  172. package/src/tests/handlers/categories/create.test.js +0 -94
  173. package/src/tests/handlers/categories/create_form.test.js +0 -26
  174. package/src/tests/handlers/categories/destroy.test.js +0 -57
  175. package/src/tests/handlers/categories/edit_form.test.js +0 -59
  176. package/src/tests/handlers/categories/index.test.js +0 -46
  177. package/src/tests/handlers/categories/update.test.js +0 -88
  178. package/src/tests/handlers/event_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  179. package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +0 -60
  180. package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +0 -171
  181. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +0 -79
  182. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +0 -57
  183. package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +0 -63
  184. package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +0 -172
  185. package/src/tests/handlers/event_revisions/LocksHandler.test/create.test.js +0 -142
  186. package/src/tests/handlers/event_revisions/LocksHandler.test/create_form.test.js +0 -55
  187. package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +0 -60
  188. package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +0 -173
  189. package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +0 -333
  190. package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +0 -48
  191. package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +0 -83
  192. package/src/tests/handlers/event_revisions/TagHandler.test/edit_form.test.js +0 -76
  193. package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +0 -163
  194. package/src/tests/handlers/event_revisions/UnlocksHandler.test/create.test.js +0 -84
  195. package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +0 -60
  196. package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +0 -156
  197. package/src/tests/handlers/event_revisions/WidgetHandler.test/show.test.js +0 -46
  198. package/src/tests/handlers/event_revisions/WidgetHandler.test/update.test.js +0 -103
  199. package/src/tests/handlers/events/ClonesHandler.test/create.test.js +0 -57
  200. package/src/tests/handlers/events/DeletesHandler.test/create.test.js +0 -115
  201. package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +0 -60
  202. package/src/tests/handlers/events/EventsHandler.test/create.test.js +0 -172
  203. package/src/tests/handlers/events/EventsHandler.test/create_form.test.js +0 -45
  204. package/src/tests/handlers/events/EventsHandler.test/index.test.js +0 -53
  205. package/src/tests/handlers/events/EventsHandler.test/show.test.js +0 -109
  206. package/src/tests/handlers/events/EventsHistoryHandler.test/index.test.js +0 -87
  207. package/src/tests/handlers/events/TranslationHandler.test/create.test.js +0 -303
  208. package/src/tests/handlers/events/TranslationHandler.test/create_form.test.js +0 -71
  209. package/src/tests/handlers/events/TranslationHandler.test/index.test.js +0 -91
  210. package/src/tests/handlers/events/URLsHandler.test/create.test.js +0 -160
  211. package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +0 -55
  212. package/src/tests/handlers/page_revisions/CancelScheduledHandler.test/create.test.js +0 -86
  213. package/src/tests/handlers/page_revisions/CodesHandler.test/edit_form.test.js +0 -58
  214. package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +0 -154
  215. package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +0 -54
  216. package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +0 -166
  217. package/src/tests/handlers/page_revisions/LocksHandler.test/create.test.js +0 -138
  218. package/src/tests/handlers/page_revisions/LocksHandler.test/create_form.test.js +0 -55
  219. package/src/tests/handlers/page_revisions/MetaHandler.test/edit_form.test.js +0 -51
  220. package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +0 -159
  221. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +0 -71
  222. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +0 -57
  223. package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +0 -333
  224. package/src/tests/handlers/page_revisions/PublishesHandler.test/create_form.test.js +0 -48
  225. package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +0 -83
  226. package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +0 -100
  227. package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +0 -180
  228. package/src/tests/handlers/page_revisions/UnlocksHandler.test/create.test.js +0 -80
  229. package/src/tests/handlers/page_revisions/VisualHandler.test.test/edit_form.test.js +0 -58
  230. package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +0 -139
  231. package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +0 -46
  232. package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +0 -103
  233. package/src/tests/handlers/pages/ConesHandler.test/create.test.js +0 -57
  234. package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +0 -115
  235. package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +0 -60
  236. package/src/tests/handlers/pages/PagesHandler.test/create.test.js +0 -167
  237. package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +0 -41
  238. package/src/tests/handlers/pages/PagesHandler.test/index.test.js +0 -53
  239. package/src/tests/handlers/pages/PagesHandler.test/show.test.js +0 -107
  240. package/src/tests/handlers/pages/PagesHistoryHandler.test/index.test.js +0 -87
  241. package/src/tests/handlers/pages/TranslationHandler.test/create.test.js +0 -290
  242. package/src/tests/handlers/pages/TranslationHandler.test/create_form.test.js +0 -71
  243. package/src/tests/handlers/pages/TranslationHandler.test/index.test.js +0 -87
  244. package/src/tests/handlers/pages/URLsHandler.test/create.test.js +0 -160
  245. package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +0 -58
  246. package/src/tests/helpers/AuthHelper.test.js +0 -169
  247. package/src/tests/helpers/FormBuildert.test.js +0 -357
  248. package/src/tests/helpers/HTMLBuilder.test.js +0 -44
  249. package/src/tests/helpers/Inflector.test.js +0 -75
  250. package/src/tests/helpers/Pagination.test.js +0 -65
  251. package/src/tests/helpers/SortButton.test.js +0 -85
  252. package/src/tests/helpers/historyUtils.test.js +0 -107
  253. package/src/tests/helpers/utils.test.js +0 -27
  254. package/src/tests/routeCollection.test.js +0 -163
  255. package/src/tests/routeMember.test.js +0 -97
  256. package/src/tests/routeNestedCollection.test.js +0 -182
  257. package/src/tests/routeNestedMember.test.js +0 -102
  258. package/src/tests/support/factory.js +0 -194
  259. package/src/tests/support/handlersHelper.js +0 -31
  260. package/src/utils.js +0 -30
  261. package/src/views/_auth/login.ejs +0 -82
  262. package/src/views/_shared/_credentials_input.ejs +0 -31
  263. package/src/views/_shared/_layout_input.ejs +0 -5
  264. package/src/views/_shared/_scripts_input.ejs +0 -5
  265. package/src/views/_shared/_structured_json_input.ejs +0 -7
  266. package/src/views/article_revisions/_nav.ejs +0 -44
  267. package/src/views/article_revisions/codes/_form.ejs +0 -13
  268. package/src/views/article_revisions/codes/edit_form.ejs +0 -16
  269. package/src/views/article_revisions/general/_form.ejs +0 -17
  270. package/src/views/article_revisions/general/edit_form.ejs +0 -16
  271. package/src/views/article_revisions/locks/_form.ejs +0 -11
  272. package/src/views/article_revisions/locks/create_form.ejs +0 -27
  273. package/src/views/article_revisions/meta/_form.ejs +0 -15
  274. package/src/views/article_revisions/meta/edit_form.ejs +0 -16
  275. package/src/views/article_revisions/publishes/_form.ejs +0 -70
  276. package/src/views/article_revisions/publishes/create_form.ejs +0 -9
  277. package/src/views/article_revisions/tags/_form.ejs +0 -12
  278. package/src/views/article_revisions/tags/edit_form.ejs +0 -16
  279. package/src/views/article_revisions/visuals/_form.ejs +0 -12
  280. package/src/views/article_revisions/visuals/edit_form.ejs +0 -16
  281. package/src/views/articles/_form.ejs +0 -45
  282. package/src/views/articles/_shared/_history_toolbar.ejs +0 -24
  283. package/src/views/articles/_shared/_revision_toolbar.ejs +0 -68
  284. package/src/views/articles/_shared/_title.ejs +0 -11
  285. package/src/views/articles/_shared/_toolbar.ejs +0 -33
  286. package/src/views/articles/_shared/history_table.ejs +0 -68
  287. package/src/views/articles/create_form.ejs +0 -9
  288. package/src/views/articles/deletes/create_form.ejs +0 -68
  289. package/src/views/articles/history/index.ejs +0 -87
  290. package/src/views/articles/index.ejs +0 -171
  291. package/src/views/articles/show.ejs +0 -234
  292. package/src/views/articles/translations/_translation_toolbar.ejs +0 -18
  293. package/src/views/articles/translations/create_form.ejs +0 -75
  294. package/src/views/articles/translations/index.ejs +0 -39
  295. package/src/views/articles/urls/create_form.ejs +0 -36
  296. package/src/views/categories/_form.ejs +0 -24
  297. package/src/views/categories/create_form.ejs +0 -9
  298. package/src/views/categories/edit_form.ejs +0 -9
  299. package/src/views/categories/index.ejs +0 -35
  300. package/src/views/dashboard/index.ejs +0 -23
  301. package/src/views/event_revisions/_nav.ejs +0 -44
  302. package/src/views/event_revisions/codes/_form.ejs +0 -13
  303. package/src/views/event_revisions/codes/edit_form.ejs +0 -16
  304. package/src/views/event_revisions/general/_form.ejs +0 -19
  305. package/src/views/event_revisions/general/edit_form.ejs +0 -16
  306. package/src/views/event_revisions/locks/_form.ejs +0 -11
  307. package/src/views/event_revisions/locks/create_form.ejs +0 -27
  308. package/src/views/event_revisions/meta/_form.ejs +0 -15
  309. package/src/views/event_revisions/meta/edit_form.ejs +0 -16
  310. package/src/views/event_revisions/publishes/_form.ejs +0 -77
  311. package/src/views/event_revisions/publishes/create_form.ejs +0 -9
  312. package/src/views/event_revisions/tags/_form.ejs +0 -12
  313. package/src/views/event_revisions/tags/edit_form.ejs +0 -16
  314. package/src/views/event_revisions/visuals/_form.ejs +0 -12
  315. package/src/views/event_revisions/visuals/edit_form.ejs +0 -16
  316. package/src/views/events/_form.ejs +0 -47
  317. package/src/views/events/_shared/_history_toolbar.ejs +0 -24
  318. package/src/views/events/_shared/_revision_toolbar.ejs +0 -68
  319. package/src/views/events/_shared/_title.ejs +0 -12
  320. package/src/views/events/_shared/_toolbar.ejs +0 -33
  321. package/src/views/events/_shared/history_table.ejs +0 -68
  322. package/src/views/events/create_form.ejs +0 -9
  323. package/src/views/events/deletes/create_form.ejs +0 -68
  324. package/src/views/events/history/index.ejs +0 -87
  325. package/src/views/events/index.ejs +0 -171
  326. package/src/views/events/show.ejs +0 -234
  327. package/src/views/events/translations/_translation_toolbar.ejs +0 -18
  328. package/src/views/events/translations/create_form.ejs +0 -75
  329. package/src/views/events/translations/index.ejs +0 -39
  330. package/src/views/events/urls/create_form.ejs +0 -36
  331. package/src/views/layouts/application.ejs +0 -239
  332. package/src/views/layouts/header.ejs +0 -47
  333. package/src/views/page_revisions/_nav.ejs +0 -44
  334. package/src/views/page_revisions/codes/_form.ejs +0 -13
  335. package/src/views/page_revisions/codes/edit_form.ejs +0 -16
  336. package/src/views/page_revisions/general/_form.ejs +0 -16
  337. package/src/views/page_revisions/general/edit_form.ejs +0 -16
  338. package/src/views/page_revisions/locks/_form.ejs +0 -11
  339. package/src/views/page_revisions/locks/create_form.ejs +0 -27
  340. package/src/views/page_revisions/meta/_form.ejs +0 -15
  341. package/src/views/page_revisions/meta/edit_form.ejs +0 -16
  342. package/src/views/page_revisions/publishes/_form.ejs +0 -76
  343. package/src/views/page_revisions/publishes/create_form.ejs +0 -9
  344. package/src/views/page_revisions/tags/_form.ejs +0 -12
  345. package/src/views/page_revisions/tags/edit_form.ejs +0 -21
  346. package/src/views/page_revisions/visuals/_form.ejs +0 -12
  347. package/src/views/page_revisions/visuals/edit_form.ejs +0 -16
  348. package/src/views/pages/_form.ejs +0 -44
  349. package/src/views/pages/_shared/_history_toolbar.ejs +0 -24
  350. package/src/views/pages/_shared/_revision_toolbar.ejs +0 -68
  351. package/src/views/pages/_shared/_title.ejs +0 -12
  352. package/src/views/pages/_shared/_toolbar.ejs +0 -33
  353. package/src/views/pages/_shared/history_table.ejs +0 -68
  354. package/src/views/pages/create_form.ejs +0 -9
  355. package/src/views/pages/deletes/create_form.ejs +0 -68
  356. package/src/views/pages/history/index.ejs +0 -87
  357. package/src/views/pages/index.ejs +0 -166
  358. package/src/views/pages/show.ejs +0 -235
  359. package/src/views/pages/translations/_translation_toolbar.ejs +0 -18
  360. package/src/views/pages/translations/create_form.ejs +0 -75
  361. package/src/views/pages/translations/index.ejs +0 -39
  362. package/src/views/pages/urls/create_form.ejs +0 -36
  363. package/src/views/redirects/_form.ejs +0 -26
  364. package/src/views/redirects/create_form.ejs +0 -9
  365. package/src/views/redirects/edit_form.ejs +0 -9
  366. package/src/views/redirects/index.ejs +0 -75
  367. package/src/views/redirects/show.ejs +0 -60
  368. package/src/views/settings/_nav.ejs +0 -22
  369. package/src/views/settings/layout/edit_form.ejs +0 -58
  370. package/src/views/settings/meta/edit_form.ejs +0 -24
  371. package/src/views/tags/_form.ejs +0 -25
  372. package/src/views/tags/create_form.ejs +0 -9
  373. package/src/views/tags/edit_form.ejs +0 -9
  374. package/src/views/tags/index.ejs +0 -43
  375. package/tailwind.config.js +0 -40
  376. package/tsconfig.json +0 -15
  377. package/tsconfig.lint.json +0 -8
@@ -1,290 +0,0 @@
1
- import PageRevisions from "../../../../cloud/PageRevisions";
2
- import Pages from "../../../../cloud/Pages";
3
- import TranslationsHandler from "../../../../handlers/pages/TranslationsHandler";
4
- import Factory from "../../../support/factory";
5
-
6
- function buildCtx(params, page) {
7
- return {
8
- client: {
9
- pages: new Pages(() => ({}), "token"),
10
- pageRevisions: new PageRevisions(() => ({}), "token"),
11
- },
12
- params: { parent_id: page.id },
13
- resourceParams: {
14
- resource: params,
15
- },
16
- locale: "en",
17
- resourceConfig: {
18
- pageType: "page",
19
- pageTypePlural: "pages",
20
- },
21
- };
22
- }
23
-
24
- describe("Pages Translation Handler", () => {
25
- test("create fails with translation errors", async () => {
26
- const page = Factory.build("page", {
27
- translations: {},
28
- categories: [{ id: "cat1" }],
29
- });
30
- const params = {
31
- languages: ["fr"],
32
- };
33
-
34
- const ctx = buildCtx(params, page);
35
-
36
- const mockFind = jest
37
- .spyOn(ctx.client.pages, "find")
38
- .mockImplementation(() => page);
39
-
40
- const translationErrors = [{ key: "title", message: "cannot be blank" }];
41
- const mockTranslateBatch = jest
42
- .spyOn(ctx.client.pages, "translateBatch")
43
- .mockImplementation((parentId, locales) =>
44
- locales.map((locale) => ({
45
- page: null,
46
- errors: translationErrors,
47
- }))
48
- );
49
-
50
- const mockFormatErrors = jest
51
- .spyOn(ctx.client.pages, "formatErrors")
52
- .mockImplementation(() => ({ title: "cannot be blank" }));
53
-
54
- const result = await TranslationsHandler.create(ctx);
55
-
56
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
57
- expect(mockTranslateBatch).toHaveBeenCalled();
58
- expect(mockFormatErrors).toHaveBeenCalledWith(translationErrors);
59
-
60
- expect(result).toEqual({
61
- assigns: {
62
- resource: {
63
- title: page.title,
64
- tags: [],
65
- visibility: "private",
66
- slug: page.slug,
67
- settings: page.settings,
68
- widgets: page.widgets,
69
- categories: ["cat1"],
70
- translations: {},
71
- languages: ["fr"],
72
- },
73
- blueprint: page,
74
- targetLocale: "fr",
75
- errors: { resource: { title: "cannot be blank" } },
76
- },
77
- });
78
- });
79
-
80
- test("create successfully multiple translations with already one is existing", async () => {
81
- const page = Factory.build("page", {
82
- translations: { de: "de-id" },
83
- categories: [{ id: "cat1" }],
84
- });
85
-
86
- const params = {
87
- languages: ["fr", "es", "de"],
88
- };
89
-
90
- const ctx = buildCtx(params, page);
91
-
92
- const mockFind = jest
93
- .spyOn(ctx.client.pages, "find")
94
- .mockImplementation(() => page);
95
-
96
- const mockTranslateBatch = jest
97
- .spyOn(ctx.client.pages, "translateBatch")
98
- .mockImplementation((parentId, locales) =>
99
- locales.map((locale) => ({
100
- page: { id: `translated-page-${locale}` },
101
- errors: null,
102
- }))
103
- );
104
-
105
- const mockCreateRevisionBatch = jest
106
- .spyOn(ctx.client.pageRevisions, "createBatch")
107
- .mockImplementation((revisionInputs) =>
108
- revisionInputs.map(({ locale }) => ({
109
- revision: { id: `revision-${locale}` },
110
- errors: null,
111
- }))
112
- );
113
-
114
- const result = await TranslationsHandler.create(ctx);
115
-
116
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
117
- expect(mockTranslateBatch).toHaveBeenCalledWith(
118
- page.id,
119
- ["fr", "es"],
120
- expect.objectContaining({
121
- title: page.title,
122
- tags: [],
123
- visibility: "private",
124
- slug: page.slug,
125
- })
126
- );
127
-
128
- expect(mockCreateRevisionBatch).toHaveBeenCalledWith([
129
- { pageId: "translated-page-fr", locale: "fr" },
130
- { pageId: "translated-page-es", locale: "es" },
131
- ]);
132
-
133
- expect(result).toEqual({
134
- redirect: `/en/pages/${page.id}/translations?translations=fr:translated-page-fr;es:translated-page-es`,
135
- });
136
- });
137
-
138
- test("create translations if any translation fails", async () => {
139
- const page = Factory.build("page", {
140
- translations: {},
141
- categories: [{ id: "some-category-uno" }],
142
- });
143
-
144
- const params = {
145
- languages: ["fr", "es"],
146
- };
147
-
148
- const ctx = buildCtx(params, page);
149
-
150
- const mockFind = jest
151
- .spyOn(ctx.client.pages, "find")
152
- .mockImplementation(() => page);
153
-
154
- const mockTranslateBatch = jest
155
- .spyOn(ctx.client.pages, "translateBatch")
156
- .mockImplementation((parentId, locales) => [
157
- {
158
- page: {
159
- id: "translated-page-fr",
160
- slug: "page-revision",
161
- visibility: "public",
162
- },
163
- errors: null,
164
- },
165
- {
166
- page: null,
167
- errors: [{ key: "title", message: "invalid for spanish" }],
168
- },
169
- ]);
170
-
171
- const mockFormatErrors = jest
172
- .spyOn(ctx.client.pages, "formatErrors")
173
- .mockImplementation(() => ({
174
- title: "invalid for spanish",
175
- }));
176
-
177
- const mockCreateRevision = jest
178
- .spyOn(ctx.client.pageRevisions, "create")
179
- .mockImplementation(() => ({ errors: null }));
180
-
181
- const result = await TranslationsHandler.create(ctx);
182
-
183
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
184
- expect(mockTranslateBatch).toHaveBeenCalledWith(
185
- page.id,
186
- ["fr", "es"],
187
- expect.objectContaining({
188
- title: page.title,
189
- tags: [],
190
- visibility: "private",
191
- slug: page.slug,
192
- })
193
- );
194
-
195
- expect(result).toEqual({
196
- assigns: {
197
- resource: {
198
- title: page.title,
199
- tags: [],
200
- visibility: "private",
201
- slug: page.slug,
202
- settings: page.settings,
203
- widgets: page.widgets,
204
- categories: ["some-category-uno"],
205
- translations: {
206
- fr: {
207
- id: "translated-page-fr",
208
- slug: page.slug,
209
- visibility: page.visibility,
210
- },
211
- },
212
- languages: ["fr", "es"],
213
- },
214
- blueprint: page,
215
- targetLocale: "es",
216
- errors: { resource: { title: "invalid for spanish" } },
217
- },
218
- });
219
- });
220
-
221
- test("create translation fails with revision errors", async () => {
222
- const page = Factory.build("page", {
223
- translations: {},
224
- categories: [{ id: "cat1" }],
225
- });
226
- const params = {
227
- languages: ["fr"],
228
- };
229
-
230
- const ctx = buildCtx(params, page);
231
-
232
- const mockFind = jest
233
- .spyOn(ctx.client.pages, "find")
234
- .mockImplementation(() => page);
235
-
236
- const mockTranslateBatch = jest
237
- .spyOn(ctx.client.pages, "translateBatch")
238
- .mockImplementation(() => [
239
- {
240
- page: {
241
- id: "translated-page-fr",
242
- slug: "page-revision",
243
- visibility: "public",
244
- },
245
- errors: null,
246
- },
247
- ]);
248
-
249
- const revisionErrors = [{ key: "base", message: "something went wrong" }];
250
- const mockCreateRevisionBatch = jest
251
- .spyOn(ctx.client.pageRevisions, "createBatch")
252
- .mockImplementation(() => [{ errors: revisionErrors }]);
253
-
254
- const mockFormatErrors = jest
255
- .spyOn(ctx.client.pages, "formatErrors")
256
- .mockImplementation(() => ({ base: "something went wrong" }));
257
-
258
- const result = await TranslationsHandler.create(ctx);
259
-
260
- expect(mockCreateRevisionBatch).toHaveBeenCalledWith([
261
- { pageId: "translated-page-fr", locale: "fr" },
262
- ]);
263
- expect(mockFormatErrors).toHaveBeenCalledWith(revisionErrors);
264
-
265
- expect(result).toEqual({
266
- assigns: {
267
- resource: {
268
- title: page.title,
269
- tags: [],
270
- visibility: "private",
271
- slug: page.slug,
272
- settings: page.settings,
273
- widgets: page.widgets,
274
- categories: ["cat1"],
275
- translations: {
276
- fr: {
277
- id: "translated-page-fr",
278
- slug: page.slug,
279
- visibility: page.visibility,
280
- },
281
- },
282
- languages: ["fr"],
283
- },
284
- blueprint: page,
285
- targetLocale: "fr",
286
- errors: { resource: { base: "something went wrong" } },
287
- },
288
- });
289
- });
290
- });
@@ -1,71 +0,0 @@
1
- import Pages from "../../../../cloud/Pages";
2
- import TranslationsHandler from "../../../../handlers/pages/TranslationsHandler";
3
- import Factory from "../../../support/factory";
4
-
5
- function buildCtx(page) {
6
- return {
7
- client: {
8
- pages: new Pages(() => ({}), "token"),
9
- },
10
- params: { parent_id: page.id },
11
- query: { target_locale: "" },
12
- locale: "en",
13
- resourceConfig: {
14
- pageType: "page",
15
- pageTypePlural: "pages",
16
- },
17
- };
18
- }
19
-
20
- describe("Page translation form", () => {
21
- test("create_form when a page exists with target locale", async () => {
22
- const page = Factory.build("page");
23
- const ctx = buildCtx(page);
24
- ctx.query.target_locale = "fr";
25
-
26
- const mockFindPage = jest
27
- .spyOn(ctx.client.pages, "find")
28
- .mockImplementation(() => page);
29
-
30
- const result = await TranslationsHandler.create_form(ctx);
31
-
32
- expect(mockFindPage).toHaveBeenCalledWith(page.id, "en");
33
-
34
- const expectedResource = structuredClone(page);
35
-
36
- expect(result).toEqual({
37
- assigns: {
38
- resource: expectedResource,
39
- blueprint: page,
40
- targetLocale: "fr",
41
- errors: {},
42
- _translations: [],
43
- },
44
- });
45
- });
46
-
47
- test("create_form when a page exists without target locale", async () => {
48
- const page = Factory.build("page");
49
- const ctx = buildCtx(page);
50
-
51
- const mockFindPage = jest
52
- .spyOn(ctx.client.pages, "find")
53
- .mockImplementation(() => page);
54
-
55
- const result = await TranslationsHandler.create_form(ctx);
56
-
57
- expect(mockFindPage).toHaveBeenCalledWith(page.id, "en");
58
-
59
- const expectedResource = structuredClone(page);
60
-
61
- expect(result).toEqual({
62
- assigns: {
63
- resource: expectedResource,
64
- blueprint: page,
65
- targetLocale: "",
66
- errors: {},
67
- _translations: [],
68
- },
69
- });
70
- });
71
- });
@@ -1,87 +0,0 @@
1
- import PageRevisions from "../../../../cloud/PageRevisions";
2
- import Pages from "../../../../cloud/Pages";
3
- import TranslationsHandler from "../../../../handlers/pages/TranslationsHandler";
4
- import Factory from "../../../support/factory";
5
-
6
- describe("Translations Handler", () => {
7
- function buildCtx() {
8
- const originalPage = Factory.build("page", {
9
- id: "original-page-id",
10
- title: "Test Page Title",
11
- });
12
-
13
- return {
14
- client: {
15
- pages: new Pages(() => ({}), "token"),
16
- pageRevisions: new PageRevisions(() => ({}), "token"),
17
- },
18
- params: { parent_id: originalPage.id },
19
- query: { translations: "fr:fr-page-id;es:es-page-id" },
20
- locale: "en",
21
- resourceConfig: {
22
- pageType: "page",
23
- pageTypePlural: "pages",
24
- },
25
- originalPage,
26
- };
27
- }
28
-
29
- test("index", async () => {
30
- const frPage = Factory.build("page", { id: "fr-page-id" });
31
- const esPage = Factory.build("page", { id: "es-page-id" });
32
- const esRevision = Factory.build("page_revision", { id: "es-revision-id" });
33
- const frRevision = Factory.build("page_revision", { id: "fr-revision-id" });
34
- const ctx = buildCtx();
35
-
36
- const mockedFind = jest
37
- .spyOn(ctx.client.pages, "find")
38
- .mockImplementation((id, locale) => {
39
- if (locale === "fr") return frPage;
40
- if (locale === "es") return esPage;
41
- if (id === "original-page-id") return ctx.originalPage;
42
- });
43
-
44
- const mockedRevisions = jest
45
- .spyOn(ctx.client.pageRevisions, "all")
46
- .mockImplementation((id, locale) => ({
47
- list: locale === "fr" ? [frRevision] : [esRevision],
48
- }));
49
-
50
- const mockedList = jest
51
- .spyOn(ctx.client.pages, "list")
52
- .mockImplementation(() => ({}));
53
-
54
- const result = await TranslationsHandler.index(ctx);
55
-
56
- expect(mockedFind).toHaveBeenCalledWith("fr-page-id", "fr");
57
- expect(mockedFind).toHaveBeenCalledWith("es-page-id", "es");
58
- expect(mockedRevisions).toHaveBeenCalledWith("fr-page-id", "fr");
59
- expect(mockedRevisions).toHaveBeenCalledWith("es-page-id", "es");
60
- expect(mockedList).toHaveBeenCalledWith(
61
- { translations: "fr:fr-page-id;es:es-page-id" },
62
- "en",
63
- "page"
64
- );
65
-
66
- expect(result).toEqual({
67
- assigns: {
68
- items: {},
69
- visibilityOptions: ctx.client.pages.visibilityOptions(),
70
- translations: [
71
- {
72
- ...frPage,
73
- translationLocale: "fr",
74
- revisionId: "fr-revision-id",
75
- },
76
- {
77
- ...esPage,
78
- translationLocale: "es",
79
- revisionId: "es-revision-id",
80
- },
81
- ],
82
- parent_id: "original-page-id",
83
- pageTitle: "Test Page Title",
84
- },
85
- });
86
- });
87
- });
@@ -1,160 +0,0 @@
1
- import URLsHandler from "../../../../handlers/pages/URLsHandler";
2
- import Pages from "../../../../cloud/Pages";
3
- import Factory from "../../../support/factory";
4
- import { remoteConfig } from "../../../support/handlersHelper";
5
-
6
- function buildCtx(page, updateSettings) {
7
- return {
8
- client: {
9
- pages: new Pages(() => ({}), "token"),
10
- },
11
- params: { parent_id: page.id },
12
- resourceParams: {
13
- resource: updateSettings,
14
- },
15
- locale: "en",
16
- remoteConfig: remoteConfig(),
17
- resourceConfig: {
18
- pageType: "page",
19
- pageTypePlural: "pages",
20
- },
21
- };
22
- }
23
-
24
- describe("Page change url", () => {
25
- test("create successful", async () => {
26
- const page = Factory.build("page");
27
- const updateSettings = {
28
- slug: "new-slug",
29
- redirect: "1",
30
- };
31
- const ctx = buildCtx(page, updateSettings);
32
-
33
- const mockFind = jest
34
- .spyOn(ctx.client.pages, "find")
35
- .mockImplementation(() => page);
36
-
37
- const mockChange = jest
38
- .spyOn(ctx.client.pages, "updateSlug")
39
- .mockImplementation(() => ({ page, errors: null }));
40
-
41
- const result = await URLsHandler.create(ctx);
42
-
43
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
44
- expect(mockChange).toHaveBeenCalledWith(
45
- page.id,
46
- updateSettings.slug,
47
- "en",
48
- {
49
- url: `/en/${page.slug}`,
50
- destination: `/en/${updateSettings.slug}`,
51
- httpResponseCode: 301,
52
- note: "Created with changed URL for a page",
53
- }
54
- );
55
-
56
- expect(result).toEqual({
57
- redirect: `/en/pages/${page.id}`,
58
- });
59
- });
60
-
61
- test("create failed due to slug error", async () => {
62
- const page = Factory.build("page");
63
- const updateSettings = {
64
- slug: "new-slug",
65
- };
66
- const ctx = buildCtx(page, updateSettings);
67
-
68
- const mockFind = jest
69
- .spyOn(ctx.client.pages, "find")
70
- .mockImplementation(() => page);
71
-
72
- const mockChange = jest
73
- .spyOn(ctx.client.pages, "updateSlug")
74
- .mockImplementation(() => ({
75
- page: null,
76
- errors: [{ codes: [], key: "slug", message: "has already been taken" }],
77
- }));
78
-
79
- const result = await URLsHandler.create(ctx);
80
-
81
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
82
- expect(mockChange).toHaveBeenCalledWith(
83
- page.id,
84
- updateSettings.slug,
85
- "en",
86
- null
87
- );
88
-
89
- expect(result).toEqual({
90
- assigns: {
91
- resource: { ...updateSettings, id: page.id },
92
- errors: { resource: { slug: "has already been taken" } },
93
- _translations: [],
94
- },
95
- });
96
- });
97
-
98
- test("create failed due to redirect create", async () => {
99
- const page = Factory.build("page");
100
- const updateSettings = {
101
- slug: "new-slug",
102
- redirect: "1",
103
- };
104
- const ctx = buildCtx(page, updateSettings);
105
-
106
- const mockFind = jest
107
- .spyOn(ctx.client.pages, "find")
108
- .mockImplementation(() => page);
109
-
110
- const mockChange = jest
111
- .spyOn(ctx.client.pages, "updateSlug")
112
- .mockImplementation(() => ({
113
- page: null,
114
- errors: [
115
- {
116
- codes: [],
117
- key: "generalError",
118
- message: "url: has already been taken",
119
- },
120
- ],
121
- }));
122
-
123
- const result = await URLsHandler.create(ctx);
124
-
125
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
126
- expect(mockChange).toHaveBeenCalledWith(
127
- page.id,
128
- updateSettings.slug,
129
- "en",
130
- {
131
- url: `/en/${page.slug}`,
132
- destination: `/en/${updateSettings.slug}`,
133
- httpResponseCode: 301,
134
- note: "Created with changed URL for a page",
135
- }
136
- );
137
-
138
- expect(result).toEqual({
139
- assigns: {
140
- resource: { ...updateSettings, id: page.id },
141
- errors: { resource: { redirect: "url: has already been taken" } },
142
- _translations: [],
143
- },
144
- });
145
- });
146
-
147
- test("create for non existing page", async () => {
148
- const ctx = buildCtx({ id: "42" }, {});
149
-
150
- const mockFind = jest
151
- .spyOn(ctx.client.pages, "find")
152
- .mockImplementation(() => null);
153
-
154
- expect(async () => {
155
- await URLsHandler.create(ctx);
156
- }).rejects.toThrow("Cannot find page with id 42");
157
-
158
- expect(mockFind).toHaveBeenCalledWith("42", "en");
159
- });
160
- });
@@ -1,58 +0,0 @@
1
- import URLsHandler from "../../../../handlers/pages/URLsHandler";
2
- import Pages from "../../../../cloud/Pages";
3
- import Factory from "../../../support/factory";
4
-
5
- function buildCtx(page) {
6
- return {
7
- client: {
8
- pages: new Pages(() => ({}), "token"),
9
- },
10
- params: { parent_id: page.id },
11
- locale: "en",
12
- resourceConfig: {
13
- pageType: "page",
14
- pageTypePlural: "pages",
15
- },
16
- };
17
- }
18
-
19
- describe("Page change url", () => {
20
- test("create_form for existing page", async () => {
21
- const page = Factory.build("page");
22
- const ctx = buildCtx(page);
23
-
24
- const mockFind = jest
25
- .spyOn(ctx.client.pages, "find")
26
- .mockImplementation(() => page);
27
-
28
- const result = await URLsHandler.create_form(ctx, {
29
- pageType: "page",
30
- pageTypePlural: "pages",
31
- });
32
-
33
- expect(mockFind).toHaveBeenCalledWith(page.id, "en");
34
-
35
- expect(result).toEqual({
36
- assigns: {
37
- page,
38
- resource: { slug: page.slug, id: page.id, redirect: null },
39
- errors: {},
40
- _translations: [],
41
- },
42
- });
43
- });
44
-
45
- test("create_form for non existing page", async () => {
46
- const ctx = buildCtx({ id: "42" });
47
-
48
- const mockFind = jest
49
- .spyOn(ctx.client.pages, "find")
50
- .mockImplementation(() => null);
51
-
52
- expect(async () => {
53
- await URLsHandler.create_form(ctx);
54
- }).rejects.toThrow("Cannot find page with id 42");
55
-
56
- expect(mockFind).toHaveBeenCalledWith("42", "en");
57
- });
58
- });