From ba07080aada3ae638ff659a9d4b4fc5dcb2e0730 Mon Sep 17 00:00:00 2001 From: sighphyre Date: Wed, 16 Mar 2022 14:29:11 +0200 Subject: [PATCH] chore: extend tests for enabled environments --- .../e2e/services/environment-service.test.ts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/test/e2e/services/environment-service.test.ts b/src/test/e2e/services/environment-service.test.ts index e2510559be..ac21c74df5 100644 --- a/src/test/e2e/services/environment-service.test.ts +++ b/src/test/e2e/services/environment-service.test.ts @@ -232,3 +232,38 @@ test('When given overrides should remap projects to override environments', asyn expect(projects).toContain('enabled'); expect(projects).not.toContain('default'); }); + +test('Override works correctly when enabling default and disabling prod and dev', async () => { + const defaultEnvironment = 'default'; + const prodEnvironment = 'production'; + const devEnvironment = 'development'; + + await db.stores.environmentStore.create({ + name: prodEnvironment, + type: 'production', + }); + + await db.stores.environmentStore.create({ + name: devEnvironment, + type: 'development', + }); + await service.toggleEnvironment(prodEnvironment, true); + await service.toggleEnvironment(devEnvironment, true); + + await service.overrideEnabledProjects([defaultEnvironment]); + + const environments = await service.getAll(); + const targetedEnvironment = environments.find( + (env) => env.name == defaultEnvironment, + ); + + const allOtherEnvironments = environments + .filter((x) => x.name != defaultEnvironment) + .map((env) => env.enabled); + const envNames = environments.map((x) => x.name); + + expect(envNames).toContain('production'); + expect(envNames).toContain('development'); + expect(targetedEnvironment.enabled).toBe(true); + expect(allOtherEnvironments.every((x) => x === false)).toBe(true); +});