]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | import { ComponentFixture, TestBed } from '@angular/core/testing';\r |
2 | import { FormsModule } from '@angular/forms';\r | |
3 | \r | |
81eedcae TL |
4 | import { listLocales } from 'ngx-bootstrap/chronos';\r |
5 | import { BsLocaleService } from 'ngx-bootstrap/datepicker';\r | |
6 | \r | |
eafe8130 | 7 | import { HttpClientTestingModule } from '@angular/common/http/testing';\r |
11fdf7f2 | 8 | import { configureTestBed } from '../../../../testing/unit-test-helper';\r |
11fdf7f2 TL |
9 | import { LanguageSelectorComponent } from './language-selector.component';\r |
10 | \r | |
11 | describe('LanguageSelectorComponent', () => {\r | |
12 | let component: LanguageSelectorComponent;\r | |
13 | let fixture: ComponentFixture<LanguageSelectorComponent>;\r | |
14 | \r | |
15 | configureTestBed({\r | |
16 | declarations: [LanguageSelectorComponent],\r | |
81eedcae | 17 | providers: [BsLocaleService],\r |
eafe8130 | 18 | imports: [FormsModule, HttpClientTestingModule]\r |
11fdf7f2 TL |
19 | });\r |
20 | \r | |
21 | beforeEach(() => {\r | |
22 | fixture = TestBed.createComponent(LanguageSelectorComponent);\r | |
23 | component = fixture.componentInstance;\r | |
24 | fixture.detectChanges();\r | |
81eedcae | 25 | spyOn(window.location, 'reload').and.callFake(() => component.ngOnInit());\r |
11fdf7f2 TL |
26 | });\r |
27 | \r | |
28 | it('should create', () => {\r | |
29 | expect(component).toBeTruthy();\r | |
30 | });\r | |
31 | \r | |
32 | it('should read current language', () => {\r | |
33 | expect(component.selectedLanguage).toBe('en-US');\r | |
81eedcae TL |
34 | expect(listLocales()).toEqual([]);\r |
35 | });\r | |
36 | \r | |
37 | const expectLanguageChange = (lang) => {\r | |
38 | component.changeLanguage(lang);\r | |
eafe8130 TL |
39 | const cookie = document.cookie.split(';').filter((item) => item.includes(`cd-lang=${lang}`));\r |
40 | expect(cookie.length).toBe(1);\r | |
81eedcae TL |
41 | };\r |
42 | \r | |
43 | it('should change to cs', () => {\r | |
44 | expectLanguageChange('cs');\r | |
45 | });\r | |
46 | \r | |
47 | it('should change to de-DE', () => {\r | |
48 | expectLanguageChange('de-DE');\r | |
49 | });\r | |
50 | \r | |
51 | it('should change to es-ES', () => {\r | |
52 | expectLanguageChange('es-ES');\r | |
11fdf7f2 TL |
53 | });\r |
54 | \r | |
81eedcae TL |
55 | it('should change to fr-FR', () => {\r |
56 | expectLanguageChange('fr-FR');\r | |
57 | });\r | |
58 | \r | |
59 | it('should change to id-ID', () => {\r | |
60 | expectLanguageChange('id-ID');\r | |
61 | });\r | |
62 | \r | |
494da23a TL |
63 | it('should change to it-IT', () => {\r |
64 | expectLanguageChange('it-IT');\r | |
65 | });\r | |
66 | \r | |
67 | it('should change to ja-JP', () => {\r | |
68 | expectLanguageChange('ja-JP');\r | |
69 | });\r | |
70 | \r | |
71 | it('should change to ko-KR', () => {\r | |
72 | expectLanguageChange('ko-KR');\r | |
73 | });\r | |
74 | \r | |
81eedcae TL |
75 | it('should change to pl-PL', () => {\r |
76 | expectLanguageChange('pl-PL');\r | |
77 | });\r | |
78 | \r | |
494da23a TL |
79 | it('should change to pt-BR', () => {\r |
80 | expectLanguageChange('pt-BR');\r | |
81eedcae | 81 | });\r |
11fdf7f2 | 82 | \r |
81eedcae TL |
83 | it('should change to zh-CN', () => {\r |
84 | expectLanguageChange('zh-CN');\r | |
11fdf7f2 | 85 | });\r |
494da23a TL |
86 | \r |
87 | it('should change to zh-TW', () => {\r | |
88 | expectLanguageChange('zh-TW');\r | |
89 | });\r | |
11fdf7f2 | 90 | });\r |