2022-02-28 03:15:03 +00:00
|
|
|
import { FolderAppsService } from '@services/folder_apps.service';
|
|
|
|
|
import { clearDB, createNestAppInstance, setupOrganization } from '../test.helper';
|
|
|
|
|
import { INestApplication } from '@nestjs/common';
|
|
|
|
|
import { getManager } from 'typeorm';
|
|
|
|
|
import { FolderApp } from '../../src/entities/folder_app.entity';
|
|
|
|
|
import { FoldersService } from '@services/folders.service';
|
|
|
|
|
|
|
|
|
|
describe('FolderAppsService', () => {
|
|
|
|
|
let service: FolderAppsService;
|
|
|
|
|
let nestApp: INestApplication;
|
|
|
|
|
let foldersService: FoldersService;
|
|
|
|
|
|
|
|
|
|
beforeEach(async () => {
|
|
|
|
|
await clearDB();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
beforeAll(async () => {
|
|
|
|
|
nestApp = await createNestAppInstance();
|
|
|
|
|
service = nestApp.get<FolderAppsService>(FolderAppsService);
|
|
|
|
|
foldersService = nestApp.get<FoldersService>(FoldersService);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
describe('.create', () => {
|
|
|
|
|
it('should create app folder', async () => {
|
|
|
|
|
const { adminUser, app } = await setupOrganization(nestApp);
|
|
|
|
|
// create a new folder
|
|
|
|
|
const folder = await foldersService.create(adminUser, 'folder');
|
|
|
|
|
const manager = getManager();
|
|
|
|
|
|
|
|
|
|
// add app to folder
|
|
|
|
|
await service.create(folder.id, app.id);
|
|
|
|
|
|
2022-05-05 07:08:42 +00:00
|
|
|
const newFolder = await manager.findOneOrFail(FolderApp, { where: { folderId: folder.id, appId: app.id } });
|
2022-02-28 03:15:03 +00:00
|
|
|
expect(newFolder.folderId).toBe(folder.id);
|
|
|
|
|
expect(newFolder.appId).toBe(app.id);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
describe('.remove', () => {
|
|
|
|
|
it('should remove app from folder', async () => {
|
|
|
|
|
const { adminUser, app } = await setupOrganization(nestApp);
|
|
|
|
|
// create a new folder
|
|
|
|
|
const folder = await foldersService.create(adminUser, 'folder');
|
|
|
|
|
const manager = getManager();
|
|
|
|
|
|
|
|
|
|
// add app to folder
|
|
|
|
|
await service.create(folder.id, app.id);
|
|
|
|
|
|
|
|
|
|
// remove app from folder
|
|
|
|
|
await service.remove(folder.id, app.id);
|
|
|
|
|
|
2023-06-07 09:33:54 +00:00
|
|
|
await foldersService.create(adminUser, 'folder1');
|
2022-05-05 07:08:42 +00:00
|
|
|
await expect(manager.findOneOrFail(FolderApp, { where: { folderId: folder.id, appId: app.id } })).rejects.toThrow(
|
|
|
|
|
expect.any(Error)
|
|
|
|
|
);
|
2022-02-28 03:15:03 +00:00
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
afterAll(async () => {
|
|
|
|
|
await nestApp.close();
|
|
|
|
|
});
|
|
|
|
|
});
|