@raketa-cloud/admin 0.0.99 → 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/cloud/ArticleChanges.js +0 -36
  12. package/src/cloud/ArticleRevisions.js +0 -239
  13. package/src/cloud/Articles.js +0 -194
  14. package/src/cloud/Categories.js +0 -97
  15. package/src/cloud/EventChanges.js +0 -36
  16. package/src/cloud/EventRevisions.js +0 -246
  17. package/src/cloud/Events.js +0 -204
  18. package/src/cloud/PageChanges.js +0 -36
  19. package/src/cloud/PageRevisions.js +0 -226
  20. package/src/cloud/Pages.js +0 -185
  21. package/src/cloud/RaketaClient.js +0 -223
  22. package/src/cloud/Redirects.js +0 -81
  23. package/src/cloud/Settings.js +0 -34
  24. package/src/cloud/Tags.js +0 -80
  25. package/src/cloud/documents/articlesDocuments.js +0 -343
  26. package/src/cloud/documents/categoryDocuments.js +0 -52
  27. package/src/cloud/documents/common.js +0 -133
  28. package/src/cloud/documents/eventsDocuments.js +0 -351
  29. package/src/cloud/documents/pagesDocuments.js +0 -339
  30. package/src/cloud/documents/redirectsDocuments.js +0 -82
  31. package/src/cloud/documents/settingsDocuments.js +0 -23
  32. package/src/cloud/documents/tagsDocuments.js +0 -63
  33. package/src/currentPath.cjs +0 -1
  34. package/src/handlers/DashboardsHandler.js +0 -9
  35. package/src/handlers/RedirectsHandler.js +0 -124
  36. package/src/handlers/TagsHandler.js +0 -113
  37. package/src/handlers/_shared/SettingsHandler.js +0 -36
  38. package/src/handlers/article_revisions/ArticleRevisionsHandler.js +0 -49
  39. package/src/handlers/article_revisions/CancelSchedulesHandler.js +0 -26
  40. package/src/handlers/article_revisions/CodeHandler.js +0 -74
  41. package/src/handlers/article_revisions/GeneralHandler.js +0 -76
  42. package/src/handlers/article_revisions/LocksHandler.js +0 -77
  43. package/src/handlers/article_revisions/MetaHandler.js +0 -74
  44. package/src/handlers/article_revisions/PublishesHandler.js +0 -120
  45. package/src/handlers/article_revisions/RevertsHandler.js +0 -28
  46. package/src/handlers/article_revisions/TagHandler.js +0 -82
  47. package/src/handlers/article_revisions/UnlocksHandler.js +0 -24
  48. package/src/handlers/article_revisions/VisualHandler.js +0 -74
  49. package/src/handlers/article_revisions/WidgetHandler.js +0 -47
  50. package/src/handlers/articles/ArticlesHandler.js +0 -109
  51. package/src/handlers/articles/ClonesHandler.js +0 -19
  52. package/src/handlers/articles/DeletesHandler.js +0 -72
  53. package/src/handlers/articles/HistoryHandler.js +0 -31
  54. package/src/handlers/articles/TranslationsHandler.js +0 -231
  55. package/src/handlers/articles/URLsHandler.js +0 -83
  56. package/src/handlers/categories/index.js +0 -122
  57. package/src/handlers/event_revisions/CancelSchedulesHandler.js +0 -26
  58. package/src/handlers/event_revisions/CodeHandler.js +0 -72
  59. package/src/handlers/event_revisions/EventRevisionsHandler.js +0 -47
  60. package/src/handlers/event_revisions/GeneralHandler.js +0 -74
  61. package/src/handlers/event_revisions/LocksHandler.js +0 -65
  62. package/src/handlers/event_revisions/MetaHandler.js +0 -72
  63. package/src/handlers/event_revisions/PublishesHandler.js +0 -112
  64. package/src/handlers/event_revisions/RevertsHandler.js +0 -26
  65. package/src/handlers/event_revisions/TagHandler.js +0 -79
  66. package/src/handlers/event_revisions/UnlocksHandler.js +0 -24
  67. package/src/handlers/event_revisions/VisualHandler.js +0 -72
  68. package/src/handlers/event_revisions/WidgetHandler.js +0 -41
  69. package/src/handlers/events/ClonesHandler.js +0 -19
  70. package/src/handlers/events/DeletesHandler.js +0 -72
  71. package/src/handlers/events/EventsHandler.js +0 -111
  72. package/src/handlers/events/HistoryHandler.js +0 -31
  73. package/src/handlers/events/TranslationsHandler.js +0 -233
  74. package/src/handlers/events/URLsHandler.js +0 -81
  75. package/src/handlers/page_revisions/CancelSchedulesHandler.js +0 -26
  76. package/src/handlers/page_revisions/CodeHandler.js +0 -57
  77. package/src/handlers/page_revisions/GeneralHandler.js +0 -59
  78. package/src/handlers/page_revisions/LocksHandler.js +0 -69
  79. package/src/handlers/page_revisions/MetaHandler.js +0 -57
  80. package/src/handlers/page_revisions/PageRevisionsHandler.js +0 -47
  81. package/src/handlers/page_revisions/PublishesHandler.js +0 -112
  82. package/src/handlers/page_revisions/RevertsHandler.js +0 -26
  83. package/src/handlers/page_revisions/TagHandler.js +0 -105
  84. package/src/handlers/page_revisions/UnlocksHandler.js +0 -22
  85. package/src/handlers/page_revisions/VisualHandler.js +0 -58
  86. package/src/handlers/page_revisions/WidgetHandler.js +0 -41
  87. package/src/handlers/pages/ClonesHandler.js +0 -19
  88. package/src/handlers/pages/DeletesHandler.js +0 -68
  89. package/src/handlers/pages/HistoryHandler.js +0 -31
  90. package/src/handlers/pages/PagesHandler.js +0 -104
  91. package/src/handlers/pages/TranslationsHandler.js +0 -233
  92. package/src/handlers/pages/URLsHandler.js +0 -77
  93. package/src/helpers/AuthHelper.js +0 -49
  94. package/src/helpers/FormBuilder.js +0 -438
  95. package/src/helpers/HTMLBuilder.js +0 -38
  96. package/src/helpers/Inflector.js +0 -9
  97. package/src/helpers/Pagination.js +0 -92
  98. package/src/helpers/SortButton.js +0 -102
  99. package/src/helpers/form_for.js +0 -8
  100. package/src/helpers/historyUtils.js +0 -133
  101. package/src/helpers/pagination_helper.js +0 -5
  102. package/src/helpers/sort_button.js +0 -5
  103. package/src/helpers/utils.js +0 -21
  104. package/src/routeArticlesModule.js +0 -151
  105. package/src/routeCategoriesModule.js +0 -16
  106. package/src/routeCollection.js +0 -90
  107. package/src/routeEventsModule.js +0 -166
  108. package/src/routeMember.js +0 -40
  109. package/src/routeNestedCollection.js +0 -96
  110. package/src/routeNestedMember.js +0 -46
  111. package/src/routePagesModule.js +0 -163
  112. package/src/routeSettings.js +0 -14
  113. package/src/routeStandard.js +0 -35
  114. package/src/setGlobalContext.js +0 -5
  115. package/src/setupAuthentication.js +0 -169
  116. package/src/setupCloud.js +0 -50
  117. package/src/simpleCipher.js +0 -58
  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
- });