fix test for frontend

This commit is contained in:
ogerly 2022-08-07 23:05:34 +02:00
parent dec15c24ca
commit 9f9395c7ab
2 changed files with 52 additions and 8 deletions

View File

@ -45,7 +45,7 @@ describe('LanguageSwitch', () => {
expect(wrapper.find('div.language-switch').exists()).toBeTruthy()
})
describe('with locales en and de', () => {
describe('with locales en, de and es', () => {
describe('empty store', () => {
describe('navigator language is "en-US"', () => {
const languageGetter = jest.spyOn(navigator, 'language', 'get')
@ -69,11 +69,22 @@ describe('LanguageSwitch', () => {
})
})
describe('navigator language is "es-ES" (not supported)', () => {
describe('navigator language is "es-ES"', () => {
const languageGetter = jest.spyOn(navigator, 'language', 'get')
it('shows Español as language ', async () => {
languageGetter.mockReturnValue('es-ES')
wrapper.vm.setCurrentLanguage()
await wrapper.vm.$nextTick()
expect(wrapper.find('button.dropdown-toggle').text()).toBe('Español - es')
})
})
describe('navigator language is "fr-FR" (not supported)', () => {
const languageGetter = jest.spyOn(navigator, 'language', 'get')
it('shows English as language ', async () => {
languageGetter.mockReturnValue('es-ES')
languageGetter.mockReturnValue('fr-FR')
wrapper.vm.setCurrentLanguage()
await wrapper.vm.$nextTick()
expect(wrapper.find('button.dropdown-toggle').text()).toBe('English - en')
@ -101,9 +112,18 @@ describe('LanguageSwitch', () => {
})
})
describe('language "es" in store', () => {
it('shows Español as language', async () => {
wrapper.vm.$store.state.language = 'es'
wrapper.vm.setCurrentLanguage()
await wrapper.vm.$nextTick()
expect(wrapper.find('button.dropdown-toggle').text()).toBe('Español - es')
})
})
describe('dropdown menu', () => {
it('has English and German as languages to choose', () => {
expect(wrapper.findAll('li')).toHaveLength(2)
expect(wrapper.findAll('li')).toHaveLength(3)
})
it('has English as first language to choose', () => {
@ -113,6 +133,10 @@ describe('LanguageSwitch', () => {
it('has German as second language to choose', () => {
expect(wrapper.findAll('li').at(1).text()).toBe('Deutsch')
})
it('has Español as second language to choose', () => {
expect(wrapper.findAll('li').at(2).text()).toBe('Español')
})
})
})

View File

@ -66,10 +66,19 @@ describe('LanguageSwitch', () => {
expect(wrapper.findAll('span.locales').at(1).text()).toBe('Deutsch')
})
})
describe('navigator language is "es-ES" (not supported)', () => {
describe('navigator language is "es-ES"', () => {
const languageGetter = jest.spyOn(navigator, 'language', 'get')
it('shows Español as language ', async () => {
languageGetter.mockReturnValue('es-ES')
wrapper.vm.setCurrentLanguage()
await wrapper.vm.$nextTick()
expect(wrapper.findAll('span.locales').at(2).text()).toBe('Español')
})
})
describe('navigator language is "fr-FR" (not supported)', () => {
const languageGetter = jest.spyOn(navigator, 'language', 'get')
it('shows English as language ', async () => {
languageGetter.mockReturnValue('es-ES')
languageGetter.mockReturnValue('fr-FR')
wrapper.vm.setCurrentLanguage()
await wrapper.vm.$nextTick()
expect(wrapper.findAll('span.locales').at(0).text()).toBe('English')
@ -93,9 +102,17 @@ describe('LanguageSwitch', () => {
expect(wrapper.findAll('span.locales').at(1).text()).toBe('Deutsch')
})
})
describe('language "es" in store', () => {
it('shows Español as language', async () => {
wrapper.vm.$store.state.language = 'es'
wrapper.vm.setCurrentLanguage()
await wrapper.vm.$nextTick()
expect(wrapper.findAll('span.locales').at(2).text()).toBe('Español')
})
})
describe('language menu', () => {
it('has English and German as languages to choose', () => {
expect(wrapper.findAll('span.locales')).toHaveLength(2)
it('has English, German and Español as languages to choose', () => {
expect(wrapper.findAll('span.locales')).toHaveLength(3)
})
it('has English as first language to choose', () => {
expect(wrapper.findAll('span.locales').at(0).text()).toBe('English')
@ -103,6 +120,9 @@ describe('LanguageSwitch', () => {
it('has German as second language to choose', () => {
expect(wrapper.findAll('span.locales').at(1).text()).toBe('Deutsch')
})
it('has Español as third language to choose', () => {
expect(wrapper.findAll('span.locales').at(2).text()).toBe('Español')
})
})
})