@nocobase/test 0.7.0-alpha.7 → 0.7.0-alpha.72

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.
package/lib/index.js CHANGED
@@ -1,17 +1,38 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ mockDatabase: true
11
8
  };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.mockDatabase = void 0;
14
- var database_1 = require("@nocobase/database");
15
- Object.defineProperty(exports, "mockDatabase", { enumerable: true, get: function () { return database_1.mockDatabase; } });
16
- __exportStar(require("./mockServer"), exports);
17
- //# sourceMappingURL=index.js.map
9
+ Object.defineProperty(exports, "mockDatabase", {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return _database().mockDatabase;
13
+ }
14
+ });
15
+
16
+ function _database() {
17
+ const data = require("@nocobase/database");
18
+
19
+ _database = function _database() {
20
+ return data;
21
+ };
22
+
23
+ return data;
24
+ }
25
+
26
+ var _mockServer = require("./mockServer");
27
+
28
+ Object.keys(_mockServer).forEach(function (key) {
29
+ if (key === "default" || key === "__esModule") return;
30
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
+ if (key in exports && exports[key] === _mockServer[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _mockServer[key];
36
+ }
37
+ });
38
+ });
@@ -49,7 +49,7 @@ interface Resource {
49
49
  [name: string]: (params?: ActionParams) => Promise<supertest.Response>;
50
50
  }
51
51
  export declare class MockServer extends Application {
52
- loadAndInstall(): Promise<void>;
52
+ loadAndInstall(options?: any): Promise<void>;
53
53
  cleanDb(): Promise<void>;
54
54
  agent(): SuperAgentTest & {
55
55
  resource: (name: string, resourceOf?: any) => Resource;
package/lib/mockServer.js CHANGED
@@ -1,118 +1,187 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MockServer = void 0;
7
+ exports.createMockServer = createMockServer;
8
+ exports.default = void 0;
9
+ exports.mockServer = mockServer;
10
+
11
+ function _database() {
12
+ const data = require("@nocobase/database");
13
+
14
+ _database = function _database() {
15
+ return data;
16
+ };
17
+
18
+ return data;
19
+ }
20
+
21
+ function _server() {
22
+ const data = _interopRequireDefault(require("@nocobase/server"));
23
+
24
+ _server = function _server() {
25
+ return data;
26
+ };
27
+
28
+ return data;
29
+ }
30
+
31
+ function _qs() {
32
+ const data = _interopRequireDefault(require("qs"));
33
+
34
+ _qs = function _qs() {
35
+ return data;
36
+ };
37
+
38
+ return data;
39
+ }
40
+
41
+ function _supertest() {
42
+ const data = _interopRequireDefault(require("supertest"));
43
+
44
+ _supertest = function _supertest() {
45
+ return data;
46
+ };
47
+
48
+ return data;
49
+ }
50
+
51
+ const _excluded = ["filterByTk", "values", "file"];
52
+
53
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
54
+
55
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
56
+
57
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
58
+
59
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
60
+
61
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
62
+
63
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
64
+
65
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
66
+
67
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
68
+
69
+ class MockServer extends _server().default {
70
+ loadAndInstall(options = {}) {
71
+ var _this = this;
72
+
73
+ return _asyncToGenerator(function* () {
74
+ yield _this.load();
75
+ yield _this.install(_objectSpread(_objectSpread({}, options), {}, {
76
+ sync: {
77
+ force: true,
78
+ alter: {
79
+ drop: false
80
+ }
19
81
  }
20
- return t;
21
- };
22
- var __importDefault = (this && this.__importDefault) || function (mod) {
23
- return (mod && mod.__esModule) ? mod : { "default": mod };
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createMockServer = exports.mockServer = exports.MockServer = void 0;
27
- const database_1 = require("@nocobase/database");
28
- const server_1 = __importDefault(require("@nocobase/server"));
29
- const qs_1 = __importDefault(require("qs"));
30
- const supertest_1 = __importDefault(require("supertest"));
31
- class MockServer extends server_1.default {
32
- loadAndInstall() {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- yield this.load();
35
- yield this.install({
36
- sync: {
37
- force: true,
38
- alter: {
39
- drop: false,
40
- },
41
- },
42
- });
43
- });
44
- }
45
- cleanDb() {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- yield this.db.sequelize.getQueryInterface().dropAllTables();
48
- });
49
- }
50
- agent() {
51
- const agent = supertest_1.default.agent(this.appManager.callback());
52
- const prefix = this.resourcer.options.prefix;
53
- const proxy = new Proxy(agent, {
54
- get(target, method, receiver) {
55
- if (method === 'resource') {
56
- return (name, resourceOf) => {
57
- const keys = name.split('.');
58
- const proxy = new Proxy({}, {
59
- get(target, method, receiver) {
60
- return (params = {}) => {
61
- let { filterByTk, values = {}, file } = params, restParams = __rest(params, ["filterByTk", "values", "file"]);
62
- if (params.associatedIndex) {
63
- resourceOf = params.associatedIndex;
64
- }
65
- if (params.resourceIndex) {
66
- filterByTk = params.resourceIndex;
67
- }
68
- let url = prefix || '';
69
- if (keys.length > 1) {
70
- url += `/${keys[0]}/${resourceOf}/${keys[1]}`;
71
- }
72
- else {
73
- url += `/${name}`;
74
- }
75
- url += `:${method}`;
76
- if (filterByTk) {
77
- url += `/${filterByTk}`;
78
- }
79
- const queryString = qs_1.default.stringify(restParams, { arrayFormat: 'brackets' });
80
- switch (method) {
81
- case 'upload':
82
- return agent.post(`${url}?${queryString}`).attach('file', file).field(values);
83
- case 'list':
84
- case 'get':
85
- return agent.get(`${url}?${queryString}`);
86
- default:
87
- return agent.post(`${url}?${queryString}`).send(values);
88
- }
89
- };
90
- },
91
- });
92
- return proxy;
93
- };
94
- }
95
- return (...args) => {
96
- return agent[method](...args);
82
+ }));
83
+ })();
84
+ }
85
+
86
+ cleanDb() {
87
+ var _this2 = this;
88
+
89
+ return _asyncToGenerator(function* () {
90
+ yield _this2.db.sequelize.getQueryInterface().dropAllTables();
91
+ })();
92
+ }
93
+
94
+ agent() {
95
+ const agent = _supertest().default.agent(this.appManager.callback());
96
+
97
+ const prefix = this.resourcer.options.prefix;
98
+ const proxy = new Proxy(agent, {
99
+ get(target, method, receiver) {
100
+ if (method === 'resource') {
101
+ return (name, resourceOf) => {
102
+ const keys = name.split('.');
103
+ const proxy = new Proxy({}, {
104
+ get(target, method, receiver) {
105
+ return (params = {}) => {
106
+ let filterByTk = params.filterByTk,
107
+ _params$values = params.values,
108
+ values = _params$values === void 0 ? {} : _params$values,
109
+ file = params.file,
110
+ restParams = _objectWithoutProperties(params, _excluded);
111
+
112
+ if (params.associatedIndex) {
113
+ resourceOf = params.associatedIndex;
114
+ }
115
+
116
+ if (params.resourceIndex) {
117
+ filterByTk = params.resourceIndex;
118
+ }
119
+
120
+ let url = prefix || '';
121
+
122
+ if (keys.length > 1) {
123
+ url += `/${keys[0]}/${resourceOf}/${keys[1]}`;
124
+ } else {
125
+ url += `/${name}`;
126
+ }
127
+
128
+ url += `:${method}`;
129
+
130
+ if (filterByTk) {
131
+ url += `/${filterByTk}`;
132
+ }
133
+
134
+ const queryString = _qs().default.stringify(restParams, {
135
+ arrayFormat: 'brackets'
136
+ });
137
+
138
+ switch (method) {
139
+ case 'upload':
140
+ return agent.post(`${url}?${queryString}`).attach('file', file).field(values);
141
+
142
+ case 'list':
143
+ case 'get':
144
+ return agent.get(`${url}?${queryString}`);
145
+
146
+ default:
147
+ return agent.post(`${url}?${queryString}`).send(values);
148
+ }
97
149
  };
98
- },
99
- });
100
- return proxy;
101
- }
150
+ }
151
+
152
+ });
153
+ return proxy;
154
+ };
155
+ }
156
+
157
+ return (...args) => {
158
+ return agent[method](...args);
159
+ };
160
+ }
161
+
162
+ });
163
+ return proxy;
164
+ }
165
+
102
166
  }
167
+
103
168
  exports.MockServer = MockServer;
169
+
104
170
  function mockServer(options = {}) {
105
- let database;
106
- if ((options === null || options === void 0 ? void 0 : options.database) instanceof database_1.Database) {
107
- database = options.database;
108
- }
109
- else {
110
- database = (0, database_1.mockDatabase)((options === null || options === void 0 ? void 0 : options.database) || {});
111
- }
112
- return new MockServer(Object.assign(Object.assign({}, options), { database }));
171
+ let database;
172
+
173
+ if ((options === null || options === void 0 ? void 0 : options.database) instanceof _database().Database) {
174
+ database = options.database;
175
+ } else {
176
+ database = (0, _database().mockDatabase)((options === null || options === void 0 ? void 0 : options.database) || {});
177
+ }
178
+
179
+ return new MockServer(_objectSpread(_objectSpread({}, options), {}, {
180
+ database
181
+ }));
113
182
  }
114
- exports.mockServer = mockServer;
115
- function createMockServer() { }
116
- exports.createMockServer = createMockServer;
117
- exports.default = mockServer;
118
- //# sourceMappingURL=mockServer.js.map
183
+
184
+ function createMockServer() {}
185
+
186
+ var _default = mockServer;
187
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/test",
3
- "version": "0.7.0-alpha.7",
3
+ "version": "0.7.0-alpha.72",
4
4
  "main": "lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -10,19 +10,15 @@
10
10
  "url": "http://www.apache.org/licenses/LICENSE-2.0"
11
11
  }
12
12
  ],
13
- "scripts": {
14
- "build": "rimraf -rf lib esm dist && npm run build:cjs && npm run build:esm",
15
- "build:cjs": "tsc --project tsconfig.build.json",
16
- "build:esm": "tsc --project tsconfig.build.json --module es2015 --outDir esm"
17
- },
18
13
  "dependencies": {
19
- "@nocobase/server": "0.7.0-alpha.7",
14
+ "@nocobase/server": "0.7.0-alpha.72",
20
15
  "@types/supertest": "^2.0.11",
21
16
  "mockjs": "^1.1.0",
22
- "mysql2": "^2.1.0",
23
- "pg": "^8.3.3",
24
- "pg-hstore": "^2.3.3",
17
+ "mysql2": "^2.3.3",
18
+ "pg": "^8.7.3",
19
+ "pg-hstore": "^2.3.4",
20
+ "sqlite3": "^5.0.8",
25
21
  "supertest": "^6.1.6"
26
22
  },
27
- "gitHead": "58b599aaec7ac28a536e6ba29b9990b05164a20b"
23
+ "gitHead": "db24b85879b0f911458914b49ea9644fd7eb7562"
28
24
  }
package/esm/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { mockDatabase } from '@nocobase/database';
2
- export * from './mockServer';
package/esm/index.js DELETED
@@ -1,3 +0,0 @@
1
- export { mockDatabase } from '@nocobase/database';
2
- export * from './mockServer';
3
- //# sourceMappingURL=index.js.map
package/esm/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,cAAc,cAAc,CAAC","sourcesContent":["export { mockDatabase } from '@nocobase/database';\nexport * from './mockServer';\n\n"]}
@@ -1,60 +0,0 @@
1
- import Application, { ApplicationOptions } from '@nocobase/server';
2
- import supertest, { SuperAgentTest } from 'supertest';
3
- interface ActionParams {
4
- filterByTk?: any;
5
- fields?: string[];
6
- filter?: any;
7
- sort?: string[];
8
- page?: number;
9
- pageSize?: number;
10
- values?: any;
11
- /**
12
- * @deprecated
13
- */
14
- resourceName?: string;
15
- /**
16
- * @deprecated
17
- */
18
- resourceIndex?: string;
19
- /**
20
- * @deprecated
21
- */
22
- associatedName?: string;
23
- /**
24
- * @deprecated
25
- */
26
- associatedIndex?: string;
27
- [key: string]: any;
28
- }
29
- interface SortActionParams {
30
- resourceName?: string;
31
- resourceIndex?: any;
32
- associatedName?: string;
33
- associatedIndex?: any;
34
- sourceId?: any;
35
- targetId?: any;
36
- sortField?: string;
37
- method?: string;
38
- target?: any;
39
- sticky?: boolean;
40
- [key: string]: any;
41
- }
42
- interface Resource {
43
- get: (params?: ActionParams) => Promise<supertest.Response>;
44
- list: (params?: ActionParams) => Promise<supertest.Response>;
45
- create: (params?: ActionParams) => Promise<supertest.Response>;
46
- update: (params?: ActionParams) => Promise<supertest.Response>;
47
- destroy: (params?: ActionParams) => Promise<supertest.Response>;
48
- sort: (params?: SortActionParams) => Promise<supertest.Response>;
49
- [name: string]: (params?: ActionParams) => Promise<supertest.Response>;
50
- }
51
- export declare class MockServer extends Application {
52
- loadAndInstall(): Promise<void>;
53
- cleanDb(): Promise<void>;
54
- agent(): SuperAgentTest & {
55
- resource: (name: string, resourceOf?: any) => Resource;
56
- };
57
- }
58
- export declare function mockServer(options?: ApplicationOptions): MockServer;
59
- export declare function createMockServer(): void;
60
- export default mockServer;
package/esm/mockServer.js DELETED
@@ -1,109 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- import { Database, mockDatabase } from '@nocobase/database';
22
- import Application from '@nocobase/server';
23
- import qs from 'qs';
24
- import supertest from 'supertest';
25
- export class MockServer extends Application {
26
- loadAndInstall() {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- yield this.load();
29
- yield this.install({
30
- sync: {
31
- force: true,
32
- alter: {
33
- drop: false,
34
- },
35
- },
36
- });
37
- });
38
- }
39
- cleanDb() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- yield this.db.sequelize.getQueryInterface().dropAllTables();
42
- });
43
- }
44
- agent() {
45
- const agent = supertest.agent(this.appManager.callback());
46
- const prefix = this.resourcer.options.prefix;
47
- const proxy = new Proxy(agent, {
48
- get(target, method, receiver) {
49
- if (method === 'resource') {
50
- return (name, resourceOf) => {
51
- const keys = name.split('.');
52
- const proxy = new Proxy({}, {
53
- get(target, method, receiver) {
54
- return (params = {}) => {
55
- let { filterByTk, values = {}, file } = params, restParams = __rest(params, ["filterByTk", "values", "file"]);
56
- if (params.associatedIndex) {
57
- resourceOf = params.associatedIndex;
58
- }
59
- if (params.resourceIndex) {
60
- filterByTk = params.resourceIndex;
61
- }
62
- let url = prefix || '';
63
- if (keys.length > 1) {
64
- url += `/${keys[0]}/${resourceOf}/${keys[1]}`;
65
- }
66
- else {
67
- url += `/${name}`;
68
- }
69
- url += `:${method}`;
70
- if (filterByTk) {
71
- url += `/${filterByTk}`;
72
- }
73
- const queryString = qs.stringify(restParams, { arrayFormat: 'brackets' });
74
- switch (method) {
75
- case 'upload':
76
- return agent.post(`${url}?${queryString}`).attach('file', file).field(values);
77
- case 'list':
78
- case 'get':
79
- return agent.get(`${url}?${queryString}`);
80
- default:
81
- return agent.post(`${url}?${queryString}`).send(values);
82
- }
83
- };
84
- },
85
- });
86
- return proxy;
87
- };
88
- }
89
- return (...args) => {
90
- return agent[method](...args);
91
- };
92
- },
93
- });
94
- return proxy;
95
- }
96
- }
97
- export function mockServer(options = {}) {
98
- let database;
99
- if ((options === null || options === void 0 ? void 0 : options.database) instanceof Database) {
100
- database = options.database;
101
- }
102
- else {
103
- database = mockDatabase((options === null || options === void 0 ? void 0 : options.database) || {});
104
- }
105
- return new MockServer(Object.assign(Object.assign({}, options), { database }));
106
- }
107
- export function createMockServer() { }
108
- export default mockServer;
109
- //# sourceMappingURL=mockServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockServer.js","sourceRoot":"","sources":["../src/mockServer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Database, mockDatabase } from '@nocobase/database';\nimport Application, { ApplicationOptions } from '@nocobase/server';\nimport qs from 'qs';\nimport supertest, { SuperAgentTest } from 'supertest';\n\ninterface ActionParams {\n filterByTk?: any;\n fields?: string[];\n filter?: any;\n sort?: string[];\n page?: number;\n pageSize?: number;\n values?: any;\n /**\n * @deprecated\n */\n resourceName?: string;\n /**\n * @deprecated\n */\n resourceIndex?: string;\n /**\n * @deprecated\n */\n associatedName?: string;\n /**\n * @deprecated\n */\n associatedIndex?: string;\n [key: string]: any;\n}\n\ninterface SortActionParams {\n resourceName?: string;\n resourceIndex?: any;\n associatedName?: string;\n associatedIndex?: any;\n sourceId?: any;\n targetId?: any;\n sortField?: string;\n method?: string;\n target?: any;\n sticky?: boolean;\n [key: string]: any;\n}\n\ninterface Resource {\n get: (params?: ActionParams) => Promise<supertest.Response>;\n list: (params?: ActionParams) => Promise<supertest.Response>;\n create: (params?: ActionParams) => Promise<supertest.Response>;\n update: (params?: ActionParams) => Promise<supertest.Response>;\n destroy: (params?: ActionParams) => Promise<supertest.Response>;\n sort: (params?: SortActionParams) => Promise<supertest.Response>;\n [name: string]: (params?: ActionParams) => Promise<supertest.Response>;\n}\n\nexport class MockServer extends Application {\n async loadAndInstall() {\n await this.load();\n await this.install({\n sync: {\n force: true,\n alter: {\n drop: false,\n },\n },\n });\n }\n\n async cleanDb() {\n await this.db.sequelize.getQueryInterface().dropAllTables();\n }\n\n agent(): SuperAgentTest & { resource: (name: string, resourceOf?: any) => Resource } {\n const agent = supertest.agent(this.appManager.callback());\n const prefix = this.resourcer.options.prefix;\n const proxy = new Proxy(agent, {\n get(target, method: string, receiver) {\n if (method === 'resource') {\n return (name: string, resourceOf?: any) => {\n const keys = name.split('.');\n const proxy = new Proxy(\n {},\n {\n get(target, method: string, receiver) {\n return (params: ActionParams = {}) => {\n let { filterByTk, values = {}, file, ...restParams } = params;\n if (params.associatedIndex) {\n resourceOf = params.associatedIndex;\n }\n if (params.resourceIndex) {\n filterByTk = params.resourceIndex;\n }\n let url = prefix || '';\n if (keys.length > 1) {\n url += `/${keys[0]}/${resourceOf}/${keys[1]}`;\n } else {\n url += `/${name}`;\n }\n url += `:${method as string}`;\n if (filterByTk) {\n url += `/${filterByTk}`;\n }\n\n const queryString = qs.stringify(restParams, { arrayFormat: 'brackets' });\n\n switch (method) {\n case 'upload':\n return agent.post(`${url}?${queryString}`).attach('file', file).field(values);\n case 'list':\n case 'get':\n return agent.get(`${url}?${queryString}`);\n default:\n return agent.post(`${url}?${queryString}`).send(values);\n }\n };\n },\n },\n );\n return proxy;\n };\n }\n return (...args: any[]) => {\n return agent[method](...args);\n };\n },\n });\n return proxy as any;\n }\n}\n\nexport function mockServer(options: ApplicationOptions = {}) {\n let database;\n if (options?.database instanceof Database) {\n database = options.database;\n } else {\n database = mockDatabase(<any>options?.database || {});\n }\n\n return new MockServer({\n ...options,\n database,\n });\n}\n\nexport function createMockServer() {}\n\nexport default mockServer;\n"]}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAAkD;AAAzC,wGAAA,YAAY,OAAA;AACrB,+CAA6B","sourcesContent":["export { mockDatabase } from '@nocobase/database';\nexport * from './mockServer';\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockServer.js","sourceRoot":"","sources":["../src/mockServer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Database, mockDatabase } from '@nocobase/database';\nimport Application, { ApplicationOptions } from '@nocobase/server';\nimport qs from 'qs';\nimport supertest, { SuperAgentTest } from 'supertest';\n\ninterface ActionParams {\n filterByTk?: any;\n fields?: string[];\n filter?: any;\n sort?: string[];\n page?: number;\n pageSize?: number;\n values?: any;\n /**\n * @deprecated\n */\n resourceName?: string;\n /**\n * @deprecated\n */\n resourceIndex?: string;\n /**\n * @deprecated\n */\n associatedName?: string;\n /**\n * @deprecated\n */\n associatedIndex?: string;\n [key: string]: any;\n}\n\ninterface SortActionParams {\n resourceName?: string;\n resourceIndex?: any;\n associatedName?: string;\n associatedIndex?: any;\n sourceId?: any;\n targetId?: any;\n sortField?: string;\n method?: string;\n target?: any;\n sticky?: boolean;\n [key: string]: any;\n}\n\ninterface Resource {\n get: (params?: ActionParams) => Promise<supertest.Response>;\n list: (params?: ActionParams) => Promise<supertest.Response>;\n create: (params?: ActionParams) => Promise<supertest.Response>;\n update: (params?: ActionParams) => Promise<supertest.Response>;\n destroy: (params?: ActionParams) => Promise<supertest.Response>;\n sort: (params?: SortActionParams) => Promise<supertest.Response>;\n [name: string]: (params?: ActionParams) => Promise<supertest.Response>;\n}\n\nexport class MockServer extends Application {\n async loadAndInstall() {\n await this.load();\n await this.install({\n sync: {\n force: true,\n alter: {\n drop: false,\n },\n },\n });\n }\n\n async cleanDb() {\n await this.db.sequelize.getQueryInterface().dropAllTables();\n }\n\n agent(): SuperAgentTest & { resource: (name: string, resourceOf?: any) => Resource } {\n const agent = supertest.agent(this.appManager.callback());\n const prefix = this.resourcer.options.prefix;\n const proxy = new Proxy(agent, {\n get(target, method: string, receiver) {\n if (method === 'resource') {\n return (name: string, resourceOf?: any) => {\n const keys = name.split('.');\n const proxy = new Proxy(\n {},\n {\n get(target, method: string, receiver) {\n return (params: ActionParams = {}) => {\n let { filterByTk, values = {}, file, ...restParams } = params;\n if (params.associatedIndex) {\n resourceOf = params.associatedIndex;\n }\n if (params.resourceIndex) {\n filterByTk = params.resourceIndex;\n }\n let url = prefix || '';\n if (keys.length > 1) {\n url += `/${keys[0]}/${resourceOf}/${keys[1]}`;\n } else {\n url += `/${name}`;\n }\n url += `:${method as string}`;\n if (filterByTk) {\n url += `/${filterByTk}`;\n }\n\n const queryString = qs.stringify(restParams, { arrayFormat: 'brackets' });\n\n switch (method) {\n case 'upload':\n return agent.post(`${url}?${queryString}`).attach('file', file).field(values);\n case 'list':\n case 'get':\n return agent.get(`${url}?${queryString}`);\n default:\n return agent.post(`${url}?${queryString}`).send(values);\n }\n };\n },\n },\n );\n return proxy;\n };\n }\n return (...args: any[]) => {\n return agent[method](...args);\n };\n },\n });\n return proxy as any;\n }\n}\n\nexport function mockServer(options: ApplicationOptions = {}) {\n let database;\n if (options?.database instanceof Database) {\n database = options.database;\n } else {\n database = mockDatabase(<any>options?.database || {});\n }\n\n return new MockServer({\n ...options,\n database,\n });\n}\n\nexport function createMockServer() {}\n\nexport default mockServer;\n"]}
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.build.json",
3
- "compilerOptions": {
4
- "outDir": "./lib",
5
- "declaration": true
6
- },
7
- "include": ["./src/**/*.ts", "./src/**/*.tsx"],
8
- "exclude": ["./src/__tests__/*", "./esm/*", "./lib/*"]
9
- }