diff --git a/frontend/src/components/LanguageSwitch.spec.js b/frontend/src/components/LanguageSwitch.spec.js index a6abc2359..7f37c535a 100644 --- a/frontend/src/components/LanguageSwitch.spec.js +++ b/frontend/src/components/LanguageSwitch.spec.js @@ -45,7 +45,7 @@ describe('LanguageSwitch', () => { expect(wrapper.find('div.language-switch').exists()).toBeTruthy() }) - describe('with locales en, de and es', () => { + describe('with locales en, de, es, fr, and nl', () => { describe('empty store', () => { describe('navigator language is "en-US"', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') @@ -94,11 +94,11 @@ describe('LanguageSwitch', () => { describe('navigator language is "nl-NL"', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') - it('shows Dutch as language ', async () => { + it('shows Nederlands as language ', async () => { languageGetter.mockReturnValue('nl-NL') wrapper.vm.setCurrentLanguage() await wrapper.vm.$nextTick() - expect(wrapper.find('button.dropdown-toggle').text()).toBe('Holandés - nl') + expect(wrapper.find('button.dropdown-toggle').text()).toBe('Nederlands - nl') }) }) @@ -153,16 +153,16 @@ describe('LanguageSwitch', () => { }) describe('language "nl" in store', () => { - it('shows Dutch as language', async () => { + it('shows Nederlands as language', async () => { wrapper.vm.$store.state.language = 'nl' wrapper.vm.setCurrentLanguage() await wrapper.vm.$nextTick() - expect(wrapper.find('button.dropdown-toggle').text()).toBe('Holandés - nl') + expect(wrapper.find('button.dropdown-toggle').text()).toBe('Nederlands - nl') }) }) describe('dropdown menu', () => { - it('has English and German as languages to choose', () => { + it('has five languages to choose from', () => { expect(wrapper.findAll('li')).toHaveLength(5) }) @@ -174,16 +174,16 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('li').at(1).text()).toBe('Deutsch') }) - it('has Español as second language to choose', () => { + it('has Español as third language to choose', () => { expect(wrapper.findAll('li').at(2).text()).toBe('Español') }) - it('has French as second language to choose', () => { + it('has French as fourth language to choose', () => { expect(wrapper.findAll('li').at(3).text()).toBe('Français') }) - it('has Dutch as second language to choose', () => { - expect(wrapper.findAll('li').at(4).text()).toBe('Holandés') + it('has Nederlands as fith language to choose', () => { + expect(wrapper.findAll('li').at(4).text()).toBe('Nederlands') }) }) }) diff --git a/frontend/src/components/LanguageSwitch2.spec.js b/frontend/src/components/LanguageSwitch2.spec.js index 080cc9d42..0d2b485ec 100644 --- a/frontend/src/components/LanguageSwitch2.spec.js +++ b/frontend/src/components/LanguageSwitch2.spec.js @@ -46,10 +46,11 @@ describe('LanguageSwitch', () => { expect(wrapper.find('div.language-switch').exists()).toBe(true) }) - describe('with locales en and de', () => { + describe('with locales en, de, es, fr, and nl', () => { describe('empty store', () => { describe('navigator language is "en-US"', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') + it('shows English as default navigator langauge', async () => { languageGetter.mockReturnValue('en-US') wrapper.vm.setCurrentLanguage() @@ -57,8 +58,10 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(0).text()).toBe('English') }) }) + describe('navigator language is "de-DE"', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') + it('shows Deutsch as language ', async () => { languageGetter.mockReturnValue('de-DE') wrapper.vm.setCurrentLanguage() @@ -66,8 +69,10 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(1).text()).toBe('Deutsch') }) }) + 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() @@ -75,8 +80,10 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(2).text()).toBe('Español') }) }) + describe('navigator language is "fr-FR"', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') + it('shows French as language ', async () => { languageGetter.mockReturnValue('fr-FR') wrapper.vm.setCurrentLanguage() @@ -84,17 +91,21 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(3).text()).toBe('Français') }) }) + describe('navigator language is "nl-NL"', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') - it('shows Dutch as language ', async () => { + + it('shows Nederlands as language ', async () => { languageGetter.mockReturnValue('nl-NL') wrapper.vm.setCurrentLanguage() await wrapper.vm.$nextTick() - expect(wrapper.findAll('span.locales').at(4).text()).toBe('Holandés') + expect(wrapper.findAll('span.locales').at(4).text()).toBe('Nederlands') }) }) + describe('navigator language is "it-IT" (not supported)', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') + it('shows English as language ', async () => { languageGetter.mockReturnValue('it-IT') wrapper.vm.setCurrentLanguage() @@ -102,8 +113,10 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(0).text()).toBe('English') }) }) + describe('no navigator langauge', () => { const languageGetter = jest.spyOn(navigator, 'language', 'get') + it('shows English as language ', async () => { languageGetter.mockReturnValue(null) wrapper.vm.setCurrentLanguage() @@ -112,6 +125,7 @@ describe('LanguageSwitch', () => { }) }) }) + describe('language "de" in store', () => { it('shows Deutsch as language', async () => { wrapper.vm.$store.state.language = 'de' @@ -120,6 +134,7 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(1).text()).toBe('English') }) }) + describe('language "es" in store', () => { it('shows Español as language', async () => { wrapper.vm.$store.state.language = 'es' @@ -128,6 +143,7 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(2).text()).toBe('Deutsch') }) }) + describe('language "fr" in store', () => { it('shows French as language', async () => { wrapper.vm.$store.state.language = 'fr' @@ -136,43 +152,77 @@ describe('LanguageSwitch', () => { expect(wrapper.findAll('span.locales').at(3).text()).toBe('Español') }) }) + describe('language "nl" in store', () => { - it('shows Dutch as language', async () => { + it('shows Nederlands as language', async () => { wrapper.vm.$store.state.language = 'nl' wrapper.vm.setCurrentLanguage() await wrapper.vm.$nextTick() expect(wrapper.findAll('span.locales').at(4).text()).toBe('Français') }) }) + describe('language menu', () => { - it('has English, German and Español as languages to choose', () => { + beforeAll(async () => { + wrapper.vm.$store.state.language = 'en' + wrapper.vm.setCurrentLanguage() + await wrapper.vm.$nextTick() + }) + + it('has five languages to choose from', () => { expect(wrapper.findAll('span.locales')).toHaveLength(5) }) + it('has English as first language to choose', () => { - expect(wrapper.findAll('span.locales').at(0).text()).toBe('Holandés') + expect(wrapper.findAll('span.locales').at(0).text()).toBe('English') }) - it('has German as second language to choose', () => { - expect(wrapper.findAll('span.locales').at(1).text()).toBe('English') + + it('has Deutsch 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('Deutsch') + expect(wrapper.findAll('span.locales').at(2).text()).toBe('Español') }) - it('has French as third language to choose', () => { - expect(wrapper.findAll('span.locales').at(3).text()).toBe('Español') + + it('has Français as fourth language to choose', () => { + expect(wrapper.findAll('span.locales').at(3).text()).toBe('Français') }) - it('has Dutch as third language to choose', () => { - expect(wrapper.findAll('span.locales').at(4).text()).toBe('Français') + + it('has Nederlands as fifth language to choose', () => { + expect(wrapper.findAll('span.locales').at(4).text()).toBe('Nederlands') }) }) }) describe('calls the API', () => { it("with locale 'de'", () => { - wrapper.findAll('span.locales').at(2).trigger('click') + wrapper.findAll('span.locales').at(1).trigger('click') expect(updateUserInfosMutationMock).toBeCalledWith( expect.objectContaining({ variables: { locale: 'de' } }), ) }) + + it("with locale 'es'", () => { + wrapper.findAll('span.locales').at(2).trigger('click') + expect(updateUserInfosMutationMock).toBeCalledWith( + expect.objectContaining({ variables: { locale: 'es' } }), + ) + }) + + it("with locale 'fr'", () => { + wrapper.findAll('span.locales').at(3).trigger('click') + expect(updateUserInfosMutationMock).toBeCalledWith( + expect.objectContaining({ variables: { locale: 'fr' } }), + ) + }) + + it("with locale 'nl'", () => { + wrapper.findAll('span.locales').at(4).trigger('click') + expect(updateUserInfosMutationMock).toBeCalledWith( + expect.objectContaining({ variables: { locale: 'nl' } }), + ) + }) }) }) }) diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index 005b1b6a7..e6b12b0fa 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -253,7 +253,7 @@ "en": "English", "es": "Español", "fr": "Français", - "nl": "Dutch", + "nl": "Nederlands", "success": "Deine Sprache wurde erfolgreich geändert." }, "name": { diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index ebaf3eb70..07125eceb 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -253,7 +253,7 @@ "en": "English", "es": "Español", "fr": "Français", - "nl": "Holandés", + "nl": "Nederlands", "success": "Your language has been successfully updated." }, "name": { diff --git a/frontend/src/locales/es.json b/frontend/src/locales/es.json index 939a877f7..987bb71ef 100644 --- a/frontend/src/locales/es.json +++ b/frontend/src/locales/es.json @@ -254,8 +254,8 @@ "de": "Deutsch", "en": "English", "es": "Español", - "fr": "Francés", - "nl": "Holandés", + "fr": "Français", + "nl": "Nederlands", "success": "Tu idioma ha sido cambiado con éxito." }, "name": { diff --git a/frontend/src/locales/fr.json b/frontend/src/locales/fr.json index 07237d16d..61037af1a 100644 --- a/frontend/src/locales/fr.json +++ b/frontend/src/locales/fr.json @@ -251,11 +251,11 @@ "settings": { "language": { "changeLanguage": "Changer la langue", - "de": "Allemand", - "en": "Anglais", - "es": "Espagnol", + "de": "Deutsch", + "en": "English", + "es": "Español", "fr": "Français", - "nl": "Néerlandais", + "nl": "Nederlands", "success": "Votre langue de préférence a bien été actualisée." }, "name": { diff --git a/frontend/src/locales/index.js b/frontend/src/locales/index.js index aa27a2e32..eed77ec2a 100644 --- a/frontend/src/locales/index.js +++ b/frontend/src/locales/index.js @@ -24,7 +24,7 @@ const locales = [ enabled: true, }, { - name: 'Holandés', + name: 'Nederlands', code: 'nl', iso: 'nl-NL', enabled: true, diff --git a/frontend/src/locales/nl.json b/frontend/src/locales/nl.json index f84cdaa2a..99b972514 100644 --- a/frontend/src/locales/nl.json +++ b/frontend/src/locales/nl.json @@ -251,10 +251,10 @@ "settings": { "language": { "changeLanguage": "Taal veranderen", - "de": "Duits", - "en": "Engels", - "es": "Spaans", - "fr": "Frans", + "de": "Deutsch", + "en": "English", + "es": "Español", + "fr": "Français", "nl": "Nederlands", "success": "Jouw taal werd succesvol veranderd." },