merge from ecomp a88f0072 - Modern UI
Issue-ID: VID-378
Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6
Signed-off-by: Ittay Stern <ittay.stern@att.com>
diff --git a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.spec.ts b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.spec.ts
new file mode 100644
index 0000000..847af66
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.spec.ts
@@ -0,0 +1,47 @@
+import {FeatureFlagsService, Features} from "./feature-flags.service";
+import {getTestBed, TestBed} from "@angular/core/testing";
+import {NgRedux} from "@angular-redux/store";
+import each from 'jest-each';
+let flagValue:boolean;
+
+class MockReduxStore<T> {
+
+ getState() {
+ return {
+ "global": {
+ "flags": {
+ "FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST": flagValue,
+ },
+ },
+ }
+ };
+}
+
+describe('Feature flags Service', () => {
+
+ let injector;
+ let service: FeatureFlagsService;
+
+ beforeAll(done => (async () => {
+ TestBed.configureTestingModule({
+ providers: [
+ FeatureFlagsService,
+ {provide: NgRedux, useClass: MockReduxStore}]
+ });
+ await TestBed.compileComponents();
+
+ injector = getTestBed();
+ service = injector.get(FeatureFlagsService);
+
+ })().then(done).catch(done.fail));
+
+ let flagValueDataProvider = [
+ ['flag is true', true],
+ ['flag is false', false]
+ ];
+
+ each(flagValueDataProvider).test("should return the correct flag %s", (desc: string, flag: boolean) => {
+ flagValue = flag;
+ expect(service.getFlagState(Features.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST)).toEqual(flag);
+ });
+});