@raketa-cloud/admin 1.8.9 → 1.8.11

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 (106) hide show
  1. package/dist/application.css +113 -24
  2. package/package.json +5 -3
  3. package/src/HonoAdapter.js +23 -23
  4. package/src/Logger.js +7 -8
  5. package/src/RaketaContext.js +1 -0
  6. package/src/cipher.js +2 -2
  7. package/src/cloud/ContentTasks.js +31 -0
  8. package/src/cloud/RaketaClient.js +1 -1
  9. package/src/cloud/Redirects.js +2 -2
  10. package/src/cloud/ResourceChanges.js +1 -1
  11. package/src/cloud/ResourceRevisions.js +2 -2
  12. package/src/cloud/Resources.js +28 -12
  13. package/src/cloud/Tags.js +4 -4
  14. package/src/cloud/documents/common.js +16 -0
  15. package/src/cloud/documents/contentTasksDocuments.js +59 -0
  16. package/src/cloud/documents/resourcesDocuments.js +12 -0
  17. package/src/filters.js +3 -3
  18. package/src/handlers/TagsHandler.js +2 -2
  19. package/src/handlers/_shared/getResourceUpdateDestination.js +1 -1
  20. package/src/handlers/categories/index.js +3 -3
  21. package/src/handlers/content_tasks/ContentTasksHandler.js +32 -0
  22. package/src/handlers/resource_revisions/LocksHandler.js +4 -1
  23. package/src/handlers/resources/ClonesHandler.js +1 -3
  24. package/src/handlers/resources/ExportsHandler.js +1 -5
  25. package/src/handlers/resources/ResourcesHandler.js +1 -1
  26. package/src/handlers/resources/TranslationsHandler.js +28 -19
  27. package/src/handlers/resources/URLsHandler.js +3 -1
  28. package/src/helpers/AuthHelper.js +1 -1
  29. package/src/helpers/FormBuilder.js +14 -14
  30. package/src/helpers/Pagination.js +5 -5
  31. package/src/helpers/historyUtils.js +3 -3
  32. package/src/helpers/utils.js +6 -1
  33. package/src/index.js +2 -1
  34. package/src/routeMember.js +9 -4
  35. package/src/routeNestedCollection.js +14 -29
  36. package/src/routeNestedMember.js +17 -6
  37. package/src/{routeResource.js → routeResourceModule.js} +25 -20
  38. package/src/routeStandard.js +8 -4
  39. package/src/setupAuthentication.js +1 -1
  40. package/src/setupCloud.js +5 -0
  41. package/src/tests/Adapter.test.js +2 -2
  42. package/src/tests/HonoAdapter.coverage.test.js +47 -25
  43. package/src/tests/HonoAdapter.filter.test.js +28 -18
  44. package/src/tests/HonoAdapter.test.js +3 -3
  45. package/src/tests/RaketaClient.test.js +427 -413
  46. package/src/tests/RaketaContext.test.js +1 -1
  47. package/src/tests/buildResourcePath.test.js +1 -1
  48. package/src/tests/cipher.test.js +16 -16
  49. package/src/tests/filters.test.js +24 -24
  50. package/src/tests/handlers/RedirectsHandler.test/destroy.test.js +1 -1
  51. package/src/tests/handlers/TagsHandler.test/create.test.js +2 -2
  52. package/src/tests/handlers/TagsHandler.test/destroy.test.js +1 -1
  53. package/src/tests/handlers/TagsHandler.test/update.test.js +2 -2
  54. package/src/tests/handlers/categories/create.test.js +2 -2
  55. package/src/tests/handlers/categories/destroy.test.js +1 -1
  56. package/src/tests/handlers/content_tasks/ContentTasksHandler.test/index.test.js +161 -0
  57. package/src/tests/handlers/resource_revisions/CancelSchedulesHandler.test/create.test.js +2 -2
  58. package/src/tests/handlers/resource_revisions/CodeHandler.test/update.test.js +1 -1
  59. package/src/tests/handlers/resource_revisions/GeneralHandler.test/update.test.js +1 -1
  60. package/src/tests/handlers/resource_revisions/LocksHandler.test/create.test.js +5 -5
  61. package/src/tests/handlers/resource_revisions/LocksHandler.test/create_form.test.js +6 -2
  62. package/src/tests/handlers/resource_revisions/MetaHandler.test/update.test.js +1 -1
  63. package/src/tests/handlers/resource_revisions/PublishesHandler.test/create.test.js +5 -5
  64. package/src/tests/handlers/resource_revisions/ResourceRevisionsHandler.test/create.test.js +2 -2
  65. package/src/tests/handlers/resource_revisions/ResourceRevisionsHandler.test/destroy.test.js +1 -1
  66. package/src/tests/handlers/resource_revisions/RevertsHandler.test/create.test.js +18 -3
  67. package/src/tests/handlers/resource_revisions/TagHandler.test/update.test.js +1 -1
  68. package/src/tests/handlers/resource_revisions/UnlocksHandler.test/create.test.js +2 -2
  69. package/src/tests/handlers/resource_revisions/VisualHandler.test/update.test.js +1 -1
  70. package/src/tests/handlers/resource_revisions/WidgetHandler.test/update.test.js +2 -2
  71. package/src/tests/handlers/resources/ChangeHandler.test/show.test.js +7 -2
  72. package/src/tests/handlers/resources/ClonesHandler.test/create.test.js +1 -3
  73. package/src/tests/handlers/resources/ExportsHandler.test/index.test.js +8 -8
  74. package/src/tests/handlers/resources/HistoryHandler.test/index.test.js +1 -1
  75. package/src/tests/handlers/resources/ResourcesAPIHandler.test/index.test.js +1 -5
  76. package/src/tests/handlers/resources/ResourcesHandler.test/create.test.js +2 -2
  77. package/src/tests/handlers/resources/ResourcesHandler.test/show.test.js +1 -1
  78. package/src/tests/handlers/resources/TranslationsHandler.test/create.test.js +24 -14
  79. package/src/tests/handlers/resources/TranslationsHandler.test/create_form.test.js +1 -1
  80. package/src/tests/handlers/resources/TranslationsHandler.test/index.test.js +3 -3
  81. package/src/tests/handlers/resources/URLsHandler.test/create.test.js +4 -6
  82. package/src/tests/helpers/AuthHelper.test.js +11 -12
  83. package/src/tests/helpers/CSVExportHelper.test.js +3 -3
  84. package/src/tests/helpers/FormBuilder.test.js +21 -21
  85. package/src/tests/helpers/HTMLBuilder.test.js +4 -4
  86. package/src/tests/helpers/Inflector.test.js +1 -1
  87. package/src/tests/helpers/Pagination.test.js +1 -1
  88. package/src/tests/helpers/utils.test.js +46 -0
  89. package/src/tests/routeCategoriesModule.test.js +10 -5
  90. package/src/tests/routeCollection.test.js +1 -1
  91. package/src/tests/routeMember.test.js +2 -2
  92. package/src/tests/routeNestedCollection.test.js +3 -3
  93. package/src/tests/routeNestedMember.test.js +3 -3
  94. package/src/tests/{routeResource.test.js → routeResourceModule.test.js} +28 -25
  95. package/src/tests/routeSettings.test.js +3 -3
  96. package/src/tests/routeStandard.test.js +31 -13
  97. package/src/tests/setupAuthentication.test.js +9 -6
  98. package/src/tests/support/factory.js +33 -0
  99. package/src/tests/utils.test.js +19 -19
  100. package/src/views/content_tasks/index.ejs +191 -0
  101. package/src/views/layouts/application.ejs +2 -1
  102. package/src/views/resources/_shared/_toolbar.ejs +33 -2
  103. package/src/views/resources/_shared/_translations_strip.ejs +71 -0
  104. package/src/views/resources/index.ejs +5 -0
  105. package/src/views/resources/show.ejs +1 -29
  106. package/src/views/resources/translations/create_form.ejs +13 -0
@@ -1,17 +1,28 @@
1
- const routeNestedMember = (adapter, parent, resource, handler, resourceConfig = {}) => {
1
+ const routeNestedMember = (
2
+ adapter,
3
+ parent,
4
+ resource,
5
+ handler,
6
+ resourceConfig = {},
7
+ ) => {
2
8
  const views = resourceConfig.views ?? `${parent}/${resource}`;
3
9
  const basePath = `/${parent}/:parent_id/${resource}`;
4
-
10
+
5
11
  // Create route definitions
6
12
  const routes = [
7
- ["GET", basePath, "show", handler.show],
8
- ["GET", `${basePath}/edit`, "edit_form", handler.edit_form],
9
- ["POST", basePath, "edit_form", handler.update]
13
+ ["GET", basePath, "show", handler.show],
14
+ ["GET", `${basePath}/edit`, "edit_form", handler.edit_form],
15
+ ["POST", basePath, "edit_form", handler.update],
10
16
  ];
11
17
 
12
18
  // Map routes to full configuration
13
19
  const mapping = routes.map(([verb, path, action, fn]) => [
14
- verb, path, resource, views, action, fn
20
+ verb,
21
+ path,
22
+ resource,
23
+ views,
24
+ action,
25
+ fn,
15
26
  ]);
16
27
 
17
28
  adapter.routeNestedMember(mapping, resourceConfig);
@@ -23,15 +23,20 @@ import routeCollection from "./routeCollection";
23
23
  import routeNestedCollection from "./routeNestedCollection";
24
24
  import routeNestedMember from "./routeNestedMember";
25
25
 
26
- function routeResource(
26
+ function routeResourceModule(
27
27
  adapter,
28
28
  resourceType,
29
29
  resourceTypePlural,
30
30
  { dateFields = [] } = {},
31
31
  ) {
32
+ const viewsType = "resource";
33
+ const viewsTypePlural = "resources";
34
+
32
35
  const baseResource = resourceTypePlural;
33
36
  const revisionsBaseResource = `${resourceType}_revisions`;
34
37
  const changesBaseResource = `${resourceType}_changes`;
38
+ const viewsRevisions = `${viewsType}_revisions`;
39
+ const viewsChanges = `${viewsType}_changes`;
35
40
 
36
41
  const resourceConfig = {
37
42
  resourceType,
@@ -44,7 +49,7 @@ function routeResource(
44
49
  "GET",
45
50
  `/${baseResource}/exports`,
46
51
  "exports",
47
- "resources/exports",
52
+ `${viewsTypePlural}/exports`,
48
53
  "index",
49
54
  ExportsHandler.index,
50
55
  ],
@@ -53,7 +58,7 @@ function routeResource(
53
58
 
54
59
  routeCollection(adapter, baseResource, ResourcesHandler, {
55
60
  ...resourceConfig,
56
- views: "resources",
61
+ viewsFallback: "resources",
57
62
  });
58
63
 
59
64
  routeNestedCollection(
@@ -61,12 +66,12 @@ function routeResource(
61
66
  baseResource,
62
67
  "translations",
63
68
  TranslationsHandler,
64
- { ...resourceConfig, views: "resources/translations" },
69
+ { ...resourceConfig, viewsFallback: "resources/translations" },
65
70
  );
66
71
 
67
72
  routeNestedCollection(adapter, baseResource, "history", HistoryHandler, {
68
73
  ...resourceConfig,
69
- views: "resources/history",
74
+ viewsFallback: "resources/history",
70
75
  });
71
76
 
72
77
  routeNestedCollection(
@@ -76,38 +81,38 @@ function routeResource(
76
81
  ResourceRevisionsHandler,
77
82
  {
78
83
  ...resourceConfig,
79
- views: "resource_revisions",
84
+ views: `${viewsTypePlural}/${viewsRevisions}`,
80
85
  },
81
86
  );
82
87
 
83
88
  routeNestedMember(adapter, revisionsBaseResource, "general", GeneralHandler, {
84
89
  ...resourceConfig,
85
- views: "resource_revisions/general",
90
+ viewsFallback: "resource_revisions/general",
86
91
  });
87
92
 
88
93
  routeNestedMember(adapter, revisionsBaseResource, "visuals", VisualHandler, {
89
94
  ...resourceConfig,
90
- views: "resource_revisions/visuals",
95
+ viewsFallback: "resource_revisions/visuals",
91
96
  });
92
97
 
93
98
  routeNestedMember(adapter, revisionsBaseResource, "codes", CodeHandler, {
94
99
  ...resourceConfig,
95
- views: "resource_revisions/codes",
100
+ viewsFallback: "resource_revisions/codes",
96
101
  });
97
102
 
98
103
  routeNestedMember(adapter, revisionsBaseResource, "meta", MetaHandler, {
99
104
  ...resourceConfig,
100
- views: "resource_revisions/meta",
105
+ viewsFallback: "resource_revisions/meta",
101
106
  });
102
107
 
103
108
  routeNestedMember(adapter, revisionsBaseResource, "tags", TagHandler, {
104
109
  ...resourceConfig,
105
- views: "resource_revisions/tags",
110
+ viewsFallback: "resource_revisions/tags",
106
111
  });
107
112
 
108
113
  routeNestedCollection(adapter, revisionsBaseResource, "locks", LocksHandler, {
109
114
  ...resourceConfig,
110
- views: "resource_revisions/locks",
115
+ viewsFallback: "resource_revisions/locks",
111
116
  });
112
117
 
113
118
  routeNestedCollection(
@@ -117,23 +122,23 @@ function routeResource(
117
122
  UnlocksHandler,
118
123
  {
119
124
  ...resourceConfig,
120
- views: "resource_revisions/unlocks",
125
+ views: `${viewsRevisions}/unlocks`,
121
126
  },
122
127
  );
123
128
 
124
129
  routeNestedCollection(adapter, baseResource, "clones", ClonesHandler, {
125
130
  ...resourceConfig,
126
- views: "resources/clones",
131
+ views: `${viewsTypePlural}/clones`,
127
132
  });
128
133
 
129
134
  routeNestedCollection(adapter, baseResource, "urls", URLsHandler, {
130
135
  ...resourceConfig,
131
- views: "resources/urls",
136
+ viewsFallback: "resources/urls",
132
137
  });
133
138
 
134
139
  routeNestedCollection(adapter, baseResource, "deletes", DeletesHandler, {
135
140
  ...resourceConfig,
136
- views: "resources/deletes",
141
+ viewsFallback: "resources/deletes",
137
142
  });
138
143
 
139
144
  routeNestedCollection(
@@ -143,7 +148,7 @@ function routeResource(
143
148
  RevertsHandler,
144
149
  {
145
150
  ...resourceConfig,
146
- views: "resource_changes/reverts",
151
+ views: `${viewsChanges}/reverts`,
147
152
  },
148
153
  );
149
154
 
@@ -154,7 +159,7 @@ function routeResource(
154
159
  PublishesHandler,
155
160
  {
156
161
  ...resourceConfig,
157
- views: "resource_revisions/publishes",
162
+ viewsFallback: "resource_revisions/publishes",
158
163
  },
159
164
  );
160
165
 
@@ -165,7 +170,7 @@ function routeResource(
165
170
  CancelSchedulesHandler,
166
171
  {
167
172
  ...resourceConfig,
168
- views: "resource_revisions/cancel_schedules",
173
+ views: `${viewsRevisions}/cancel_schedules`,
169
174
  },
170
175
  );
171
176
 
@@ -192,4 +197,4 @@ function routeResource(
192
197
  );
193
198
  }
194
199
 
195
- export default routeResource;
200
+ export default routeResourceModule;
@@ -3,8 +3,9 @@ import RedirectsHandler from "./handlers/RedirectsHandler";
3
3
  import TagsAPIHandler from "./handlers/TagsAPIHandler";
4
4
  import TagsHandler from "./handlers/TagsHandler";
5
5
  import routeCollection from "./routeCollection";
6
- import routeResource from "./routeResource";
6
+ import routeResourceModule from "./routeResourceModule";
7
7
  import routeSettings from "./routeSettings";
8
+ import ContentTasksHandler from "./handlers/content_tasks/ContentTasksHandler";
8
9
 
9
10
  function routeStandard(adapter) {
10
11
  adapter.routeCollection(
@@ -25,11 +26,14 @@ function routeStandard(adapter) {
25
26
 
26
27
  routeCollection(adapter, "redirects", RedirectsHandler);
27
28
  routeCollection(adapter, "tags", TagsHandler);
29
+ routeCollection(adapter, "content_tasks", ContentTasksHandler);
28
30
  routeCollection(adapter, "api/tags", TagsAPIHandler);
29
31
  routeSettings(adapter);
30
- routeResource(adapter, "page", "pages", { dateFields: [] });
31
- routeResource(adapter, "article", "articles", { dateFields: ["publish_at"] });
32
- routeResource(adapter, "event", "events", {
32
+ routeResourceModule(adapter, "page", "pages", { dateFields: [] });
33
+ routeResourceModule(adapter, "article", "articles", {
34
+ dateFields: ["publish_at"],
35
+ });
36
+ routeResourceModule(adapter, "event", "events", {
33
37
  dateFields: ["publish_at", "starts_at", "ends_at"],
34
38
  });
35
39
  }
@@ -134,7 +134,7 @@ const setupAuthentication = (app, config) => {
134
134
  c.req.query().redirect_to,
135
135
  "&snapshot=",
136
136
  ot,
137
- ].join("")
137
+ ].join(""),
138
138
  );
139
139
  });
140
140
 
package/src/setupCloud.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import Categories from "./cloud/Categories";
2
+ import ContentTasks from "./cloud/ContentTasks";
2
3
  import Redirects from "./cloud/Redirects";
3
4
  import ResourceChanges from "./cloud/ResourceChanges";
4
5
  import ResourceRevisions from "./cloud/ResourceRevisions";
@@ -25,6 +26,10 @@ function setupCloud(ctx, getConfig) {
25
26
  ctx.authentication.token,
26
27
  );
27
28
  ctx.client.categories = new Categories(getConfig, ctx.authentication.token);
29
+ ctx.client.contentTasks = new ContentTasks(
30
+ getConfig,
31
+ ctx.authentication.token,
32
+ );
28
33
  }
29
34
 
30
35
  export default setupCloud;
@@ -15,7 +15,7 @@ describe("HonoAdapter parseFormBody", () => {
15
15
  "order[items][2][name]": "A t-shirt",
16
16
  "order[items][2][price]": 20,
17
17
  "order[items][2][qty]": 1,
18
- })
18
+ }),
19
19
  ).toEqual({
20
20
  order: {
21
21
  email: "john@example.com",
@@ -36,4 +36,4 @@ describe("HonoAdapter parseFormBody", () => {
36
36
  },
37
37
  });
38
38
  });
39
- });
39
+ });
@@ -60,7 +60,7 @@ describe("HonoAdapter constructor", () => {
60
60
  expect(router.get).toHaveBeenCalledWith("/", expect.any(Function));
61
61
 
62
62
  const redirectHandler = router.get.mock.calls.find(
63
- ([path]) => path === "/"
63
+ ([path]) => path === "/",
64
64
  )[1];
65
65
  const c = { redirect: jest.fn().mockReturnValue("redirected") };
66
66
  expect(redirectHandler(c)).toBe("redirected");
@@ -86,15 +86,15 @@ describe("HonoAdapter.getActionPath", () => {
86
86
  test("returns app path when it exists", () => {
87
87
  existsSync.mockReturnValue(true);
88
88
 
89
- const result = adapter.getActionPath("resources", "index");
89
+ const result = adapter.getActionPath("authors", "resources", "index");
90
90
 
91
- expect(result).toBe(`${process.cwd()}/src/views/resources/index.ejs`);
91
+ expect(result).toBe(`${process.cwd()}/src/views/authors/index.ejs`);
92
92
  });
93
93
 
94
94
  test("returns package path when app missing", () => {
95
95
  existsSync.mockReturnValue(false);
96
96
 
97
- const result = adapter.getActionPath("resources", "index");
97
+ const result = adapter.getActionPath("widget-sets", "resources", "index");
98
98
 
99
99
  expect(result).toContain("/views/resources/index.ejs");
100
100
  });
@@ -139,7 +139,7 @@ describe("HonoAdapter.renderPartial", () => {
139
139
  expect(ejs.render).toHaveBeenCalledWith(
140
140
  "<%= foo %>",
141
141
  expect.objectContaining({ foo: "bar", extra: 1 }),
142
- expect.objectContaining({ filename: expect.any(String) })
142
+ expect.objectContaining({ filename: expect.any(String) }),
143
143
  );
144
144
  });
145
145
 
@@ -228,7 +228,7 @@ describe("HonoAdapter.renderLayout", () => {
228
228
  expect(result).toBe("<html>ok</html>");
229
229
  expect(ejs.renderFile).toHaveBeenCalledWith(
230
230
  expect.stringContaining("/views/layouts/application.ejs"),
231
- { foo: "bar", body: "<p>body</p>" }
231
+ { foo: "bar", body: "<p>body</p>" },
232
232
  );
233
233
  });
234
234
  });
@@ -291,7 +291,13 @@ describe("HonoAdapter.createContext", () => {
291
291
  const adapter = new HonoAdapter(makeRouter(), makeConfig());
292
292
  const routerCtx = makeRouterCtx();
293
293
 
294
- const ctx = await adapter.createContext(routerCtx, () => {}, "GET", "pages", "index");
294
+ const ctx = await adapter.createContext(
295
+ routerCtx,
296
+ () => {},
297
+ "GET",
298
+ "pages",
299
+ "index",
300
+ );
295
301
 
296
302
  expect(ctx).toBeInstanceOf(RaketaContext);
297
303
  expect(ctx.body).toEqual({ foo: "bar" });
@@ -307,7 +313,13 @@ describe("HonoAdapter.createContext", () => {
307
313
  },
308
314
  });
309
315
 
310
- const ctx = await adapter.createContext(routerCtx, () => {}, "GET", "pages", "index");
316
+ const ctx = await adapter.createContext(
317
+ routerCtx,
318
+ () => {},
319
+ "GET",
320
+ "pages",
321
+ "index",
322
+ );
311
323
 
312
324
  expect(ctx.body).toBe("plain text");
313
325
  });
@@ -317,14 +329,18 @@ describe("HonoAdapter.createContext", () => {
317
329
  const formBody = { "user[name]": "Jane" };
318
330
  const routerCtx = makeRouterCtx({
319
331
  req: {
320
- header: jest
321
- .fn()
322
- .mockReturnValue("application/x-www-form-urlencoded"),
332
+ header: jest.fn().mockReturnValue("application/x-www-form-urlencoded"),
323
333
  parseBody: jest.fn().mockResolvedValue(formBody),
324
334
  },
325
335
  });
326
336
 
327
- const ctx = await adapter.createContext(routerCtx, () => {}, "POST", "pages", "create");
337
+ const ctx = await adapter.createContext(
338
+ routerCtx,
339
+ () => {},
340
+ "POST",
341
+ "pages",
342
+ "create",
343
+ );
328
344
 
329
345
  expect(ctx.resourceParams).toEqual({ user: { name: "Jane" } });
330
346
  });
@@ -338,7 +354,13 @@ describe("HonoAdapter.createContext", () => {
338
354
  },
339
355
  });
340
356
 
341
- const ctx = await adapter.createContext(routerCtx, () => {}, "POST", "pages", "create");
357
+ const ctx = await adapter.createContext(
358
+ routerCtx,
359
+ () => {},
360
+ "POST",
361
+ "pages",
362
+ "create",
363
+ );
342
364
 
343
365
  expect(ctx.body).toEqual({ raw: "data" });
344
366
  });
@@ -386,7 +408,7 @@ describe("HonoAdapter.createAction", () => {
386
408
 
387
409
  await adapter.createAction(
388
410
  ["GET", "/pages", "pages", "resources", "index", handler],
389
- {}
411
+ {},
390
412
  );
391
413
 
392
414
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -407,7 +429,7 @@ describe("HonoAdapter.createAction", () => {
407
429
 
408
430
  await adapter.createAction(
409
431
  ["POST", "/pages", "pages", "pages", "create_form", handler],
410
- {}
432
+ {},
411
433
  );
412
434
 
413
435
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -425,7 +447,7 @@ describe("HonoAdapter.createAction", () => {
425
447
 
426
448
  await adapter.createAction(
427
449
  ["GET", "/api/pages", "pages", "pages", "index", handler],
428
- {}
450
+ {},
429
451
  );
430
452
 
431
453
  const registered = getRegisteredHandler(adapter, "/en/api/pages");
@@ -443,7 +465,7 @@ describe("HonoAdapter.createAction", () => {
443
465
 
444
466
  await adapter.createAction(
445
467
  ["GET", "/exports", "pages", "pages", "index", handler],
446
- {}
468
+ {},
447
469
  );
448
470
 
449
471
  const registered = getRegisteredHandler(adapter, "/en/exports");
@@ -463,7 +485,7 @@ describe("HonoAdapter.createAction", () => {
463
485
 
464
486
  await adapter.createAction(
465
487
  ["GET", "/pages", "pages", "pages", "index", handler],
466
- {}
488
+ {},
467
489
  );
468
490
 
469
491
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -482,7 +504,7 @@ describe("HonoAdapter.createAction", () => {
482
504
 
483
505
  await adapter.createAction(
484
506
  ["GET", "/pages", "pages", "pages", "index", handler],
485
- {}
507
+ {},
486
508
  );
487
509
 
488
510
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -502,7 +524,7 @@ describe("HonoAdapter.createAction", () => {
502
524
 
503
525
  await adapter.createAction(
504
526
  ["GET", "/pages", "pages", "pages", "index", handler],
505
- {}
527
+ {},
506
528
  );
507
529
 
508
530
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -522,7 +544,7 @@ describe("HonoAdapter.createAction", () => {
522
544
 
523
545
  await adapter.createAction(
524
546
  ["GET", "/pages", "pages", "pages", "index", handler],
525
- {}
547
+ {},
526
548
  );
527
549
 
528
550
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -542,7 +564,7 @@ describe("HonoAdapter.createAction", () => {
542
564
 
543
565
  await adapter.createAction(
544
566
  ["GET", "/pages", "pages", "pages", "index", handler],
545
- {}
567
+ {},
546
568
  );
547
569
 
548
570
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -561,7 +583,7 @@ describe("HonoAdapter.createAction", () => {
561
583
 
562
584
  await adapter.createAction(
563
585
  ["GET", "/pages", "pages", "pages", "index", handler],
564
- {}
586
+ {},
565
587
  );
566
588
 
567
589
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -580,7 +602,7 @@ describe("HonoAdapter.createAction", () => {
580
602
 
581
603
  await adapter.createAction(
582
604
  ["GET", "/pages", "pages", "pages", "index", handler],
583
- {}
605
+ {},
584
606
  );
585
607
 
586
608
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -598,7 +620,7 @@ describe("HonoAdapter.createAction", () => {
598
620
 
599
621
  await adapter.createAction(
600
622
  ["GET", "/pages", "pages", "pages", "index", handler],
601
- {}
623
+ {},
602
624
  );
603
625
 
604
626
  const registered = getRegisteredHandler(adapter, "/en/pages");
@@ -4,37 +4,47 @@ jest.mock("../setupAuthentication", () => jest.fn());
4
4
 
5
5
  describe("HonoAdapter Global Filters", () => {
6
6
  let adapter;
7
-
7
+
8
8
  beforeEach(() => {
9
- adapter = new HonoAdapter({
10
- get: jest.fn(), post: jest.fn(), put: jest.fn(), delete: jest.fn(),
11
- router: { routes: [] }
12
- }, {
13
- i18n: { locales: { en: "English" }, defaultLocale: "en", timezones: {} },
14
- remoteConfig: {},
15
- layout: {}
16
- });
9
+ adapter = new HonoAdapter(
10
+ {
11
+ get: jest.fn(),
12
+ post: jest.fn(),
13
+ put: jest.fn(),
14
+ delete: jest.fn(),
15
+ router: { routes: [] },
16
+ },
17
+ {
18
+ i18n: {
19
+ locales: { en: "English" },
20
+ defaultLocale: "en",
21
+ timezones: {},
22
+ },
23
+ remoteConfig: {},
24
+ layout: {},
25
+ },
26
+ );
17
27
  });
18
-
28
+
19
29
  test("setBeforeFilter adds filters to the globalBeforeFilters array", () => {
20
30
  expect(adapter.globalBeforeFilters).toEqual([]);
21
-
31
+
22
32
  const pattern = /\/settings\/content/;
23
33
  const filter = () => ({ assigns: { foo: "bar" } });
24
-
34
+
25
35
  adapter.setBeforeFilter(pattern, filter);
26
-
36
+
27
37
  expect(adapter.globalBeforeFilters).toEqual([{ pattern, filter }]);
28
38
  });
29
-
39
+
30
40
  test("setAfterFilter adds filters to the globalAfterFilters array", () => {
31
41
  expect(adapter.globalAfterFilters).toEqual([]);
32
-
42
+
33
43
  const pattern = /\/settings\/content/;
34
44
  const filter = () => ({ assigns: { foo: "bar" } });
35
-
45
+
36
46
  adapter.setAfterFilter(pattern, filter);
37
-
47
+
38
48
  expect(adapter.globalAfterFilters).toEqual([{ pattern, filter }]);
39
49
  });
40
- });
50
+ });
@@ -58,7 +58,7 @@ describe("HonoAdapter", () => {
58
58
  "order[items][2][name]": "A t-shirt",
59
59
  "order[items][2][price]": 20,
60
60
  "order[items][2][qty]": 1,
61
- })
61
+ }),
62
62
  ).toEqual({
63
63
  order: {
64
64
  email: "john@example.com",
@@ -122,7 +122,7 @@ describe("HonoAdapter", () => {
122
122
  expect(
123
123
  adapter.parseFormBody({
124
124
  "tags[]": ["javascript", "react", "node"],
125
- })
125
+ }),
126
126
  ).toEqual({
127
127
  tags: ["javascript", "react", "node"],
128
128
  });
@@ -157,7 +157,7 @@ describe("HonoAdapter", () => {
157
157
  },
158
158
  },
159
159
  },
160
- "<h1>Hi</h1>"
160
+ "<h1>Hi</h1>",
161
161
  );
162
162
 
163
163
  expect(typeof result).toBe("string");