mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
improved tests for language switch
This commit is contained in:
parent
5e4efa5be9
commit
242ec1989d
@ -6,9 +6,7 @@ const localVue = global.localVue
|
|||||||
const updateUserInfosQueryMock = jest.fn().mockResolvedValue({
|
const updateUserInfosQueryMock = jest.fn().mockResolvedValue({
|
||||||
data: {
|
data: {
|
||||||
updateUserInfos: {
|
updateUserInfos: {
|
||||||
sessionId: 1234,
|
validValues: 1,
|
||||||
email: 'he@ho.he',
|
|
||||||
locale: 'de',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -50,17 +48,22 @@ describe('LanguageSwitch', () => {
|
|||||||
|
|
||||||
describe('with locales en and de', () => {
|
describe('with locales en and de', () => {
|
||||||
describe('empty store', () => {
|
describe('empty store', () => {
|
||||||
it('shows English as default navigator langauge', () => {
|
describe('navigator language is "en-US"', () => {
|
||||||
expect(wrapper.find('button.dropdown-toggle').text()).toBe('English - en')
|
const languageGetter = jest.spyOn(navigator, 'language', 'get')
|
||||||
|
|
||||||
|
it('shows English as default navigator langauge', async () => {
|
||||||
|
languageGetter.mockReturnValue('en-US')
|
||||||
|
wrapper.vm.setCurrentLanguage()
|
||||||
|
await wrapper.vm.$nextTick()
|
||||||
|
expect(wrapper.find('button.dropdown-toggle').text()).toBe('English - en')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('navigator language is "de-DE"', () => {
|
describe('navigator language is "de-DE"', () => {
|
||||||
const mockNavigator = jest.fn(() => {
|
const languageGetter = jest.spyOn(navigator, 'language', 'get')
|
||||||
return 'de'
|
|
||||||
})
|
|
||||||
|
|
||||||
it('shows Deutsch as language ', async () => {
|
it('shows Deutsch as language ', async () => {
|
||||||
wrapper.vm.getNavigatorLanguage = mockNavigator
|
languageGetter.mockReturnValue('de-DE')
|
||||||
wrapper.vm.setCurrentLanguage()
|
wrapper.vm.setCurrentLanguage()
|
||||||
await wrapper.vm.$nextTick()
|
await wrapper.vm.$nextTick()
|
||||||
expect(wrapper.find('button.dropdown-toggle').text()).toBe('Deutsch - de')
|
expect(wrapper.find('button.dropdown-toggle').text()).toBe('Deutsch - de')
|
||||||
@ -68,12 +71,21 @@ describe('LanguageSwitch', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
describe('navigator language is "es-ES" (not supported)', () => {
|
describe('navigator language is "es-ES" (not supported)', () => {
|
||||||
const mockNavigator = jest.fn(() => {
|
const languageGetter = jest.spyOn(navigator, 'language', 'get')
|
||||||
return 'es'
|
|
||||||
})
|
|
||||||
|
|
||||||
it('shows English as language ', async () => {
|
it('shows English as language ', async () => {
|
||||||
wrapper.vm.getNavigatorLanguage = mockNavigator
|
languageGetter.mockReturnValue('es-ES')
|
||||||
|
wrapper.vm.setCurrentLanguage()
|
||||||
|
await wrapper.vm.$nextTick()
|
||||||
|
expect(wrapper.find('button.dropdown-toggle').text()).toBe('English - en')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('no navigator langauge', () => {
|
||||||
|
const languageGetter = jest.spyOn(navigator, 'language', 'get')
|
||||||
|
|
||||||
|
it('shows English as language ', async () => {
|
||||||
|
languageGetter.mockReturnValue(null)
|
||||||
wrapper.vm.setCurrentLanguage()
|
wrapper.vm.setCurrentLanguage()
|
||||||
await wrapper.vm.$nextTick()
|
await wrapper.vm.$nextTick()
|
||||||
expect(wrapper.find('button.dropdown-toggle').text()).toBe('English - en')
|
expect(wrapper.find('button.dropdown-toggle').text()).toBe('English - en')
|
||||||
@ -107,7 +119,7 @@ describe('LanguageSwitch', () => {
|
|||||||
|
|
||||||
describe('calls the API', () => {
|
describe('calls the API', () => {
|
||||||
it("with locale 'en'", () => {
|
it("with locale 'en'", () => {
|
||||||
wrapper.vm.saveLocale('en')
|
wrapper.findAll('li').at(0).find('a').trigger('click')
|
||||||
expect(updateUserInfosQueryMock).toBeCalledWith(
|
expect(updateUserInfosQueryMock).toBeCalledWith(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
variables: {
|
variables: {
|
||||||
@ -120,7 +132,7 @@ describe('LanguageSwitch', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it("with locale 'de'", () => {
|
it("with locale 'de'", () => {
|
||||||
wrapper.vm.saveLocale('de')
|
wrapper.findAll('li').at(1).find('a').trigger('click')
|
||||||
expect(updateUserInfosQueryMock).toBeCalledWith(
|
expect(updateUserInfosQueryMock).toBeCalledWith(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
variables: {
|
variables: {
|
||||||
|
|||||||
@ -34,7 +34,6 @@ export default {
|
|||||||
async saveLocale(locale) {
|
async saveLocale(locale) {
|
||||||
this.setLocale(locale)
|
this.setLocale(locale)
|
||||||
if (this.$store.state.sessionId && this.$store.state.email) {
|
if (this.$store.state.sessionId && this.$store.state.email) {
|
||||||
// eslint-disable-next-line no-console
|
|
||||||
this.$apollo
|
this.$apollo
|
||||||
.query({
|
.query({
|
||||||
query: updateUserInfos,
|
query: updateUserInfos,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user