@diia-inhouse/scaffold 2.23.0 → 2.24.0
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/dist/_sharedTemplates/actionTest.t +2 -2
- package/dist/_templates/add/action/01-action.ts.t +4 -5
- package/dist/_templates/add/action/01-interface.ts.t +12 -0
- package/dist/_templates/add/action/01-test.ts.t +5 -5
- package/dist/_templates/add/action/02-scriptRunner.t +1 -1
- package/dist/_templates/add/action/prompt.js +4 -0
- package/dist/_templates/add/action/prompt.js.map +1 -1
- package/dist/_templates/add/test/01-test.ts.t +1 -1
- package/dist/_templates/add/test/prompt.js +2 -0
- package/dist/_templates/add/test/prompt.js.map +1 -1
- package/dist/_templates/init/service/01-src.actions.v1.getAddResult.ts.t +3 -4
- package/dist/_templates/init/service/01-src.interfaces.actions.v1.getAddResult.ts.t +11 -0
- package/dist/_templates/init/service/01-tests.integration.actionts.getAddResult.spec.ts.t +6 -5
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import <%= h.changeCase.pascal(name) %>Action from '<%= relateActionPathFromTest
|
|
|
4
4
|
|
|
5
5
|
import { getApp } from '@tests/utils/getApp'
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { ActionResult } from '<%= relativeInterfacePath %>'
|
|
8
8
|
|
|
9
9
|
describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
|
|
10
10
|
let app: Awaited<ReturnType<typeof getApp>>
|
|
@@ -31,6 +31,6 @@ describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
|
|
|
31
31
|
const result = await action.handler({session, headers, params: {}})
|
|
32
32
|
|
|
33
33
|
// Assert
|
|
34
|
-
expect(result).toEqual
|
|
34
|
+
expect(result).toEqual<ActionResult>({})
|
|
35
35
|
})
|
|
36
36
|
})
|
|
@@ -4,23 +4,22 @@ to: <%= actionPath %>
|
|
|
4
4
|
|
|
5
5
|
import { GrpcAppAction } from '@diia-inhouse/diia-app'
|
|
6
6
|
|
|
7
|
-
import { ActionContext } from '@diia-inhouse/types'
|
|
8
7
|
<% if (isActionWithValidation) { %>
|
|
9
8
|
import { ValidationSchema } from '@diia-inhouse/validators'
|
|
10
9
|
<% } %>
|
|
11
10
|
|
|
12
|
-
import {
|
|
11
|
+
import { ActionResult, Context } from '<%= relativeInterfacePath %>'
|
|
13
12
|
|
|
14
|
-
export default class <%= h.changeCase.pascal(name) %>Action implements GrpcAppAction<
|
|
13
|
+
export default class <%= h.changeCase.pascal(name) %>Action implements GrpcAppAction<Context> {
|
|
15
14
|
constructor(private readonly service: unknown) {}
|
|
16
15
|
|
|
17
16
|
readonly name: string = '<%= name %>'
|
|
18
17
|
|
|
19
18
|
<% if (isActionWithValidation) { %>
|
|
20
|
-
readonly validationRules: ValidationSchema
|
|
19
|
+
readonly validationRules: ValidationSchema<Context['params']> = {}
|
|
21
20
|
<% } %>
|
|
22
21
|
|
|
23
|
-
async handler(args:
|
|
22
|
+
async handler(args: Context): Promise<ActionResult> {
|
|
24
23
|
const {
|
|
25
24
|
params: {},
|
|
26
25
|
} = args
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: <%= interfacePath %>
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
import { ActionContext } from '@diia-inhouse/types'
|
|
6
|
+
|
|
7
|
+
import { <%= h.changeCase.pascal(name) %>Req, <%= h.changeCase.pascal(name) %>Res } from '@src/generated'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
export type Context = ActionContext<<%= h.changeCase.pascal(name) %>Req>
|
|
11
|
+
|
|
12
|
+
export type ActionResult = <%= h.changeCase.pascal(name) %>Res
|
|
@@ -7,16 +7,16 @@ import <%= h.changeCase.pascal(name) %>Action from '<%= relateActionPathFromTest
|
|
|
7
7
|
|
|
8
8
|
import { getApp } from '@tests/utils/getApp'
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { ActionResult } from '<%= relativeInterfacePath %>'
|
|
11
11
|
|
|
12
12
|
describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
|
|
13
13
|
let app: Awaited<ReturnType<typeof getApp>>
|
|
14
|
-
let
|
|
14
|
+
let action: <%= h.changeCase.pascal(name) %>Action
|
|
15
15
|
const testKit = new TestKit()
|
|
16
16
|
|
|
17
17
|
beforeAll(async () => {
|
|
18
18
|
app = await getApp()
|
|
19
|
-
|
|
19
|
+
action = app.container.build(<%= h.changeCase.pascal(name) %>Action)
|
|
20
20
|
})
|
|
21
21
|
|
|
22
22
|
afterAll(async () => {
|
|
@@ -29,9 +29,9 @@ describe(`Action ${<%= h.changeCase.pascal(name) %>Action.name}`, () => {
|
|
|
29
29
|
const session = testKit.session.getUserSession()
|
|
30
30
|
|
|
31
31
|
// Act
|
|
32
|
-
const result = await
|
|
32
|
+
const result = await action.handler({session, headers, params: {}})
|
|
33
33
|
|
|
34
34
|
// Assert
|
|
35
|
-
expect(result).toEqual
|
|
35
|
+
expect(result).toEqual<ActionResult>({})
|
|
36
36
|
})
|
|
37
37
|
})
|
|
@@ -56,6 +56,8 @@ exports.default = {
|
|
|
56
56
|
}
|
|
57
57
|
const newActionPath = actionFolder === ROOT_ACTION ? node_path_1.default.join(normalizedVersion, actionName) : node_path_1.default.join(normalizedVersion, actionFolder, actionName);
|
|
58
58
|
const finalActionPath = node_path_1.default.resolve(process.cwd(), 'src/actions', `${newActionPath}.ts`);
|
|
59
|
+
const finalInterfacePath = node_path_1.default.resolve(process.cwd(), 'src/interfaces/actions', `${newActionPath}.ts`);
|
|
60
|
+
const relativeInterfacePath = node_path_1.default.join('@interfaces/actions', newActionPath);
|
|
59
61
|
const testPath = node_path_1.default.resolve(process.cwd(), 'tests/integration/actions/', `${newActionPath}.spec.ts`);
|
|
60
62
|
const relateActionPathFromTest = node_path_1.default.join('@src/actions', newActionPath);
|
|
61
63
|
const isActionWithValidation = await (0, prompt_1.promptYesNoSelect)({
|
|
@@ -65,6 +67,8 @@ exports.default = {
|
|
|
65
67
|
name: actionName,
|
|
66
68
|
version,
|
|
67
69
|
actionPath: finalActionPath,
|
|
70
|
+
interfacePath: finalInterfacePath,
|
|
71
|
+
relativeInterfacePath,
|
|
68
72
|
isActionWithValidation,
|
|
69
73
|
testPath,
|
|
70
74
|
relateActionPathFromTest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/action/prompt.ts"],"names":[],"mappings":";;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAI5B,4CAAuE;AAEvE,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,SAAS,gBAAgB,CAAC,aAAqB;IAC3C,MAAM,uBAAuB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IAEzF,MAAM,2BAA2B,GAAG,iBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAE1E,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/B,iBAAE,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1D,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,aAAa,GAAG,iBAAE;SACnB,WAAW,CAAC,uBAAuB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC7D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAEvC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,CAAA;AACtD,CAAC;AAED,kBAAe;IACX,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAU,EAAoB,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,EAAE;SACjD,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAE,CAAA;QAEvC,IAAI,YAAY,GAAG,MAAM,IAAA,2BAAkB,EAAC;YACxC,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;UACX,WAAW;UACX,UAAU,0DAA0D;YAClE,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;SAC/C,CAAC,CAAA;QAEF,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,+BAA+B;gBACxC,QAAQ,EAAE,IAAI;aACjB,CAAC,CAAA;YAEF,YAAY,GAAG,aAAa,KAAK,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;QACpH,CAAC;QAED,MAAM,aAAa,GACf,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QAEpI,MAAM,eAAe,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,aAAa,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/action/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,11 +33,13 @@ exports.default = {
|
|
|
33
33
|
});
|
|
34
34
|
const actionName = node_path_1.default.basename(actionPath);
|
|
35
35
|
const testPath = node_path_1.default.join('tests', 'integration', `${actionPath}.spec.ts`);
|
|
36
|
+
const relativeInterfacePathFromTest = node_path_1.default.join('@interfaces', actionPath);
|
|
36
37
|
const relateActionPathFromTest = node_path_1.default.join('@src', actionPath);
|
|
37
38
|
const result = {
|
|
38
39
|
sharedTemplatePath: (0, utils_1.getSharedTemplate)('actionTest.t'),
|
|
39
40
|
testPath,
|
|
40
41
|
name: actionName,
|
|
42
|
+
relativeInterfacePath: relativeInterfacePathFromTest,
|
|
41
43
|
relateActionPathFromTest,
|
|
42
44
|
};
|
|
43
45
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/test/prompt.ts"],"names":[],"mappings":";;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAG5B,+DAAiE;AACjE,0CAAkD;AAElD,KAAK,UAAU,MAAM;IACjB,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,qBAAqB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAA;IAExE,MAAM,EAAE,GAAG,KAAK,EAAE,iBAAyB,EAAiB,EAAE;QAC1D,MAAM,aAAa,GAAG,iBAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhF,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/C,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YAEhF,MAAM,gBAAgB,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YAE7D,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjI,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAE/B,OAAO,GAAG,CAAA;AACd,CAAC;AAED,kBAAe;IACX,MAAM,EAAE,KAAK,IAAsB,EAAE;QACjC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAkB,EAAC;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,MAAM,MAAM,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,UAAU,CAAC,CAAA;QAC3E,MAAM,wBAAwB,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG;YACX,kBAAkB,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC;YAErD,QAAQ;YACR,IAAI,EAAE,UAAU;YAChB,wBAAwB;SAC3B,CAAA;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ,CAAA"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../src/_templates/add/test/prompt.ts"],"names":[],"mappings":";;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAG5B,+DAAiE;AACjE,0CAAkD;AAElD,KAAK,UAAU,MAAM;IACjB,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,MAAM,qBAAqB,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAA;IAExE,MAAM,EAAE,GAAG,KAAK,EAAE,iBAAyB,EAAiB,EAAE;QAC1D,MAAM,aAAa,GAAG,iBAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhF,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/C,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YAEhF,MAAM,gBAAgB,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YAE7D,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjI,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAA;IAE/B,OAAO,GAAG,CAAA;AACd,CAAC;AAED,kBAAe;IACX,MAAM,EAAE,KAAK,IAAsB,EAAE;QACjC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAkB,EAAC;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,MAAM,MAAM,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,UAAU,CAAC,CAAA;QAC3E,MAAM,6BAA6B,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;QAC1E,MAAM,wBAAwB,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG;YACX,kBAAkB,EAAE,IAAA,yBAAiB,EAAC,cAAc,CAAC;YAErD,QAAQ;YACR,IAAI,EAAE,UAAU;YAChB,qBAAqB,EAAE,6BAA6B;YACpD,wBAAwB;SAC3B,CAAA;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ,CAAA"}
|
|
@@ -4,12 +4,11 @@ to: <%= serviceName %>/src/actions/v1/getAddResult.ts
|
|
|
4
4
|
|
|
5
5
|
import { GrpcAppAction } from '@diia-inhouse/diia-app'
|
|
6
6
|
|
|
7
|
-
import { ActionContext } from '@diia-inhouse/types'
|
|
8
7
|
import { ValidationSchema } from '@diia-inhouse/validators'
|
|
9
8
|
|
|
10
|
-
import {
|
|
9
|
+
import { ActionResult, Context } from '@interfaces/actions/v1/getAddResult'
|
|
11
10
|
|
|
12
|
-
export default class GetAddResultAction implements GrpcAppAction<
|
|
11
|
+
export default class GetAddResultAction implements GrpcAppAction<Context> {
|
|
13
12
|
readonly name = 'getAddResult'
|
|
14
13
|
|
|
15
14
|
readonly validationRules: ValidationSchema<GetAddResultReq> = {
|
|
@@ -17,7 +16,7 @@ export default class GetAddResultAction implements GrpcAppAction<ActionContext<G
|
|
|
17
16
|
b: {type: 'number'}
|
|
18
17
|
}
|
|
19
18
|
|
|
20
|
-
async handler(args:
|
|
19
|
+
async handler(args: Context): Promise<ActionResult> {
|
|
21
20
|
const { params: { a, b } } = args
|
|
22
21
|
|
|
23
22
|
return { result: a + b }
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: <%= serviceName %>/src/interfaces/actions/v1/getAddResult.ts
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
import { ActionContext } from '@diia-inhouse/types'
|
|
6
|
+
|
|
7
|
+
import { GetAddResultReq, GetAddResultRes } from '@src/generated'
|
|
8
|
+
|
|
9
|
+
export type Context = ActionContext<GetAddResultReq>
|
|
10
|
+
|
|
11
|
+
export type ActionResult = GetAddResultRes
|
|
@@ -4,19 +4,20 @@ to: <%= serviceName %>/tests/integration/actions/v1/getAddResult.spec.ts
|
|
|
4
4
|
|
|
5
5
|
import TestKit from '@diia-inhouse/test'
|
|
6
6
|
|
|
7
|
+
import { ActionResult } from '@interfaces/actions/v1/getAddResult'
|
|
8
|
+
|
|
7
9
|
import GetAddResultAction from '@src/actions/v1/getAddResult'
|
|
8
|
-
import { GetAddResultRes } from '@src/generated'
|
|
9
10
|
|
|
10
11
|
import { getApp } from '@tests/utils/getApp'
|
|
11
12
|
|
|
12
13
|
describe(`Action ${GetAddResultAction.name}`, () => {
|
|
13
14
|
let app: Awaited<ReturnType<typeof getApp>>
|
|
14
|
-
let
|
|
15
|
+
let action: GetAddResultAction
|
|
15
16
|
const testKit = new TestKit()
|
|
16
17
|
|
|
17
18
|
beforeAll(async () => {
|
|
18
19
|
app = await getApp()
|
|
19
|
-
|
|
20
|
+
action = app.container.build(GetAddResultAction)
|
|
20
21
|
})
|
|
21
22
|
|
|
22
23
|
afterAll(async () => {
|
|
@@ -32,9 +33,9 @@ describe(`Action ${GetAddResultAction.name}`, () => {
|
|
|
32
33
|
const b = 3;
|
|
33
34
|
|
|
34
35
|
// Act
|
|
35
|
-
const result = await
|
|
36
|
+
const result = await action.handler({ params: { a, b }, session, headers })
|
|
36
37
|
|
|
37
38
|
// Assert
|
|
38
|
-
expect(result).toEqual<
|
|
39
|
+
expect(result).toEqual<ActionResult>({ result: 5 })
|
|
39
40
|
})
|
|
40
41
|
})
|