Skip to content

Commit 8f1627c

Browse files
Andrea Barbassovins01-4science
authored andcommitted
[DSC-758] fix broken tests
1 parent 171c78b commit 8f1627c

1 file changed

Lines changed: 118 additions & 114 deletions

File tree

src/app/core/locale/locale.service.spec.ts

Lines changed: 118 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ fdescribe('LocaleService test suite', () => {
2525
let document;
2626
let spyOnGetLanguage;
2727

28-
authService = jasmine.createSpyObj('AuthService', {
29-
isAuthenticated: jasmine.createSpy('isAuthenticated'),
30-
isAuthenticationLoaded: jasmine.createSpy('isAuthenticationLoaded')
31-
});
3228

3329
const translateServiceStub: any = {
3430
getLangs: () => {
@@ -38,145 +34,153 @@ fdescribe('LocaleService test suite', () => {
3834
return langList;
3935
},
4036
// eslint-disable-next-line @typescript-eslint/no-empty-function
41-
use: (param: string) => {}
37+
use: (param: string) => {
38+
}
4239
};
4340

44-
const langList = ['en', 'it', 'de'];
45-
46-
beforeEach(waitForAsync(() => {
47-
return TestBed.configureTestingModule({
48-
imports: [
49-
TranslateModule.forRoot({
50-
loader: {
51-
provide: TranslateLoader,
52-
useClass: TranslateLoaderMock
53-
}
54-
}),
55-
],
56-
providers: [
57-
{ provide: CookieService, useValue: new CookieServiceMock() },
58-
{ provide: AuthService, userValue: authService },
59-
{ provide: RouteService, useValue: routeServiceStub },
60-
{ provide: TranslateService, useValue: translateServiceStub },
61-
{ provide: Document, useValue: document },
62-
]
63-
});
64-
}));
65-
66-
beforeEach(() => {
67-
cookieService = TestBed.inject(CookieService);
68-
translateService = TestBed.inject(TranslateService);
69-
routeService = TestBed.inject(RouteService);
70-
window = new NativeWindowRef();
71-
document = { documentElement: { lang: 'en' } };
72-
service = new LocaleService(window, cookieService, translateService, authService, routeService, document);
73-
serviceAsAny = service;
74-
spyOnGet = spyOn(cookieService, 'get');
75-
spyOnSet = spyOn(cookieService, 'set');
76-
spyOnGetLanguage = spyOn(routeService, 'getQueryParameterValue').withArgs('lang');
41+
authService = jasmine.createSpyObj('AuthService', {
42+
isAuthenticated: jasmine.createSpy('isAuthenticated'),
43+
isAuthenticationLoaded: jasmine.createSpy('isAuthenticationLoaded')
7744
});
45+
const langList = ['en', 'xx', 'de'];
46+
47+
describe('with valid language', () => {
48+
49+
beforeEach(waitForAsync(() => {
50+
return TestBed.configureTestingModule({
51+
imports: [
52+
TranslateModule.forRoot({
53+
loader: {
54+
provide: TranslateLoader,
55+
useClass: TranslateLoaderMock
56+
}
57+
}),
58+
],
59+
providers: [
60+
{ provide: CookieService, useValue: new CookieServiceMock() },
61+
{ provide: AuthService, userValue: authService },
62+
{ provide: RouteService, useValue: routeServiceStub },
63+
{ provide: TranslateService, useValue: translateServiceStub },
64+
{ provide: Document, useValue: document },
65+
]
66+
});
67+
}));
7868

79-
describe('getCurrentLanguageCode', () => {
80-
it('should return language saved on cookie', () => {
81-
spyOnGet.and.returnValue('de');
82-
expect(service.getCurrentLanguageCode()).toBe('de');
69+
beforeEach(() => {
70+
cookieService = TestBed.inject(CookieService);
71+
translateService = TestBed.inject(TranslateService);
72+
routeService = TestBed.inject(RouteService);
73+
window = new NativeWindowRef();
74+
document = { documentElement: { lang: 'en' } };
75+
service = new LocaleService(window, cookieService, translateService, authService, routeService, document);
76+
serviceAsAny = service;
77+
spyOnGet = spyOn(cookieService, 'get');
78+
spyOnSet = spyOn(cookieService, 'set');
79+
spyOnGetLanguage = spyOn(routeService, 'getQueryParameterValue').withArgs('lang');
8380
});
8481

85-
describe('', () => {
86-
beforeEach(() => {
87-
spyOn(translateService, 'getLangs').and.returnValue(langList);
82+
describe('getCurrentLanguageCode', () => {
83+
it('should return language saved on cookie', () => {
84+
spyOnGet.and.returnValue('de');
85+
expect(service.getCurrentLanguageCode()).toBe('de');
8886
});
8987

90-
it('should return language from browser setting', () => {
91-
spyOn(translateService, 'getBrowserLang').and.returnValue('it');
92-
expect(service.getCurrentLanguageCode()).toBe('it');
93-
});
88+
describe('', () => {
89+
beforeEach(() => {
90+
spyOn(translateService, 'getLangs').and.returnValue(langList);
91+
});
9492

95-
it('should return default language from config', () => {
96-
spyOn(translateService, 'getBrowserLang').and.returnValue('fr');
97-
expect(service.getCurrentLanguageCode()).toBe('en');
98-
});
99-
});
100-
});
93+
it('should return language from browser setting', () => {
94+
spyOn(translateService, 'getBrowserLang').and.returnValue('xx');
95+
expect(service.getCurrentLanguageCode()).toBe('xx');
96+
});
10197

102-
describe('getLanguageCodeFromCookie', () => {
103-
it('should return language from cookie', () => {
104-
spyOnGet.and.returnValue('de');
105-
expect(service.getLanguageCodeFromCookie()).toBe('de');
98+
it('should return default language from config', () => {
99+
spyOn(translateService, 'getBrowserLang').and.returnValue('fr');
100+
expect(service.getCurrentLanguageCode()).toBe('en');
101+
});
102+
});
106103
});
107104

108-
});
105+
describe('getLanguageCodeFromCookie', () => {
106+
it('should return language from cookie', () => {
107+
spyOnGet.and.returnValue('de');
108+
expect(service.getLanguageCodeFromCookie()).toBe('de');
109+
});
109110

110-
describe('saveLanguageCodeToCookie', () => {
111-
it('should save language to cookie', () => {
112-
service.saveLanguageCodeToCookie('en');
113-
expect(spyOnSet).toHaveBeenCalledWith(LANG_COOKIE, 'en');
114111
});
115-
});
116112

117-
describe('setCurrentLanguageCode', () => {
118-
beforeEach(() => {
119-
spyOn(service, 'saveLanguageCodeToCookie');
120-
spyOn(translateService, 'use');
113+
describe('saveLanguageCodeToCookie', () => {
114+
it('should save language to cookie', () => {
115+
service.saveLanguageCodeToCookie('en');
116+
expect(spyOnSet).toHaveBeenCalledWith(LANG_COOKIE, 'en');
117+
});
121118
});
122119

123-
it('should set the given language', () => {
124-
service.setCurrentLanguageCode('it');
125-
expect(translateService.use).toHaveBeenCalledWith('it');
126-
expect(service.saveLanguageCodeToCookie).toHaveBeenCalledWith('it');
127-
});
120+
describe('setCurrentLanguageCode', () => {
121+
beforeEach(() => {
122+
spyOn(service, 'saveLanguageCodeToCookie');
123+
spyOn(translateService, 'use');
124+
});
128125

129-
it('should set the current language', () => {
130-
spyOn(service, 'getCurrentLanguageCode').and.returnValue('es');
131-
service.setCurrentLanguageCode();
132-
expect(translateService.use).toHaveBeenCalledWith('es');
133-
expect(service.saveLanguageCodeToCookie).toHaveBeenCalledWith('es');
134-
});
126+
it('should set the given language', () => {
127+
service.setCurrentLanguageCode('it');
128+
expect(translateService.use).toHaveBeenCalledWith('it');
129+
expect(service.saveLanguageCodeToCookie).toHaveBeenCalledWith('it');
130+
});
135131

136-
it('should set the current language on the html tag', () => {
137-
spyOn(service, 'getCurrentLanguageCode').and.returnValue('es');
138-
service.setCurrentLanguageCode();
139-
expect((service as any).document.documentElement.lang).toEqual('es');
140-
});
132+
it('should set the current language', () => {
133+
spyOn(service, 'getCurrentLanguageCode').and.returnValue('es');
134+
service.setCurrentLanguageCode();
135+
expect(translateService.use).toHaveBeenCalledWith('es');
136+
expect(service.saveLanguageCodeToCookie).toHaveBeenCalledWith('es');
137+
});
141138

142-
describe('should set language on init', () => {
143-
beforeEach(() => {
144-
spyOn(translateService, 'getLangs').and.returnValue(langList);
145-
spyOn(service, 'setCurrentLanguageCode');
139+
it('should set the current language on the html tag', () => {
140+
spyOn(service, 'getCurrentLanguageCode').and.returnValue('es');
141+
service.setCurrentLanguageCode();
142+
expect((service as any).document.documentElement.lang).toEqual('es');
146143
});
147-
describe('whith correct lang query param ', () => {
144+
145+
describe('should set language on init', () => {
148146
beforeEach(() => {
149-
spyOnGetLanguage.and.returnValue(observableOf('en'));
150-
service.initDefaults();
151-
});
152-
it('should set correct lang', () => {
153-
expect(service.setCurrentLanguageCode).toHaveBeenCalledWith('en');
147+
spyOn(translateService, 'getLangs').and.returnValue(langList);
148+
spyOn(service, 'setCurrentLanguageCode');
154149
});
155-
});
156-
describe('whith wrong lang query param ', () => {
157-
beforeEach(() => {
158-
spyOnGetLanguage.and.returnValue(observableOf('abcd'));
159-
service.initDefaults();
150+
describe('whith correct lang query param ', () => {
151+
beforeEach(() => {
152+
spyOnGetLanguage.and.returnValue(observableOf('en'));
153+
service.initDefaults();
154+
});
155+
it('should set correct lang', () => {
156+
expect(service.setCurrentLanguageCode).toHaveBeenCalledWith('en');
157+
});
160158
});
161-
it('should not set lang', () => {
162-
expect(service.setCurrentLanguageCode).not.toHaveBeenCalled();
159+
describe('whith wrong lang query param ', () => {
160+
beforeEach(() => {
161+
spyOnGetLanguage.and.returnValue(observableOf('abcd'));
162+
service.initDefaults();
163+
});
164+
it('should not set lang', () => {
165+
expect(service.setCurrentLanguageCode).not.toHaveBeenCalled();
166+
});
163167
});
164168
});
165169
});
166-
});
167170

168-
describe('', () => {
169-
it('should set quality to current language list', () => {
170-
const langListWithQuality = ['en;q=1', 'it;q=0.9', 'de;q=0.8'];
171-
spyOn(service, 'setQuality').and.returnValue(langListWithQuality);
172-
service.setQuality(langList, LANG_ORIGIN.BROWSER, false);
173-
expect(service.setQuality).toHaveBeenCalledWith(langList, LANG_ORIGIN.BROWSER, false);
174-
});
171+
describe('', () => {
172+
it('should set quality to current language list', () => {
173+
const langListWithQuality = ['en;q=1', 'it;q=0.9', 'de;q=0.8'];
174+
spyOn(service, 'setQuality').and.returnValue(langListWithQuality);
175+
service.setQuality(langList, LANG_ORIGIN.BROWSER, false);
176+
expect(service.setQuality).toHaveBeenCalledWith(langList, LANG_ORIGIN.BROWSER, false);
177+
});
175178

176-
it('should return the list of language with quality factor', () => {
177-
spyOn(service, 'getLanguageCodeList');
178-
service.getLanguageCodeList();
179-
expect(service.getLanguageCodeList).toHaveBeenCalled();
179+
it('should return the list of language with quality factor', () => {
180+
spyOn(service, 'getLanguageCodeList');
181+
service.getLanguageCodeList();
182+
expect(service.getLanguageCodeList).toHaveBeenCalled();
183+
});
180184
});
181185
});
182186
});

0 commit comments

Comments
 (0)