Merge pull request #1335 from gradido/1303-Thanks-page-after-setPassword

1303 thanks page after set password
This commit is contained in:
Alexander Friedland 2022-01-24 17:24:18 +01:00 committed by GitHub
commit ce84cc727a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 87 additions and 49 deletions

View File

@ -198,7 +198,7 @@
}, },
"thx": { "thx": {
"activateEmail": "Dein Konto wurde noch nicht aktiviert. Bitte überprüfe deine E-Mail und klicke den Aktivierungslink!", "activateEmail": "Dein Konto wurde noch nicht aktiviert. Bitte überprüfe deine E-Mail und klicke den Aktivierungslink!",
"checkEmail": "Deine E-Mail wurde erfolgreich verifiziert.", "checkEmail": "Deine E-Mail wurde erfolgreich verifiziert. Du kannst dich jetzt anmelden.",
"email": "Wir haben dir eine E-Mail gesendet.", "email": "Wir haben dir eine E-Mail gesendet.",
"emailActivated": "Danke dass Du deine E-Mail bestätigt hast.", "emailActivated": "Danke dass Du deine E-Mail bestätigt hast.",
"errorTitle": "Achtung!", "errorTitle": "Achtung!",

View File

@ -198,7 +198,7 @@
}, },
"thx": { "thx": {
"activateEmail": "Your account has not been activated yet, please check your emails and click the activation link!", "activateEmail": "Your account has not been activated yet, please check your emails and click the activation link!",
"checkEmail": "Your email has been successfully verified.", "checkEmail": "Your email has been successfully verified. You can sign in now.",
"email": "We have sent you an email.", "email": "We have sent you an email.",
"emailActivated": "Thank you your email has been activated.", "emailActivated": "Thank you your email has been activated.",
"errorTitle": "Attention!", "errorTitle": "Attention!",

View File

@ -15,10 +15,7 @@ const stubs = {
RouterLink: RouterLinkStub, RouterLink: RouterLinkStub,
} }
const createMockObject = (comingFrom) => { const mocks = {
return {
localVue,
mocks: {
$i18n: { $i18n: {
locale: 'en', locale: 'en',
}, },
@ -26,10 +23,10 @@ const createMockObject = (comingFrom) => {
$route: { $route: {
params: { params: {
optin: '123', optin: '123',
comingFrom,
}, },
path: { path: {
includes: (t) => t, mock: 'checkEmail',
includes: jest.fn((t) => t === mocks.$route.path.mock),
}, },
}, },
$toasted: { $toasted: {
@ -48,21 +45,18 @@ const createMockObject = (comingFrom) => {
$apollo: { $apollo: {
mutate: apolloMutationMock, mutate: apolloMutationMock,
}, },
},
stubs,
}
} }
describe('ResetPassword', () => { describe('ResetPassword', () => {
let wrapper let wrapper
const Wrapper = (functionName) => { const Wrapper = () => {
return mount(ResetPassword, functionName) return mount(ResetPassword, { localVue, mocks, stubs })
} }
describe('mount', () => { describe('mount', () => {
beforeEach(() => { beforeEach(() => {
wrapper = Wrapper(createMockObject()) wrapper = Wrapper()
}) })
describe('No valid optin', () => { describe('No valid optin', () => {
@ -86,6 +80,12 @@ describe('ResetPassword', () => {
}) })
describe('Register header', () => { describe('Register header', () => {
describe('from reset', () => {
beforeEach(() => {
mocks.$route.path.mock = 'reset'
wrapper = Wrapper()
})
it('has a welcome message', async () => { it('has a welcome message', async () => {
expect(wrapper.find('div.header').text()).toContain('settings.password.reset') expect(wrapper.find('div.header').text()).toContain('settings.password.reset')
expect(wrapper.find('div.header').text()).toContain( expect(wrapper.find('div.header').text()).toContain(
@ -94,6 +94,21 @@ describe('ResetPassword', () => {
}) })
}) })
describe('from checkEmail', () => {
beforeEach(() => {
mocks.$route.path.mock = 'checkEmail'
wrapper = Wrapper()
})
it('has a welcome message', async () => {
expect(wrapper.find('div.header').text()).toContain('settings.password.set')
expect(wrapper.find('div.header').text()).toContain(
'settings.password.set-password.text',
)
})
})
})
describe('links', () => { describe('links', () => {
it('has a link "Back"', async () => { it('has a link "Back"', async () => {
expect(wrapper.findAllComponents(RouterLinkStub).at(0).text()).toEqual('back') expect(wrapper.findAllComponents(RouterLinkStub).at(0).text()).toEqual('back')
@ -128,7 +143,6 @@ describe('ResetPassword', () => {
describe('submit form', () => { describe('submit form', () => {
beforeEach(async () => { beforeEach(async () => {
// wrapper = Wrapper(createMockObject())
await wrapper.findAll('input').at(0).setValue('Aa123456_') await wrapper.findAll('input').at(0).setValue('Aa123456_')
await wrapper.findAll('input').at(1).setValue('Aa123456_') await wrapper.findAll('input').at(1).setValue('Aa123456_')
await flushPromises() await flushPromises()
@ -164,14 +178,14 @@ describe('ResetPassword', () => {
}) })
}) })
describe('server response with success', () => { describe('server response with success on /checkEmail', () => {
beforeEach(async () => { beforeEach(async () => {
mocks.$route.path.mock = 'checkEmail'
apolloMutationMock.mockResolvedValue({ apolloMutationMock.mockResolvedValue({
data: { data: {
resetPassword: 'success', resetPassword: 'success',
}, },
}) })
wrapper = Wrapper(createMockObject('checkEmail'))
await wrapper.findAll('input').at(0).setValue('Aa123456_') await wrapper.findAll('input').at(0).setValue('Aa123456_')
await wrapper.findAll('input').at(1).setValue('Aa123456_') await wrapper.findAll('input').at(1).setValue('Aa123456_')
await wrapper.find('form').trigger('submit') await wrapper.find('form').trigger('submit')
@ -189,6 +203,26 @@ describe('ResetPassword', () => {
) )
}) })
it('redirects to "/thx/checkEmail"', () => {
expect(routerPushMock).toHaveBeenCalledWith('/thx/checkEmail')
})
})
describe('server response with success on /reset', () => {
beforeEach(async () => {
mocks.$route.path.mock = 'reset'
wrapper = Wrapper()
apolloMutationMock.mockResolvedValue({
data: {
resetPassword: 'success',
},
})
await wrapper.findAll('input').at(0).setValue('Aa123456_')
await wrapper.findAll('input').at(1).setValue('Aa123456_')
await wrapper.find('form').trigger('submit')
await flushPromises()
})
it('redirects to "/thx/reset"', () => { it('redirects to "/thx/reset"', () => {
expect(routerPushMock).toHaveBeenCalledWith('/thx/reset') expect(routerPushMock).toHaveBeenCalledWith('/thx/reset')
}) })

View File

@ -92,7 +92,11 @@ export default {
}) })
.then(() => { .then(() => {
this.form.password = '' this.form.password = ''
if (this.$route.path.includes('checkEmail')) {
this.$router.push('/thx/checkEmail')
} else {
this.$router.push('/thx/reset') this.$router.push('/thx/reset')
}
}) })
.catch((error) => { .catch((error) => {
this.$toasted.global.error(error.message) this.$toasted.global.error(error.message)