@minimaltech/node-infra 0.2.30 → 0.2.31

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.
@@ -2,19 +2,19 @@ import { AnyObject } from '@loopback/repository';
2
2
  import { TestCaseHandler } from './test-handler';
3
3
  import { ITestCase } from './types';
4
4
  export interface ITestCaseOptions<R extends object = {}, I extends object = {}> {
5
+ code: string;
5
6
  name?: string;
6
7
  description: string;
8
+ expectation?: string;
7
9
  handler: TestCaseHandler<R, I>;
8
10
  }
9
11
  export declare class TestCase<R extends object = {}, I extends object = {}> implements ITestCase<R, I> {
12
+ code: string;
10
13
  name?: string;
11
14
  description: string;
15
+ expectation?: string;
12
16
  handler: TestCaseHandler<R, I>;
13
17
  constructor(opts: ITestCaseOptions<R, I>);
14
- static withOptions<R extends object = AnyObject, I extends object = {}>(opts: {
15
- name?: string;
16
- description: string;
17
- handler: TestCaseHandler<R, I>;
18
- }): TestCase<R, I>;
18
+ static withOptions<R extends object = AnyObject, I extends object = {}>(opts: ITestCaseOptions<R, I>): TestCase<R, I>;
19
19
  run(): Promise<void>;
20
20
  }
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TestCase = void 0;
4
4
  class TestCase {
5
5
  constructor(opts) {
6
+ var _a;
7
+ this.code = opts.code;
6
8
  this.name = opts.name;
7
9
  this.description = opts.description;
10
+ this.expectation = (_a = opts.expectation) !== null && _a !== void 0 ? _a : opts.description;
8
11
  this.handler = opts.handler;
9
12
  }
10
13
  static withOptions(opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"test-case.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-case.ts"],"names":[],"mappings":";;;AAWA,MAAa,QAAQ;IAKnB,YAAY,IAA4B;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,WAAW,CAAsD,IAIvE;QACC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAtBD,4BAsBC"}
1
+ {"version":3,"file":"test-case.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-case.ts"],"names":[],"mappings":";;;AAaA,MAAa,QAAQ;IAQnB,YAAY,IAA4B;;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,WAAW,CAAC;QAExD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,WAAW,CAAsD,IAA4B;QAClG,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAzBD,4BAyBC"}
@@ -1,12 +1,15 @@
1
1
  import { ValueOrPromise } from '../../common';
2
2
  import { ITestCaseHandler, ITestCaseInput, ITestContext, TTestCaseDecision } from './types';
3
+ import { ApplicationLogger } from '../logger';
3
4
  export interface ITestCaseHandlerOptions<R extends object, I extends ITestCaseInput = {}> {
5
+ scope?: string;
4
6
  context: ITestContext<R>;
5
7
  args?: I | null;
6
8
  argResolver?: (...args: any[]) => I | null;
7
9
  validator?: (opts: any) => ValueOrPromise<TTestCaseDecision>;
8
10
  }
9
11
  export declare abstract class BaseTestCaseHandler<R extends object = {}, I extends ITestCaseInput = {}> implements ITestCaseHandler<R, I> {
12
+ protected logger: ApplicationLogger;
10
13
  context: ITestContext<R>;
11
14
  args: I | null;
12
15
  validator?: (opts: any) => ValueOrPromise<TTestCaseDecision>;
@@ -16,11 +16,13 @@ exports.TestCaseHandler = exports.BaseTestCaseHandler = void 0;
16
16
  const utilities_1 = require("../../utilities");
17
17
  const assert_1 = __importDefault(require("assert"));
18
18
  const common_1 = require("./common");
19
+ const logger_1 = require("../logger");
19
20
  class BaseTestCaseHandler {
20
21
  constructor(opts) {
21
- var _a, _b, _c;
22
+ var _a, _b, _c, _d;
23
+ this.logger = logger_1.LoggerFactory.getLogger([(_a = opts === null || opts === void 0 ? void 0 : opts.scope) !== null && _a !== void 0 ? _a : BaseTestCaseHandler.name]);
22
24
  this.context = opts.context;
23
- this.args = (_c = (_a = opts.args) !== null && _a !== void 0 ? _a : (_b = opts.argResolver) === null || _b === void 0 ? void 0 : _b.call(opts)) !== null && _c !== void 0 ? _c : null;
25
+ this.args = (_d = (_b = opts.args) !== null && _b !== void 0 ? _b : (_c = opts.argResolver) === null || _c === void 0 ? void 0 : _c.call(opts)) !== null && _d !== void 0 ? _d : null;
24
26
  this.validator = opts === null || opts === void 0 ? void 0 : opts.validator;
25
27
  }
26
28
  getArguments() {
@@ -30,12 +32,19 @@ class BaseTestCaseHandler {
30
32
  exports.BaseTestCaseHandler = BaseTestCaseHandler;
31
33
  class TestCaseHandler extends BaseTestCaseHandler {
32
34
  constructor(opts) {
33
- super(opts);
35
+ var _a;
36
+ super(Object.assign(Object.assign({}, opts), { scope: (_a = opts.scope) !== null && _a !== void 0 ? _a : TestCaseHandler.name }));
34
37
  }
35
38
  _execute() {
36
39
  return __awaiter(this, void 0, void 0, function* () {
37
- const executeRs = yield this.execute();
38
- const validateRs = yield this.validate(executeRs);
40
+ let validateRs = common_1.TestCaseDecisions.UNKNOWN;
41
+ try {
42
+ const executeRs = yield this.execute();
43
+ validateRs = yield this.validate(executeRs);
44
+ }
45
+ catch (error) {
46
+ this.logger.error('[_execute] Failed to execute test handler | Error: %s', error);
47
+ }
39
48
  assert_1.default.equal(validateRs, common_1.TestCaseDecisions.SUCCESS);
40
49
  });
41
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-handler.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAuC;AACvC,oDAA4B;AAC5B,qCAA6C;AAY7C,MAAsB,mBAAmB;IAQvC,YAAY,IAAmC;;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,mCAAI,MAAA,IAAI,CAAC,WAAW,oDAAI,mCAAI,IAAI,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAC;IACnC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAQF;AAxBD,kDAwBC;AAED,MAAsB,eAAsE,SAAQ,mBAGnG;IACC,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAEK,QAAQ;;YACZ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClD,gBAAM,CAAC,KAAK,CAAC,UAAU,EAAE,0BAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAED,QAAQ,CAAC,IAAS;;QAChB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAExD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAA,SAAS,CAAC,IAAI,CAAC,mCAAI,0BAAiB,CAAC,OAAO,CAAC;IACtD,CAAC;CACF;AAzBD,0CAyBC"}
1
+ {"version":3,"file":"test-handler.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAuC;AACvC,oDAA4B;AAC5B,qCAA6C;AAE7C,sCAA6D;AAY7D,MAAsB,mBAAmB;IAUvC,YAAY,IAAmC;;QAC7C,IAAI,CAAC,MAAM,GAAG,sBAAa,CAAC,SAAS,CAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,mCAAI,MAAA,IAAI,CAAC,WAAW,oDAAI,mCAAI,IAAI,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAC;IACnC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAQF;AA5BD,kDA4BC;AAED,MAAsB,eAAsE,SAAQ,mBAGnG;IACC,YAAY,IAAmC;;QAC7C,KAAK,iCACA,IAAI,KACP,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,eAAe,CAAC,IAAI,IACzC,CAAC;IACL,CAAC;IAEK,QAAQ;;YACZ,IAAI,UAAU,GAAG,0BAAiB,CAAC,OAAO,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC;YAED,gBAAM,CAAC,KAAK,CAAC,UAAU,EAAE,0BAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAED,QAAQ,CAAC,IAAS;;QAChB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAExD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAA,SAAS,CAAC,IAAI,CAAC,mCAAI,0BAAiB,CAAC,OAAO,CAAC;IACtD,CAAC;CACF;AAnCD,0CAmCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimaltech/node-infra",
3
- "version": "0.2.30",
3
+ "version": "0.2.31",
4
4
  "description": "NodeJS Infrastructure - Loopback 4 Framework",
5
5
  "keywords": [
6
6
  "web",
@@ -86,20 +86,16 @@
86
86
  "winston-daily-rotate-file": "^5.0.0"
87
87
  },
88
88
  "devDependencies": {
89
- "@eslint/eslintrc": "^3.1.0",
90
- "@eslint/js": "^9.9.1",
91
89
  "@loopback/build": "^11.0.3",
92
- "@loopback/eslint-config": "^15.0.3",
93
90
  "@loopback/testlab": "^7.0.3",
94
- "@minimaltech/eslint-node": "^0.0.11",
91
+ "@minimaltech/eslint-node": "^0.1.14",
95
92
  "@types/express": "^4.17.21",
96
93
  "@types/jsonwebtoken": "^9.0.6",
97
94
  "@types/lodash": "^4.17.7",
98
95
  "@types/mocha": "^10.0.7",
99
96
  "@types/multer": "^1.4.7",
100
97
  "@types/node": "^20.16.2",
101
- "eslint": "8.57.0",
102
- "eslint-plugin-prettier": "^5.1.3",
98
+ "eslint": "^8.57.0",
103
99
  "prettier": "^3.3.2",
104
100
  "source-map-support": "^0.5.21",
105
101
  "ts-node": "^10.9.1",