ToolJet/server/test/services/folder_apps.service.spec.ts
Midhun G S 0545528504
Support for multiple workspaces 🚀 (#2778)
* multi org changes

* Initial changes

* changes

* manage sso page

* Multi-organization changes

* Multi organization changes

* multi-org changes

* multi-org changes

* multi-org changes

* multi-org fixes

* env variables app.json changes

* multi-org-fix

* user invitation token fix

* multi-org group permission fix

* multi-org app privilege

* google oauth fix

* Remove enable signup for form login

* Multi organization fixes

* multi-org user invite flow changes

* multi-org sign up fix

* rebase and multi-org fixes

* revert testing logs

* test logs revert

* migration changes

* migration file fix

* error message changes

* git login for private email fix

* dropdown fix

* test cases

* e2e test cases added

* test cases fix

* documentation changes

* testcases fix

* testcases added

* replace findOne with findOneOrFail

* accept invite testcases

* login page fixes

* added encrypted tag

* review comments

* migration fixes

* improvements

* manage sso loading fix

* review comments

* migration file changes

* new organization creation bug fix

* added e2e testcases

* added testcases

* Update data_sources.controller.ts
2022-05-05 12:38:42 +05:30

62 lines
2 KiB
TypeScript

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);
const newFolder = await manager.findOneOrFail(FolderApp, { where: { folderId: folder.id, appId: app.id } });
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);
await foldersService.create(adminUser, 'folder');
await expect(manager.findOneOrFail(FolderApp, { where: { folderId: folder.id, appId: app.id } })).rejects.toThrow(
expect.any(Error)
);
});
});
afterAll(async () => {
await nestApp.close();
});
});