diff --git a/frontend/src/components/LanguageSwitch.spec.js b/frontend/src/components/LanguageSwitch.spec.js index 14dc978ac..3fa8e51f9 100644 --- a/frontend/src/components/LanguageSwitch.spec.js +++ b/frontend/src/components/LanguageSwitch.spec.js @@ -3,6 +3,16 @@ import LanguageSwitch from './LanguageSwitch' const localVue = global.localVue +const updateUserInfosQueryMock = jest.fn().mockResolvedValue({ + data: { + updateUserInfos: { + sessionId: 1234, + email: 'he@ho.he', + locale: 'de', + }, + }, +}) + describe('LanguageSwitch', () => { let wrapper @@ -20,6 +30,9 @@ describe('LanguageSwitch', () => { $i18n: { locale: 'en', }, + $apollo: { + query: updateUserInfosQueryMock, + }, } const Wrapper = () => { @@ -91,5 +104,33 @@ describe('LanguageSwitch', () => { }) }) }) + + describe('calls the API', () => { + it("with locale 'en'", () => { + wrapper.vm.saveLocale('en') + expect(updateUserInfosQueryMock).toBeCalledWith( + expect.objectContaining({ + variables: { + sessionId: 1234, + email: 'he@ho.he', + locale: 'en', + }, + }), + ) + }) + + it("with locale 'de'", () => { + wrapper.vm.saveLocale('de') + expect(updateUserInfosQueryMock).toBeCalledWith( + expect.objectContaining({ + variables: { + sessionId: 1234, + email: 'he@ho.he', + locale: 'de', + }, + }), + ) + }) + }) }) }) diff --git a/frontend/src/components/LanguageSwitch.vue b/frontend/src/components/LanguageSwitch.vue index 2b160b3e3..2ec1ad90d 100644 --- a/frontend/src/components/LanguageSwitch.vue +++ b/frontend/src/components/LanguageSwitch.vue @@ -14,7 +14,7 @@