unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
40 lines • 1.74 kB
JavaScript
import { createFakeProjectService } from './createProjectService.js';
import { createTestConfig } from '../../../test/config/test-config.js';
const alwaysOnFlagResolver = {
isEnabled() {
return true;
},
};
test('Should not allow to exceed project limit on create', async () => {
const LIMIT = 1;
const { projectService } = createFakeProjectService({
...createTestConfig(),
flagResolver: alwaysOnFlagResolver,
resourceLimits: { projects: LIMIT },
eventBus: {
emit: () => { },
},
});
const createProject = (name) => projectService.createProject({ name }, {}, {});
await createProject('projectA');
await expect(() => createProject('projectB')).rejects.toThrow("Failed to create project. You can't create more than the established limit of 1.");
});
test('Should not allow to exceed project limit on revive', async () => {
const LIMIT = 1;
const { projectService } = createFakeProjectService({
...createTestConfig(),
flagResolver: alwaysOnFlagResolver,
resourceLimits: { projects: LIMIT },
eventBus: {
emit: () => { },
},
});
const createProject = (name) => projectService.createProject({ name, id: name }, {}, {});
const archiveProject = (id) => projectService.archiveProject(id, {});
const reviveProject = (id) => projectService.reviveProject(id, {});
await createProject('projectA');
await archiveProject('projectA');
await createProject('projectB');
await expect(() => reviveProject('projectA')).rejects.toThrow("Failed to create project. You can't create more than the established limit of 1.");
});
//# sourceMappingURL=project-service.limit.test.js.map