@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,94 +1,98 @@
1
- import URLsHandler from "../../../../handlers/articles/URLsHandler";
2
- import Articles from "../../../../cloud/Articles";
1
+ import URLsHandler from "../../../../handlers/resources/URLsHandler";
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 change url", () => {
24
+ describe("Resource change url", () => {
25
25
  test("create successful", async () => {
26
- const article = Factory.build("article");
26
+ const resource = Factory.build("resource");
27
27
  const updateSettings = {
28
28
  slug: "new-slug",
29
29
  redirect: "1",
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 mockChange = jest
38
- .spyOn(ctx.client.articles, "updateSlug")
39
- .mockImplementation(() => ({ article, errors: null }));
38
+ .spyOn(ctx.client.resources, "updateSlug")
39
+ .mockImplementation(() => ({ resource, errors: null }));
40
40
 
41
41
  const result = await URLsHandler.create(ctx);
42
42
 
43
- expect(mockFind).toHaveBeenCalledWith(article.id, "en");
43
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
44
44
  expect(mockChange).toHaveBeenCalledWith(
45
- article.id,
45
+ resource.id,
46
46
  updateSettings.slug,
47
47
  "en",
48
+ "article",
48
49
  {
49
- url: `/en/blog/${article.slug}`,
50
+ url: `/en/blog/${resource.slug}`,
50
51
  destination: `/en/blog/${updateSettings.slug}`,
51
52
  httpResponseCode: 301,
52
- note: "Created with changed URL for a resource of type article",
53
+ note: "Created with changed URL for a article",
53
54
  }
54
55
  );
55
56
 
56
57
  expect(result).toEqual({
57
- redirect: `/en/articles/${article.id}`,
58
+ redirect: `/en/articles/${resource.id}`,
58
59
  });
59
60
  });
60
61
 
61
62
  test("create failed due to slug error", async () => {
62
- const article = Factory.build("article");
63
+ const resource = Factory.build("resource");
63
64
  const updateSettings = {
64
65
  slug: "new-slug",
65
66
  };
66
- const ctx = buildCtx(article, updateSettings);
67
+ const ctx = buildCtx(resource, updateSettings);
67
68
 
68
69
  const mockFind = jest
69
- .spyOn(ctx.client.articles, "find")
70
- .mockImplementation(() => article);
70
+ .spyOn(ctx.client.resources, "find")
71
+ .mockImplementation(() => resource);
71
72
 
72
73
  const mockChange = jest
73
- .spyOn(ctx.client.articles, "updateSlug")
74
+ .spyOn(ctx.client.resources, "updateSlug")
74
75
  .mockImplementation(() => ({
75
- article: null,
76
- errors: [{ codes: [], key: "slug", message: "has already been taken" }],
76
+ resource: null,
77
+ errors: [
78
+ { codes: [], key: "slug", message: "has already been taken" },
79
+ ],
77
80
  }));
78
81
 
79
82
  const result = await URLsHandler.create(ctx);
80
83
 
81
- expect(mockFind).toHaveBeenCalledWith(article.id, "en");
84
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
82
85
  expect(mockChange).toHaveBeenCalledWith(
83
- article.id,
86
+ resource.id,
84
87
  updateSettings.slug,
85
88
  "en",
89
+ "article",
86
90
  null
87
91
  );
88
92
 
89
93
  expect(result).toEqual({
90
94
  assigns: {
91
- resource: { ...updateSettings, id: article.id },
95
+ resource: { ...updateSettings, id: resource.id },
92
96
  errors: { resource: { slug: "has already been taken" } },
93
97
  _translations: [],
94
98
  },
@@ -96,21 +100,21 @@ describe("Article change url", () => {
96
100
  });
97
101
 
98
102
  test("create failed due to redirect create", async () => {
99
- const article = Factory.build("article");
103
+ const resource = Factory.build("resource");
100
104
  const updateSettings = {
101
105
  slug: "new-slug",
102
106
  redirect: "1",
103
107
  };
104
- const ctx = buildCtx(article, updateSettings);
108
+ const ctx = buildCtx(resource, updateSettings);
105
109
 
106
110
  const mockFind = jest
107
- .spyOn(ctx.client.articles, "find")
108
- .mockImplementation(() => article);
111
+ .spyOn(ctx.client.resources, "find")
112
+ .mockImplementation(() => resource);
109
113
 
110
114
  const mockChange = jest
111
- .spyOn(ctx.client.articles, "updateSlug")
115
+ .spyOn(ctx.client.resources, "updateSlug")
112
116
  .mockImplementation(() => ({
113
- article: null,
117
+ resource: null,
114
118
  errors: [
115
119
  {
116
120
  codes: [],
@@ -122,39 +126,40 @@ describe("Article change url", () => {
122
126
 
123
127
  const result = await URLsHandler.create(ctx);
124
128
 
125
- expect(mockFind).toHaveBeenCalledWith(article.id, "en");
129
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
126
130
  expect(mockChange).toHaveBeenCalledWith(
127
- article.id,
131
+ resource.id,
128
132
  updateSettings.slug,
129
133
  "en",
134
+ "article",
130
135
  {
131
- url: `/en/blog/${article.slug}`,
136
+ url: `/en/blog/${resource.slug}`,
132
137
  destination: `/en/blog/${updateSettings.slug}`,
133
138
  httpResponseCode: 301,
134
- note: "Created with changed URL for a resource of type article",
139
+ note: "Created with changed URL for a article",
135
140
  }
136
141
  );
137
142
 
138
143
  expect(result).toEqual({
139
144
  assigns: {
140
- resource: { ...updateSettings, id: article.id },
145
+ resource: { ...updateSettings, id: resource.id },
141
146
  errors: { resource: { redirect: "url: has already been taken" } },
142
147
  _translations: [],
143
148
  },
144
149
  });
145
150
  });
146
151
 
147
- test("create for non existing article", async () => {
152
+ test("create for non existing resource", async () => {
148
153
  const ctx = buildCtx({ id: "42" }, {});
149
154
 
150
155
  const mockFind = jest
151
- .spyOn(ctx.client.articles, "find")
156
+ .spyOn(ctx.client.resources, "find")
152
157
  .mockImplementation(() => null);
153
158
 
154
159
  expect(async () => {
155
160
  await URLsHandler.create(ctx);
156
161
  }).rejects.toThrow("Cannot find article with id 42");
157
162
 
158
- expect(mockFind).toHaveBeenCalledWith("42", "en");
163
+ expect(mockFind).toHaveBeenCalledWith("42", "en", "article");
159
164
  });
160
165
  });
@@ -0,0 +1,55 @@
1
+ import Resources from "../../../../cloud/Resources";
2
+ import URLsHandler from "../../../../handlers/resources/URLsHandler";
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("Resource change url", () => {
20
+ test("create_form for existing resource", async () => {
21
+ const resource = Factory.build("resource");
22
+ const ctx = buildCtx(resource);
23
+
24
+ const mockFind = jest
25
+ .spyOn(ctx.client.resources, "find")
26
+ .mockImplementation(() => resource);
27
+
28
+ const result = await URLsHandler.create_form(ctx);
29
+
30
+ expect(mockFind).toHaveBeenCalledWith(resource.id, "en", "article");
31
+
32
+ expect(result).toEqual({
33
+ assigns: {
34
+ record: resource,
35
+ resource: { slug: resource.slug, id: resource.id, redirect: null },
36
+ errors: {},
37
+ _translations: [],
38
+ },
39
+ });
40
+ });
41
+
42
+ test("create_form for non existing resource", async () => {
43
+ const ctx = buildCtx({ id: "42" });
44
+
45
+ const mockFind = jest
46
+ .spyOn(ctx.client.resources, "find")
47
+ .mockImplementation(() => null);
48
+
49
+ expect(async () => {
50
+ await URLsHandler.create_form(ctx);
51
+ }).rejects.toThrow("Cannot find article with id 42");
52
+
53
+ expect(mockFind).toHaveBeenCalledWith("42", "en", "article");
54
+ });
55
+ });
@@ -0,0 +1,43 @@
1
+ import routeArticlesModule from "../routeArticlesModule";
2
+ import routeResource from "../routeResource";
3
+
4
+ jest.mock("../routeResource", () => jest.fn());
5
+
6
+ describe("routeArticlesModule", () => {
7
+ beforeEach(() => {
8
+ routeResource.mockClear();
9
+ });
10
+
11
+ test("delegates to routeResource with default types and publish_at dateField", () => {
12
+ const adapter = {};
13
+
14
+ routeArticlesModule(adapter);
15
+
16
+ expect(routeResource).toHaveBeenCalledWith(adapter, "article", "articles", {
17
+ viewsType: "article",
18
+ viewsTypePlural: "articles",
19
+ dateFields: ["publish_at"],
20
+ });
21
+ });
22
+
23
+ test("delegates to routeResource with custom types", () => {
24
+ const adapter = {};
25
+
26
+ routeArticlesModule(adapter, "post", "posts");
27
+
28
+ expect(routeResource).toHaveBeenCalledWith(adapter, "post", "posts", {
29
+ viewsType: "article",
30
+ viewsTypePlural: "articles",
31
+ dateFields: ["publish_at"],
32
+ });
33
+ });
34
+
35
+ test("returns value of routeResource", () => {
36
+ const adapter = {};
37
+ routeResource.mockReturnValueOnce("ok");
38
+
39
+ const result = routeArticlesModule(adapter);
40
+
41
+ expect(result).toBe("ok");
42
+ });
43
+ });
@@ -0,0 +1,23 @@
1
+ import routeCategoriesModule from "../routeCategoriesModule";
2
+ import routeCollection from "../routeCollection";
3
+ import CategoriesHandler from "../handlers/categories";
4
+
5
+ jest.mock("../routeCollection", () => jest.fn());
6
+
7
+ describe("routeCategoriesModule", () => {
8
+ beforeEach(() => {
9
+ routeCollection.mockClear();
10
+ });
11
+
12
+ test("registers categories collection with categoryType + plural + viewsFallback", () => {
13
+ const adapter = {};
14
+
15
+ routeCategoriesModule(adapter, "tag", "tags");
16
+
17
+ expect(routeCollection).toHaveBeenCalledWith(adapter, "tags", CategoriesHandler, {
18
+ categoryType: "tag",
19
+ categoryTypePlural: "tags",
20
+ viewsFallback: "categories",
21
+ });
22
+ });
23
+ });
@@ -0,0 +1,43 @@
1
+ import routeEventsModule from "../routeEventsModule";
2
+ import routeResource from "../routeResource";
3
+
4
+ jest.mock("../routeResource", () => jest.fn());
5
+
6
+ describe("routeEventsModule", () => {
7
+ beforeEach(() => {
8
+ routeResource.mockClear();
9
+ });
10
+
11
+ test("delegates to routeResource with default types and event dateFields", () => {
12
+ const adapter = {};
13
+
14
+ routeEventsModule(adapter);
15
+
16
+ expect(routeResource).toHaveBeenCalledWith(adapter, "event", "events", {
17
+ viewsType: "event",
18
+ viewsTypePlural: "events",
19
+ dateFields: ["publish_at", "starts_at", "ends_at"],
20
+ });
21
+ });
22
+
23
+ test("delegates to routeResource with custom types", () => {
24
+ const adapter = {};
25
+
26
+ routeEventsModule(adapter, "meeting", "meetings");
27
+
28
+ expect(routeResource).toHaveBeenCalledWith(adapter, "meeting", "meetings", {
29
+ viewsType: "event",
30
+ viewsTypePlural: "events",
31
+ dateFields: ["publish_at", "starts_at", "ends_at"],
32
+ });
33
+ });
34
+
35
+ test("returns value of routeResource", () => {
36
+ const adapter = {};
37
+ routeResource.mockReturnValueOnce("ok");
38
+
39
+ const result = routeEventsModule(adapter);
40
+
41
+ expect(result).toBe("ok");
42
+ });
43
+ });
@@ -0,0 +1,43 @@
1
+ import routePagesModule from "../routePagesModule";
2
+ import routeResource from "../routeResource";
3
+
4
+ jest.mock("../routeResource", () => jest.fn());
5
+
6
+ describe("routePagesModule", () => {
7
+ beforeEach(() => {
8
+ routeResource.mockClear();
9
+ });
10
+
11
+ test("delegates to routeResource with default types", () => {
12
+ const adapter = {};
13
+
14
+ routePagesModule(adapter);
15
+
16
+ expect(routeResource).toHaveBeenCalledWith(adapter, "page", "pages", {
17
+ viewsType: "page",
18
+ viewsTypePlural: "pages",
19
+ dateFields: [],
20
+ });
21
+ });
22
+
23
+ test("delegates to routeResource with custom types", () => {
24
+ const adapter = {};
25
+
26
+ routePagesModule(adapter, "landing", "landings");
27
+
28
+ expect(routeResource).toHaveBeenCalledWith(adapter, "landing", "landings", {
29
+ viewsType: "page",
30
+ viewsTypePlural: "pages",
31
+ dateFields: [],
32
+ });
33
+ });
34
+
35
+ test("returns value of routeResource", () => {
36
+ const adapter = {};
37
+ routeResource.mockReturnValueOnce("ok");
38
+
39
+ const result = routePagesModule(adapter);
40
+
41
+ expect(result).toBe("ok");
42
+ });
43
+ });
@@ -0,0 +1,202 @@
1
+ import routeResource from "../routeResource";
2
+
3
+ function makeAdapter() {
4
+ return {
5
+ routeCollection: jest.fn(),
6
+ routeNestedCollection: jest.fn(),
7
+ routeNestedMember: jest.fn(),
8
+ };
9
+ }
10
+
11
+ describe("routeResource", () => {
12
+ test("registers exports collection with explicit mapping", () => {
13
+ const adapter = makeAdapter();
14
+
15
+ routeResource(adapter, "article", "articles", {
16
+ viewsType: "article",
17
+ viewsTypePlural: "articles",
18
+ dateFields: ["publish_at"],
19
+ });
20
+
21
+ const exportsCall = adapter.routeCollection.mock.calls[0];
22
+
23
+ expect(exportsCall[0]).toEqual([
24
+ [
25
+ "GET",
26
+ "/articles/exports",
27
+ "exports",
28
+ "articles/exports",
29
+ "index",
30
+ expect.any(Function),
31
+ ],
32
+ ]);
33
+ expect(exportsCall[1]).toEqual({
34
+ resourceType: "article",
35
+ resourceTypePlural: "articles",
36
+ dateFields: ["publish_at"],
37
+ });
38
+ });
39
+
40
+ test("propagates resourceConfig with dateFields to all helpers", () => {
41
+ const adapter = makeAdapter();
42
+
43
+ routeResource(adapter, "event", "events", {
44
+ viewsType: "event",
45
+ viewsTypePlural: "events",
46
+ dateFields: ["publish_at", "starts_at", "ends_at"],
47
+ });
48
+
49
+ const allCalls = [
50
+ ...adapter.routeCollection.mock.calls,
51
+ ...adapter.routeNestedCollection.mock.calls,
52
+ ...adapter.routeNestedMember.mock.calls,
53
+ ];
54
+
55
+ for (const [, resourceConfig] of allCalls) {
56
+ expect(resourceConfig).toMatchObject({
57
+ resourceType: "event",
58
+ resourceTypePlural: "events",
59
+ dateFields: ["publish_at", "starts_at", "ends_at"],
60
+ });
61
+ }
62
+ });
63
+
64
+ test("registers ResourcesHandler collection at base resource", () => {
65
+ const adapter = makeAdapter();
66
+
67
+ routeResource(adapter, "page", "pages", {
68
+ viewsType: "page",
69
+ viewsTypePlural: "pages",
70
+ });
71
+
72
+ const baseCollection = adapter.routeCollection.mock.calls.find(
73
+ ([mapping]) => mapping.some(([, path]) => path === "/pages")
74
+ );
75
+
76
+ expect(baseCollection).toBeDefined();
77
+ expect(baseCollection[1]).toMatchObject({
78
+ viewsFallback: "pages",
79
+ });
80
+ });
81
+
82
+ test("registers api collection for resources", () => {
83
+ const adapter = makeAdapter();
84
+
85
+ routeResource(adapter, "page", "pages", {
86
+ viewsType: "page",
87
+ viewsTypePlural: "pages",
88
+ });
89
+
90
+ const apiCollection = adapter.routeCollection.mock.calls.find(
91
+ ([mapping]) => mapping.some(([, path]) => path === "/api/pages")
92
+ );
93
+
94
+ expect(apiCollection).toBeDefined();
95
+ });
96
+
97
+ test("registers nested collections for revisions, translations, history, locks, unlocks, clones, urls, deletes, publishes, cancel_schedules, reverts", () => {
98
+ const adapter = makeAdapter();
99
+
100
+ routeResource(adapter, "article", "articles", {
101
+ viewsType: "article",
102
+ viewsTypePlural: "articles",
103
+ });
104
+
105
+ const nestedPaths = adapter.routeNestedCollection.mock.calls.flatMap(
106
+ ([mapping]) => mapping.map(([, path]) => path)
107
+ );
108
+
109
+ expect(nestedPaths).toEqual(
110
+ expect.arrayContaining([
111
+ "/articles/:parent_id/translations",
112
+ "/articles/:parent_id/history",
113
+ "/articles/:parent_id/article_revisions",
114
+ "/article_revisions/:parent_id/locks",
115
+ "/article_revisions/:parent_id/unlocks",
116
+ "/articles/:parent_id/clones",
117
+ "/articles/:parent_id/urls",
118
+ "/articles/:parent_id/deletes",
119
+ "/articles/:parent_id/article_changes/reverts",
120
+ "/article_revisions/:parent_id/publishes",
121
+ "/article_revisions/:parent_id/cancel_schedules",
122
+ ])
123
+ );
124
+ });
125
+
126
+ test("registers nested members for general, visuals, codes, meta, tags", () => {
127
+ const adapter = makeAdapter();
128
+
129
+ routeResource(adapter, "article", "articles", {
130
+ viewsType: "article",
131
+ viewsTypePlural: "articles",
132
+ });
133
+
134
+ const nestedMemberPaths = adapter.routeNestedMember.mock.calls.flatMap(
135
+ ([mapping]) => mapping.map(([, path]) => path)
136
+ );
137
+
138
+ expect(nestedMemberPaths).toEqual(
139
+ expect.arrayContaining([
140
+ "/article_revisions/:parent_id/general",
141
+ "/article_revisions/:parent_id/visuals",
142
+ "/article_revisions/:parent_id/codes",
143
+ "/article_revisions/:parent_id/meta",
144
+ "/article_revisions/:parent_id/tags",
145
+ ])
146
+ );
147
+ });
148
+
149
+ test("registers api widgets and change endpoints", () => {
150
+ const adapter = makeAdapter();
151
+
152
+ routeResource(adapter, "page", "pages", {
153
+ viewsType: "page",
154
+ viewsTypePlural: "pages",
155
+ });
156
+
157
+ const nestedMemberPaths = adapter.routeNestedMember.mock.calls.flatMap(
158
+ ([mapping]) => mapping.map(([, path]) => path)
159
+ );
160
+
161
+ expect(nestedMemberPaths).toEqual(
162
+ expect.arrayContaining([
163
+ "/api/page_revisions/:parent_id/widgets",
164
+ "/api/page/:parent_id/change",
165
+ ])
166
+ );
167
+ });
168
+
169
+ test("uses default empty dateFields when not provided", () => {
170
+ const adapter = makeAdapter();
171
+
172
+ routeResource(adapter, "page", "pages", {
173
+ viewsType: "page",
174
+ viewsTypePlural: "pages",
175
+ });
176
+
177
+ const firstCall = adapter.routeCollection.mock.calls[0];
178
+ expect(firstCall[1].dateFields).toEqual([]);
179
+ });
180
+
181
+ test("propagates viewsFallback with viewsTypePlural for collection helpers", () => {
182
+ const adapter = makeAdapter();
183
+
184
+ routeResource(adapter, "event", "events", {
185
+ viewsType: "event",
186
+ viewsTypePlural: "events",
187
+ });
188
+
189
+ const baseCollection = adapter.routeCollection.mock.calls.find(
190
+ ([mapping]) => mapping.some(([, path]) => path === "/events")
191
+ );
192
+
193
+ expect(baseCollection[1].viewsFallback).toBe("events");
194
+
195
+ const translationsCall = adapter.routeNestedCollection.mock.calls.find(
196
+ ([mapping]) =>
197
+ mapping.some(([, path]) => path === "/events/:parent_id/translations")
198
+ );
199
+
200
+ expect(translationsCall[1].viewsFallback).toBe("events/translations");
201
+ });
202
+ });
@@ -0,0 +1,40 @@
1
+ import routeSettings from "../routeSettings";
2
+ import routeMember from "../routeMember";
3
+ import SettingsHandler from "../handlers/_shared/SettingsHandler";
4
+
5
+ jest.mock("../routeMember", () => jest.fn());
6
+
7
+ describe("routeSettings", () => {
8
+ beforeEach(() => {
9
+ routeMember.mockClear();
10
+ });
11
+
12
+ test("registers meta, layout, variables members", () => {
13
+ const adapter = {};
14
+
15
+ routeSettings(adapter);
16
+
17
+ expect(routeMember).toHaveBeenCalledTimes(3);
18
+ expect(routeMember).toHaveBeenNthCalledWith(
19
+ 1,
20
+ adapter,
21
+ "settings/meta",
22
+ SettingsHandler,
23
+ { resource: "settings/meta" }
24
+ );
25
+ expect(routeMember).toHaveBeenNthCalledWith(
26
+ 2,
27
+ adapter,
28
+ "settings/layout",
29
+ SettingsHandler,
30
+ { resource: "settings/layout" }
31
+ );
32
+ expect(routeMember).toHaveBeenNthCalledWith(
33
+ 3,
34
+ adapter,
35
+ "settings/variables",
36
+ SettingsHandler,
37
+ { resource: "settings/variables" }
38
+ );
39
+ });
40
+ });