1- import { ComponentFixture , TestBed } from '@angular/core/testing' ;
1+ import { ComponentFixture , fakeAsync , TestBed , tick } from '@angular/core/testing' ;
2+ import { of } from 'rxjs' ;
3+ import { delay } from 'rxjs/operators' ;
4+ import { FeatureToggleGeneralService } from '../../feature-toggles/feature-toggle-general/feature-toggle-general.service' ;
5+ import { FeatureToggleModel } from '../../feature-toggles/feature-toggle.model' ;
6+ import { FeatureFilterModel } from '../../feature-toggles/filters/feature-filter.model' ;
27import { DarkModeComponent } from './dark-mode.component' ;
38
49describe ( 'DarkModeComponent' , ( ) => {
510 let component : DarkModeComponent ;
611 let fixture : ComponentFixture < DarkModeComponent > ;
712 let html : HTMLElement ;
13+ let featureToggleGeneralService : FeatureToggleGeneralService ;
814
915 beforeEach ( async ( ) => {
1016 await TestBed . configureTestingModule ( {
@@ -16,6 +22,7 @@ describe('DarkModeComponent', () => {
1622 fixture = TestBed . createComponent ( DarkModeComponent ) ;
1723 component = fixture . componentInstance ;
1824 html = document . documentElement ;
25+ featureToggleGeneralService = TestBed . inject ( FeatureToggleGeneralService ) ;
1926 fixture . detectChanges ( ) ;
2027 } ) ;
2128
@@ -76,4 +83,14 @@ describe('DarkModeComponent', () => {
7683 expect ( localStorage . getItem ( 'theme' ) ) . toEqual ( 'dark' ) ;
7784 expect ( html . classList . contains ( 'dark' ) ) . toBe ( true ) ;
7885 } ) ;
86+
87+ it ( 'should be true the isFeatureToggleDarkModeActive property when the user has the dark-mode feature toggle enabled' , fakeAsync ( ( ) => {
88+ const filters : FeatureFilterModel [ ] = [ ] ;
89+ const featureToggle : FeatureToggleModel = { name : 'dark-mode' , enabled : true , filters} ;
90+ spyOn ( featureToggleGeneralService , 'getActivated' ) . and . returnValue ( of ( [ featureToggle ] ) . pipe ( delay ( 1 ) ) ) ;
91+ component . ngOnInit ( ) ;
92+ tick ( 1 ) ;
93+ expect ( component . isFeatureToggleDarkModeActive ) . toBeTruthy ( ) ;
94+ } ) ) ;
95+
7996} ) ;
0 commit comments