]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/components/language-selector/language-selector.component.spec.ts
import 15.2.0 Octopus source
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / shared / components / language-selector / language-selector.component.spec.ts
CommitLineData
11fdf7f2
TL
1import { ComponentFixture, TestBed } from '@angular/core/testing';\r
2import { FormsModule } from '@angular/forms';\r
3\r
81eedcae
TL
4import { listLocales } from 'ngx-bootstrap/chronos';\r
5import { BsLocaleService } from 'ngx-bootstrap/datepicker';\r
6\r
eafe8130 7import { HttpClientTestingModule } from '@angular/common/http/testing';\r
11fdf7f2 8import { configureTestBed } from '../../../../testing/unit-test-helper';\r
11fdf7f2
TL
9import { LanguageSelectorComponent } from './language-selector.component';\r
10\r
11describe('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
9f95a23c 25 spyOn(component, 'reloadWindow').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
9f95a23c 37 const expectLanguageChange = (lang: string) => {\r
81eedcae 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