Skip to content

Commit 8681c62

Browse files
committed
mock create admin files
1 parent ff32753 commit 8681c62

3 files changed

Lines changed: 41 additions & 2 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { FsUtilities } from '../../encapsulation';
2+
import { adminControllerContent } from '../../loopback/admin-controller.content';
3+
import { adminModelContent } from '../../loopback/admin-model.content';
4+
import { fullAdminModelContent } from '../../loopback/full-admin-model.content';
5+
import { newAdminModelContent } from '../../loopback/new-admin-model.content';
6+
import { Path, getPath } from '../../utilities';
7+
8+
// eslint-disable-next-line jsdoc/require-jsdoc
9+
export async function createAdminFilesMock(root: string, dbName: string): Promise<void> {
10+
const adminModelTs: Path = getPath(root, 'src', 'models', 'admin.model.ts');
11+
await FsUtilities.createFile(adminModelTs, adminModelContent);
12+
await FsUtilities.createFile(
13+
getPath(root, 'src', 'models', 'roles.enum.ts'),
14+
[
15+
'export enum Roles {',
16+
'\tADMIN = \'ADMIN\'',
17+
'}'
18+
]
19+
);
20+
await FsUtilities.createFile(
21+
getPath(root, 'src', 'models', 'index.ts'),
22+
[
23+
'export * from \'./admin.model\';',
24+
'export * from \'./roles.enum\';'
25+
]
26+
);
27+
28+
const adminRepositoryTs: Path = getPath(root, 'src', 'repositories', 'admin.repository.ts');
29+
await FsUtilities.createFile(adminRepositoryTs, []);
30+
31+
const controllerPath: string = getPath(root, 'src', 'controllers');
32+
await FsUtilities.createFile(getPath(controllerPath, 'admin', 'admin.controller.ts'), adminControllerContent(dbName));
33+
await FsUtilities.updateFile(getPath(controllerPath, 'index.ts'), 'export * from \'./admin/admin.controller\';', 'append');
34+
35+
await FsUtilities.createFile(getPath(controllerPath, 'admin', 'new-admin.model.ts'), newAdminModelContent);
36+
await FsUtilities.createFile(getPath(controllerPath, 'admin', 'full-admin.model.ts'), fullAdminModelContent);
37+
}

src/__testing__/mock/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ export * from './fake-add-nav-element-config.function';
77
export * from './fake-env-variable.function';
88
export * from './fake-calculated-env-variable.function';
99
export * from './inquire.mock';
10-
export * from './create-mail-service.mock';
10+
export * from './create-mail-service.mock';
11+
export * from './create-admin-files.mock';

src/commands/add/add-loopback/add-loopback-command.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { afterEach, beforeEach, describe, expect, jest, test } from '@jest/globals';
22

3-
import { FileMockUtilities, getMockConstants, MAX_ADD_TIME, MockConstants, inquireMock, createMailServiceMock } from '../../../__testing__';
3+
import { FileMockUtilities, getMockConstants, MAX_ADD_TIME, MockConstants, inquireMock, createMailServiceMock, createAdminFilesMock } from '../../../__testing__';
44
import { DbType } from '../../../db';
55
import { InquirerUtilities } from '../../../encapsulation';
66
import { AddConfiguration, AddType } from '../models';
@@ -25,6 +25,7 @@ describe('AddLoopbackCommand', () => {
2525
}));
2626
LoopbackUtilities['createMailService'] = jest.fn(createMailServiceMock);
2727
LoopbackUtilities['createBiometricCredentialsService'] = jest.fn(async () => {});
28+
LoopbackUtilities['createAdminFiles'] = jest.fn(createAdminFilesMock);
2829
});
2930

3031
test('should run and create new database', async () => {

0 commit comments

Comments
 (0)