@nocobase/test 1.6.0-alpha.1 → 1.6.0-alpha.10

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.
@@ -14,6 +14,7 @@ export * from './mock-isolated-cluster';
14
14
  export * from './mock-server';
15
15
  export declare const pgOnly: () => any;
16
16
  export declare const isPg: () => boolean;
17
+ export declare const isMysql: () => boolean;
17
18
  export declare function randomStr(): string;
18
19
  export declare function sleep(ms?: number): Promise<unknown>;
19
20
  export declare const waitSecond: typeof sleep;
@@ -57,8 +57,8 @@ interface Resource {
57
57
  [name: string]: (params?: ActionParams) => Promise<supertest.Response>;
58
58
  }
59
59
  interface ExtendedAgent extends SuperAgentTest {
60
- login: (user: any) => ExtendedAgent;
61
- loginUsingId: (userId: number) => ExtendedAgent;
60
+ login: (user: any, roleName?: string) => ExtendedAgent;
61
+ loginUsingId: (userId: number, roleName?: string) => ExtendedAgent;
62
62
  resource: (name: string, resourceOf?: any) => Resource;
63
63
  }
64
64
  export declare class MockServer extends Application {
@@ -69,7 +69,7 @@ export declare class MockServer extends Application {
69
69
  clean?: boolean;
70
70
  }): Promise<void>;
71
71
  destroy(options?: any): Promise<void>;
72
- agent(): ExtendedAgent;
72
+ agent(callback?: any): ExtendedAgent;
73
73
  protected createDatabase(options: ApplicationOptions): import("@nocobase/database").MockDatabase;
74
74
  }
75
75
  export declare function mockServer(options?: ApplicationOptions): MockServer;
@@ -53,7 +53,6 @@ async function iconChecker(options) {
53
53
  await import_user_event.default.click(formItem.querySelector("span[role=img]") || formItem.querySelector("button"));
54
54
  await (0, import_react.waitFor)(() => {
55
55
  (0, import_utils.expectNoTsError)(import_react.screen.queryByRole("tooltip")).toBeInTheDocument();
56
- (0, import_utils.expectNoTsError)(import_react.screen.getByRole("tooltip").querySelector(".ant-popover-title")).toHaveTextContent("Icon");
57
56
  });
58
57
  await import_user_event.default.click(import_react.screen.getByRole("tooltip").querySelector(`span[aria-label="${options.newValue}"]`));
59
58
  await (0, import_react.waitFor)(() => {
@@ -14,6 +14,7 @@ export * from './mock-isolated-cluster';
14
14
  export * from './mock-server';
15
15
  export declare const pgOnly: () => any;
16
16
  export declare const isPg: () => boolean;
17
+ export declare const isMysql: () => boolean;
17
18
  export declare function randomStr(): string;
18
19
  export declare function sleep(ms?: number): Promise<unknown>;
19
20
  export declare const waitSecond: typeof sleep;
@@ -40,6 +40,7 @@ var server_exports = {};
40
40
  __export(server_exports, {
41
41
  MockDatabase: () => import_database.MockDatabase,
42
42
  createWsClient: () => createWsClient,
43
+ isMysql: () => isMysql,
43
44
  isPg: () => isPg,
44
45
  mockDatabase: () => import_database.mockDatabase,
45
46
  pgOnly: () => pgOnly,
@@ -59,6 +60,7 @@ __reExport(server_exports, require("./mock-isolated-cluster"), module.exports);
59
60
  __reExport(server_exports, require("./mock-server"), module.exports);
60
61
  const pgOnly = /* @__PURE__ */ __name(() => process.env.DB_DIALECT == "postgres" ? import_vitest.describe : import_vitest.describe.skip, "pgOnly");
61
62
  const isPg = /* @__PURE__ */ __name(() => process.env.DB_DIALECT == "postgres", "isPg");
63
+ const isMysql = /* @__PURE__ */ __name(() => process.env.DB_DIALECT == "mysql", "isMysql");
62
64
  function randomStr() {
63
65
  return Math.random().toString(36).substring(2);
64
66
  }
@@ -112,6 +114,7 @@ const createWsClient = /* @__PURE__ */ __name(async ({ serverPort, options = {}
112
114
  0 && (module.exports = {
113
115
  MockDatabase,
114
116
  createWsClient,
117
+ isMysql,
115
118
  isPg,
116
119
  mockDatabase,
117
120
  pgOnly,
@@ -57,8 +57,8 @@ interface Resource {
57
57
  [name: string]: (params?: ActionParams) => Promise<supertest.Response>;
58
58
  }
59
59
  interface ExtendedAgent extends SuperAgentTest {
60
- login: (user: any) => ExtendedAgent;
61
- loginUsingId: (userId: number) => ExtendedAgent;
60
+ login: (user: any, roleName?: string) => ExtendedAgent;
61
+ loginUsingId: (userId: number, roleName?: string) => ExtendedAgent;
62
62
  resource: (name: string, resourceOf?: any) => Resource;
63
63
  }
64
64
  export declare class MockServer extends Application {
@@ -69,7 +69,7 @@ export declare class MockServer extends Application {
69
69
  clean?: boolean;
70
70
  }): Promise<void>;
71
71
  destroy(options?: any): Promise<void>;
72
- agent(): ExtendedAgent;
72
+ agent(callback?: any): ExtendedAgent;
73
73
  protected createDatabase(options: ApplicationOptions): import("@nocobase/database").MockDatabase;
74
74
  }
75
75
  export declare function mockServer(options?: ApplicationOptions): MockServer;
@@ -53,6 +53,9 @@ var import_qs = __toESM(require("qs"));
53
53
  var import_supertest = __toESM(require("supertest"));
54
54
  var import_memory_pub_sub_adapter = require("./memory-pub-sub-adapter");
55
55
  var import_mock_data_source = require("./mock-data-source");
56
+ var import_path = __toESM(require("path"));
57
+ var import_node_process = __toESM(require("node:process"));
58
+ var import_fs = require("fs");
56
59
  const _MockServer = class _MockServer extends import_server.Application {
57
60
  registerMockDataSource() {
58
61
  this.dataSourceManager.factory.register("mock", import_mock_data_source.MockDataSource);
@@ -87,20 +90,21 @@ const _MockServer = class _MockServer extends import_server.Application {
87
90
  import_server.Gateway.getInstance().destroy();
88
91
  await import_server.AppSupervisor.getInstance().destroy();
89
92
  }
90
- agent() {
91
- const agent = import_supertest.default.agent(this.callback());
93
+ agent(callback) {
94
+ const agent = import_supertest.default.agent(callback || this.callback());
92
95
  const prefix = this.resourcer.options.prefix;
93
96
  const proxy = new Proxy(agent, {
94
97
  get(target, method, receiver) {
95
98
  if (["login", "loginUsingId"].includes(method)) {
96
- return (userOrId) => {
99
+ return (userOrId, roleName) => {
97
100
  return proxy.auth(
98
101
  import_jsonwebtoken.default.sign(
99
102
  {
100
103
  userId: typeof userOrId === "number" ? userOrId : userOrId == null ? void 0 : userOrId.id,
101
- temp: true
104
+ temp: true,
105
+ roleName
102
106
  },
103
- process.env.APP_KEY,
107
+ import_node_process.default.env.APP_KEY,
104
108
  {
105
109
  expiresIn: "1d"
106
110
  }
@@ -252,6 +256,12 @@ async function createMockCluster({
252
256
  }
253
257
  __name(createMockCluster, "createMockCluster");
254
258
  async function createMockServer(options = {}) {
259
+ const cachePath = import_path.default.join(import_node_process.default.cwd(), "storage", "cache");
260
+ try {
261
+ await import_fs.promises.rm(cachePath, { recursive: true, force: true });
262
+ await import_fs.promises.mkdir(cachePath, { recursive: true });
263
+ } catch (e) {
264
+ }
255
265
  const { version, beforeInstall, skipInstall, skipStart, ...others } = options;
256
266
  const app = mockServer(others);
257
267
  if (!skipInstall) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/test",
3
- "version": "1.6.0-alpha.1",
3
+ "version": "1.6.0-alpha.10",
4
4
  "main": "lib/index.js",
5
5
  "module": "./src/index.ts",
6
6
  "types": "./lib/index.d.ts",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@faker-js/faker": "8.1.0",
54
- "@nocobase/server": "1.6.0-alpha.1",
54
+ "@nocobase/server": "1.6.0-alpha.10",
55
55
  "@playwright/test": "^1.45.3",
56
56
  "@testing-library/jest-dom": "^6.4.2",
57
57
  "@testing-library/react": "^14.0.0",
@@ -76,5 +76,5 @@
76
76
  "vitest-dom": "^0.1.1",
77
77
  "ws": "^8.13.0"
78
78
  },
79
- "gitHead": "a4c91015e34ec0c9a427451b5fbdfb5fedc4f3d7"
79
+ "gitHead": "8ba8204282be7bf6674ef427fdbe31caa65977d5"
80
80
  }