From c57b40adc10506263abe5b0d5902d0e249cce8cb Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 21 Mar 2022 14:56:37 +0100 Subject: [PATCH] test Register with Redeem Code --- frontend/src/pages/Register.spec.js | 44 ++++++++++++++++++++++++++++- frontend/src/pages/Register.vue | 2 +- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/Register.spec.js b/frontend/src/pages/Register.spec.js index c29909123..446c97928 100644 --- a/frontend/src/pages/Register.spec.js +++ b/frontend/src/pages/Register.spec.js @@ -32,6 +32,9 @@ describe('Register', () => { $router: { push: routerPushMock, }, + $route: { + params: {}, + }, $apollo: { mutate: registerUserMutationMock, query: apolloQueryMock, @@ -312,6 +315,45 @@ describe('Register', () => { }) }) }) - // TODO: line 157 + + describe('redeem code', () => { + describe('no redeem code', () => { + it('has no redeem code', () => { + expect(wrapper.vm.redeemCode).toBe(undefined) + }) + }) + }) + + describe('with redeem code', () => { + beforeEach(async () => { + jest.clearAllMocks() + mocks.$route.params = { + code: 'some-code', + } + wrapper = Wrapper() + wrapper.find('#registerFirstname').setValue('Max') + wrapper.find('#registerLastname').setValue('Mustermann') + wrapper.find('#Email-input-field').setValue('max.mustermann@gradido.net') + wrapper.find('.language-switch-select').findAll('option').at(1).setSelected() + wrapper.find('#registerCheckbox').setChecked() + await wrapper.find('form').trigger('submit') + await flushPromises() + }) + + it('sends the redeem code to the server', () => { + expect(registerUserMutationMock).toBeCalledWith( + expect.objectContaining({ + variables: { + email: 'max.mustermann@gradido.net', + firstName: 'Max', + lastName: 'Mustermann', + language: 'en', + publisherId: 12345, + redeemCode: 'some-code', + }, + }), + ) + }) + }) }) }) diff --git a/frontend/src/pages/Register.vue b/frontend/src/pages/Register.vue index 2dfbac441..cadc0f34c 100755 --- a/frontend/src/pages/Register.vue +++ b/frontend/src/pages/Register.vue @@ -236,7 +236,7 @@ export default { lastName: this.form.lastname, language: this.language, publisherId: this.$store.state.publisherId, - redeemCode: this.redeem, + redeemCode: this.redeemCode, }, }) .then(() => {