@mikemajesty/microservice-crud 6.1.8 → 6.1.9
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/package.json +1 -1
- package/src/templates/core/use-cases/__tests__/create.spec.js +2 -3
- package/src/templates/core/use-cases/__tests__/delete.spec.js +5 -4
- package/src/templates/core/use-cases/__tests__/get-by-id.spec.js +3 -3
- package/src/templates/core/use-cases/__tests__/list.spec.js +3 -6
- package/src/templates/core/use-cases/__tests__/update.spec.js +5 -4
package/package.json
CHANGED
|
@@ -7,7 +7,6 @@ import { ILoggerAdapter } from '@/infra/logger';
|
|
|
7
7
|
import { I${dashToPascal(name)}CreateAdapter } from '@/modules/${name}/adapter';
|
|
8
8
|
import { TestUtils } from '@/utils/tests';
|
|
9
9
|
|
|
10
|
-
import { ${dashToPascal(name)}Entity } from '../../entity/${name}';
|
|
11
10
|
import { I${dashToPascal(name)}Repository } from '../../repository/${name}';
|
|
12
11
|
import { ${dashToPascal(name)}CreateInput, ${dashToPascal(name)}CreateOutput, ${dashToPascal(name)}CreateUsecase } from '../${name}-create';
|
|
13
12
|
|
|
@@ -46,7 +45,7 @@ describe(${dashToPascal(name)}CreateUsecase.name, () => {
|
|
|
46
45
|
await TestUtils.expectZodError(
|
|
47
46
|
() => usecase.execute({} as ${dashToPascal(name)}CreateInput),
|
|
48
47
|
(issues: ZodIssue[]) => {
|
|
49
|
-
expect(issues).toEqual([{ message: 'Required', path:
|
|
48
|
+
expect(issues).toEqual([{ message: 'Required', path: TestUtils.nameOf<${dashToPascal(name)}CreateInput>('name') }]);
|
|
50
49
|
}
|
|
51
50
|
);
|
|
52
51
|
});
|
|
@@ -57,7 +56,7 @@ describe(${dashToPascal(name)}CreateUsecase.name, () => {
|
|
|
57
56
|
|
|
58
57
|
test('when ${snakeToCamel(name)} created successfully, should expect a ${snakeToCamel(name)}', async () => {
|
|
59
58
|
const output: ${dashToPascal(name)}CreateOutput = { created: true, id: TestUtils.getMockUUID() };
|
|
60
|
-
repository.create =
|
|
59
|
+
repository.create = TestUtils.mockResolvedValue<${dashToPascal(name)}CreateOutput>(output);
|
|
61
60
|
|
|
62
61
|
await expect(usecase.execute(input)).resolves.toEqual(output);
|
|
63
62
|
});
|
|
@@ -4,6 +4,7 @@ const getCoreUsecaseDeleteTest = (name) => `import { Test } from '@nestjs/testin
|
|
|
4
4
|
import { ZodIssue } from 'zod';
|
|
5
5
|
|
|
6
6
|
import { ${dashToPascal(name)}DeleteInput, ${dashToPascal(name)}DeleteUsecase } from '@/core/${name}/use-cases/${name}-delete';
|
|
7
|
+
import { UpdatedModel } from '@/infra/repository';
|
|
7
8
|
import { I${dashToPascal(name)}DeleteAdapter } from '@/modules/${name}/adapter';
|
|
8
9
|
import { ApiNotFoundException } from '@/utils/exception';
|
|
9
10
|
import { TestUtils } from '@/utils/tests';
|
|
@@ -40,7 +41,7 @@ describe(${dashToPascal(name)}DeleteUsecase.name, () => {
|
|
|
40
41
|
await TestUtils.expectZodError(
|
|
41
42
|
() => usecase.execute({} as ${dashToPascal(name)}DeleteInput),
|
|
42
43
|
(issues: ZodIssue[]) => {
|
|
43
|
-
expect(issues).toEqual([{ message: 'Required', path:
|
|
44
|
+
expect(issues).toEqual([{ message: 'Required', path: TestUtils.nameOf<${dashToPascal(name)}DeleteInput>('id') }]);
|
|
44
45
|
}
|
|
45
46
|
);
|
|
46
47
|
});
|
|
@@ -50,7 +51,7 @@ describe(${dashToPascal(name)}DeleteUsecase.name, () => {
|
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
test('when ${snakeToCamel(name)} not found, should expect an error', async () => {
|
|
53
|
-
repository.findById =
|
|
54
|
+
repository.findById = TestUtils.mockResolvedValue<${dashToPascal(name)}Entity>(null);
|
|
54
55
|
|
|
55
56
|
await expect(usecase.execute(input)).rejects.toThrow(ApiNotFoundException);
|
|
56
57
|
});
|
|
@@ -61,8 +62,8 @@ describe(${dashToPascal(name)}DeleteUsecase.name, () => {
|
|
|
61
62
|
});
|
|
62
63
|
|
|
63
64
|
test('when ${snakeToCamel(name)} deleted successfully, should expect a ${snakeToCamel(name)}', async () => {
|
|
64
|
-
repository.findById =
|
|
65
|
-
repository.updateOne =
|
|
65
|
+
repository.findById = TestUtils.mockResolvedValue<${dashToPascal(name)}Entity>(${snakeToCamel(name)});
|
|
66
|
+
repository.updateOne = TestUtils.mockResolvedValue<UpdatedModel>();
|
|
66
67
|
|
|
67
68
|
await expect(usecase.execute(input)).resolves.toEqual({
|
|
68
69
|
...${snakeToCamel(name)},
|
|
@@ -40,7 +40,7 @@ describe(${dashToPascal(name)}GetByIdUsecase.name, () => {
|
|
|
40
40
|
await TestUtils.expectZodError(
|
|
41
41
|
() => usecase.execute({} as ${dashToPascal(name)}GetByIdInput),
|
|
42
42
|
(issues: ZodIssue[]) => {
|
|
43
|
-
expect(issues).toEqual([{ message: 'Required', path:
|
|
43
|
+
expect(issues).toEqual([{ message: 'Required', path: TestUtils.nameOf<${dashToPascal(name)}GetByIdInput>('id') }]);
|
|
44
44
|
}
|
|
45
45
|
);
|
|
46
46
|
});
|
|
@@ -50,7 +50,7 @@ describe(${dashToPascal(name)}GetByIdUsecase.name, () => {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
test('when ${snakeToCamel(name)} not found, should expect an error', async () => {
|
|
53
|
-
repository.findById =
|
|
53
|
+
repository.findById = TestUtils.mockResolvedValue<${dashToPascal(name)}Entity>(null);
|
|
54
54
|
|
|
55
55
|
await expect(usecase.execute(input)).rejects.toThrow(ApiNotFoundException);
|
|
56
56
|
});
|
|
@@ -61,7 +61,7 @@ describe(${dashToPascal(name)}GetByIdUsecase.name, () => {
|
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
test('when ${snakeToCamel(name)} found, should expect a ${snakeToCamel(name)}', async () => {
|
|
64
|
-
repository.findById =
|
|
64
|
+
repository.findById = TestUtils.mockResolvedValue<${dashToPascal(name)}Entity>(${snakeToCamel(name)});
|
|
65
65
|
|
|
66
66
|
await expect(usecase.execute(input)).resolves.toEqual(${snakeToCamel(name)});
|
|
67
67
|
});
|
|
@@ -41,10 +41,7 @@ describe(${dashToPascal(name)}ListUsecase.name, () => {
|
|
|
41
41
|
await TestUtils.expectZodError(
|
|
42
42
|
() => usecase.execute({} as ${dashToPascal(name)}ListInput),
|
|
43
43
|
(issues: ZodIssue[]) => {
|
|
44
|
-
expect(issues).toEqual([
|
|
45
|
-
{ message: 'Required', path: 'sort' },
|
|
46
|
-
{ message: 'Required', path: 'search' }
|
|
47
|
-
]);
|
|
44
|
+
expect(issues).toEqual([{ message: 'Required', path: 'search' }]);
|
|
48
45
|
}
|
|
49
46
|
);
|
|
50
47
|
});
|
|
@@ -62,7 +59,7 @@ describe(${dashToPascal(name)}ListUsecase.name, () => {
|
|
|
62
59
|
|
|
63
60
|
test('when ${snakeToCamel(name)} are found, should expect an ${snakeToCamel(name)} list', async () => {
|
|
64
61
|
const output: ${dashToPascal(name)}ListOutput = { docs: ${pluralize(snakeToCamel(name))}, page: 1, limit: 1, total: 1 };
|
|
65
|
-
repository.paginate =
|
|
62
|
+
repository.paginate = TestUtils.mockResolvedValue<${dashToPascal(name)}ListOutput>(output);
|
|
66
63
|
|
|
67
64
|
await expect(usecase.execute(input)).resolves.toEqual({
|
|
68
65
|
docs: ${pluralize(snakeToCamel(name))},
|
|
@@ -74,7 +71,7 @@ describe(${dashToPascal(name)}ListUsecase.name, () => {
|
|
|
74
71
|
|
|
75
72
|
test('when ${snakeToCamel(name)} not found, should expect an empty list', async () => {
|
|
76
73
|
const output: ${dashToPascal(name)}ListOutput = { docs: [], page: 1, limit: 1, total: 1 };
|
|
77
|
-
repository.paginate =
|
|
74
|
+
repository.paginate = TestUtils.mockResolvedValue<${dashToPascal(name)}ListOutput>(output);
|
|
78
75
|
|
|
79
76
|
await expect(usecase.execute(input)).resolves.toEqual(output);
|
|
80
77
|
});
|
|
@@ -4,6 +4,7 @@ const getCoreUsecaseUpdateTest = (name) => `import { Test } from '@nestjs/testin
|
|
|
4
4
|
import { ZodIssue } from 'zod';
|
|
5
5
|
|
|
6
6
|
import { ILoggerAdapter } from '@/infra/logger';
|
|
7
|
+
import { UpdatedModel } from '@/infra/repository';
|
|
7
8
|
import { I${dashToPascal(name)}UpdateAdapter } from '@/modules/${name}/adapter';
|
|
8
9
|
import { ApiNotFoundException } from '@/utils/exception';
|
|
9
10
|
import { TestUtils } from '@/utils/tests';
|
|
@@ -47,7 +48,7 @@ describe(${dashToPascal(name)}UpdateUsecase.name, () => {
|
|
|
47
48
|
await TestUtils.expectZodError(
|
|
48
49
|
() => usecase.execute({} as ${dashToPascal(name)}UpdateInput),
|
|
49
50
|
(issues: ZodIssue[]) => {
|
|
50
|
-
expect(issues).toEqual([{ message: 'Required', path:
|
|
51
|
+
expect(issues).toEqual([{ message: 'Required', path: TestUtils.nameOf<${dashToPascal(name)}UpdateInput>('id') }]);
|
|
51
52
|
}
|
|
52
53
|
);
|
|
53
54
|
});
|
|
@@ -57,7 +58,7 @@ describe(${dashToPascal(name)}UpdateUsecase.name, () => {
|
|
|
57
58
|
};
|
|
58
59
|
|
|
59
60
|
test('when ${snakeToCamel(name)} not found, should expect an error', async () => {
|
|
60
|
-
repository.findById =
|
|
61
|
+
repository.findById = TestUtils.mockResolvedValue<${dashToPascal(name)}Entity>(null);
|
|
61
62
|
|
|
62
63
|
await expect(usecase.execute(input)).rejects.toThrow(ApiNotFoundException);
|
|
63
64
|
});
|
|
@@ -68,8 +69,8 @@ describe(${dashToPascal(name)}UpdateUsecase.name, () => {
|
|
|
68
69
|
});
|
|
69
70
|
|
|
70
71
|
test('when ${snakeToCamel(name)} updated successfully, should expect an ${snakeToCamel(name)}', async () => {
|
|
71
|
-
repository.findById =
|
|
72
|
-
repository.updateOne =
|
|
72
|
+
repository.findById = TestUtils.mockResolvedValue<${dashToPascal(name)}Entity>(${snakeToCamel(name)});
|
|
73
|
+
repository.updateOne = TestUtils.mockResolvedValue<UpdatedModel>();
|
|
73
74
|
|
|
74
75
|
await expect(usecase.execute(input)).resolves.toEqual(${snakeToCamel(name)});
|
|
75
76
|
});
|