diff --git a/admin/package.json b/admin/package.json index 771e7991e..c649ca752 100644 --- a/admin/package.json +++ b/admin/package.json @@ -4,7 +4,7 @@ "main": "index.js", "author": "Moriz Wahl", "version": "1.8.3", - "license": "Apache License 2.0", + "license": "Apache-2.0", "private": false, "scripts": { "start": "node run/server.js", diff --git a/backend/package.json b/backend/package.json index 7bb404520..ff483a0c6 100644 --- a/backend/package.json +++ b/backend/package.json @@ -5,7 +5,7 @@ "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/backend", "author": "Ulf Gebhardt", - "license": "Apache License 2.0", + "license": "Apache-2.0", "private": false, "scripts": { "build": "tsc --build", diff --git a/database/package.json b/database/package.json index 19d21dd5b..7a960994c 100644 --- a/database/package.json +++ b/database/package.json @@ -5,7 +5,7 @@ "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/database", "author": "Ulf Gebhardt", - "license": "Apache License 2.0", + "license": "Apache-2.0", "private": false, "scripts": { "build": "mkdir -p build/src/config/ && cp src/config/*.txt build/src/config/ && tsc --build", diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index 5127fc1cc..f32eca810 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -45,7 +45,6 @@ module.exports = { extensions: ['.js', '.vue'], // TODO: remove ignores ignores: [ - '/site.thx./', '/form./', '/time./', '/decay.types./', @@ -55,7 +54,6 @@ module.exports = { 'settings.password.set', 'settings.password.set-password.text', 'settings.password.subtitle', - 'site.login.signin', ], enableFix: false, }, diff --git a/frontend/package.json b/frontend/package.json index 65f696aa9..ae5dca33c 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -99,6 +99,6 @@ "not ie <= 10" ], "author": "Gradido-Akademie - https://www.gradido.net/", - "license": "Apache License 2.0", + "license": "Apache-2.0", "description": "Gradido, the Natural Economy of Life, is a way to worldwide prosperity and peace in harmony with nature. - Gradido, die Natürliche Ökonomie des lebens, ist ein Weg zu weltweitem Wohlstand und Frieden in Harmonie mit der Natur." } diff --git a/frontend/src/assets/scss/gradido-template.scss b/frontend/src/assets/scss/gradido-template.scss index 09c8588e9..9d52f0ad9 100644 --- a/frontend/src/assets/scss/gradido-template.scss +++ b/frontend/src/assets/scss/gradido-template.scss @@ -15,6 +15,14 @@ body { color: #0e79bc !important; } +.text-gradido { + color: rgb(249 205 105 / 100%); +} + +.gradient-gradido { + background-image: linear-gradient(146deg, rgb(220 167 44) 50%, rgb(197 141 56 / 100%) 100%); +} + /* Navbar */ a, .navbar-light, @@ -32,14 +40,6 @@ a:hover, color: rgb(35 121 188 / 90%); } -.text-gradido { - color: rgb(249 205 105 / 100%); -} - -.gradient-gradido { - background-image: linear-gradient(146deg, rgb(220 167 44) 50%, rgb(197 141 56 / 100%) 100%); -} - /* Button */ .btn { border-radius: 25px; diff --git a/frontend/src/components/Auth/AuthFooter.vue b/frontend/src/components/Auth/AuthFooter.vue index dae1218d8..d74593e36 100644 --- a/frontend/src/components/Auth/AuthFooter.vue +++ b/frontend/src/components/Auth/AuthFooter.vue @@ -19,13 +19,13 @@
{{ $t('followUs') }} - + - + - + @@ -34,7 +34,7 @@ width="16" height="16" fill="currentColor" - class="bi bi-telegram" + class="bi bi-telegram c-grey" viewBox="0 0 16 16" > diff --git a/frontend/src/components/Message/Message.spec.js b/frontend/src/components/Message/Message.spec.js index 7b28d83fd..2ac5bf29d 100644 --- a/frontend/src/components/Message/Message.spec.js +++ b/frontend/src/components/Message/Message.spec.js @@ -4,8 +4,8 @@ import Message from './Message' const localVue = global.localVue const propsData = { - headline: 'site.thx.title', - subtitle: 'site.thx.email', + headline: 'Headline text', + subtitle: 'Subtitle text', buttonText: 'login', linkTo: '/login', } @@ -32,8 +32,8 @@ describe('Message', () => { describe('with button', () => { it('renders title, subtitle, and button text', () => { - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.title') - expect(wrapper.find('.test-message-subtitle').text()).toBe('site.thx.email') + expect(wrapper.find('.test-message-headline').text()).toBe('Headline text') + expect(wrapper.find('.test-message-subtitle').text()).toBe('Subtitle text') expect(wrapper.find('.test-message-button').text()).toBe('login') }) @@ -51,8 +51,8 @@ describe('Message', () => { }) it('renders title, subtitle, and button text', () => { - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.title') - expect(wrapper.find('.test-message-subtitle').text()).toBe('site.thx.email') + expect(wrapper.find('.test-message-headline').text()).toBe('Headline text') + expect(wrapper.find('.test-message-subtitle').text()).toBe('Subtitle text') }) it('button is not shown', () => { diff --git a/frontend/src/components/UserSettings/UserPassword.spec.js b/frontend/src/components/UserSettings/UserPassword.spec.js index 59ec65bd7..14df1f41f 100644 --- a/frontend/src/components/UserSettings/UserPassword.spec.js +++ b/frontend/src/components/UserSettings/UserPassword.spec.js @@ -189,7 +189,7 @@ describe('UserCard_FormUserPasswort', () => { }) it('toasts a success message', () => { - expect(toastSuccessSpy).toBeCalledWith('site.thx.reset') + expect(toastSuccessSpy).toBeCalledWith('message.reset') }) it('cancels the edit process', () => { diff --git a/frontend/src/components/UserSettings/UserPassword.vue b/frontend/src/components/UserSettings/UserPassword.vue index 430f9a75d..0ba1576e8 100644 --- a/frontend/src/components/UserSettings/UserPassword.vue +++ b/frontend/src/components/UserSettings/UserPassword.vue @@ -89,7 +89,7 @@ export default { }, }) .then(() => { - this.toastSuccess(this.$t('site.thx.reset')) + this.toastSuccess(this.$t('message.reset')) this.cancelEdit() }) .catch((error) => { diff --git a/frontend/src/layouts/AuthLayout.vue b/frontend/src/layouts/AuthLayout.vue index 024d56906..c886fd7f9 100644 --- a/frontend/src/layouts/AuthLayout.vue +++ b/frontend/src/layouts/AuthLayout.vue @@ -16,7 +16,11 @@
{{ $t('auth.left.gratitude') }}
{{ $t('auth.left.newCurrency') }}
{{ $t('auth.left.oneAnotherNature') }}
- {{ $t('auth.left.learnMore') }} + + + {{ $t('auth.left.learnMore') }} + +
diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index a3e412a0e..dd76dddf5 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -172,6 +172,16 @@ "minus": "−", "pipe": "|" }, + "message": { + "activateEmail": "Dein Konto wurde noch nicht aktiviert. Bitte überprüfe deine E-Mail und klicke den Aktivierungslink oder fordere einen neuen Aktivierungslink über die Password Reset Seite an.", + "checkEmail": "Deine E-Mail wurde erfolgreich verifiziert. Du kannst dich jetzt anmelden.", + "email": "Wir haben dir eine E-Mail gesendet.", + "errorTitle": "Achtung!", + "register": "Du bist jetzt registriert, bitte überprüfe deine Emails und klicke auf den Aktivierungslink.", + "reset": "Dein Passwort wurde geändert.", + "title": "Danke!", + "unsetPassword": "Dein Passwort wurde noch nicht gesetzt. Bitte setze es neu." + }, "navigation": { "admin_area": "Adminbereich", "logout": "Abmelden", @@ -224,8 +234,7 @@ "heading": "Bitte gib deine E-Mail an mit der du bei Gradido angemeldet bist." }, "login": { - "heading": "Melde dich mit deinen Zugangsdaten an. Bewahre sie stets sicher auf!", - "saveLogin": "Anmeldung speichern" + "heading": "Melde dich mit deinen Zugangsdaten an. Bewahre sie stets sicher auf!" }, "resetPassword": { "heading": "Trage bitte dein Passwort ein und wiederhole es." @@ -240,18 +249,6 @@ "one_number": "Zahl erforderlich.", "special-char": "Sonderzeichen erforderlich (z.B. _ oder ä)", "uppercase": "Großbuchstabe erforderlich." - }, - "thx": { - "activateEmail": "Dein Konto wurde noch nicht aktiviert. Bitte überprüfe deine E-Mail und klicke den Aktivierungslink oder fordere einen neuen Aktivierungslink über die Password Reset Seite.", - "checkEmail": "Deine E-Mail wurde erfolgreich verifiziert. Du kannst dich jetzt anmelden.", - "email": "Wir haben dir eine E-Mail gesendet.", - "emailActivated": "Danke dass Du deine E-Mail bestätigt hast.", - "errorTitle": "Achtung!", - "register": "Du bist jetzt registriert, bitte überprüfe deine Emails und klicke auf den Aktivierungslink.", - "reset": "Dein Passwort wurde geändert.", - "resetPassword": "Den Code den Du genutzt hast ist zu alt bitte fordere ein neuen über die Passwort Reset Seite an.", - "title": "Danke!", - "unsetPassword": "Dein Passwort wurde noch nicht gesetzt. Bitte setze es neu." } }, "success": "Erfolg", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 4a7245147..e5ebbcb2c 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -11,7 +11,7 @@ "hereLogin": "Log in here", "learnMore": "Learn more …", "newCurrency": "The new currency", - "oneAnotherNature": "FOR ONE ANOTHER, FOR ALL, FOR NATURE" + "oneAnotherNature": "FOR EACH OTHER, FOR ALL, FOR NATURE" }, "navbar": { "aboutGradido": "About Gradido" @@ -172,6 +172,16 @@ "minus": "−", "pipe": "|" }, + "message": { + "activateEmail": "Your account has not been activated yet. Please check your emails and click the activation link or order a new activation link over the password reset page.", + "checkEmail": "Your email has been successfully verified. You can sign in now.", + "email": "We have sent you an email.", + "errorTitle": "Attention!", + "register": "You are registered now, please check your emails and click the activation link.", + "reset": "Your password has been changed.", + "title": "Thank you!", + "unsetPassword": "Your password has not been set yet. Please set it again." + }, "navigation": { "admin_area": "Admin Area", "logout": "Logout", @@ -224,8 +234,7 @@ "heading": "Please enter the email address by which you're registered here." }, "login": { - "heading": "Log in with your access data. Keep them safe!", - "saveLogin": "Save login" + "heading": "Log in with your access data. Keep them safe!" }, "resetPassword": { "heading": "Please enter your password and repeat it." @@ -240,18 +249,6 @@ "one_number": "One number required.", "special-char": "One special character required (e.g. _ or ä)", "uppercase": "One uppercase letter required." - }, - "thx": { - "activateEmail": "Your account has not been activated yet. Please check your emails and click the activation link or order a new activation link over the password reset page.", - "checkEmail": "Your email has been successfully verified. You can sign in now.", - "email": "We have sent you an email.", - "emailActivated": "Thank you your email has been activated.", - "errorTitle": "Attention!", - "register": "You are registered now, please check your emails and click the activation link.", - "reset": "Your password has been changed.", - "resetPassword": "The code you used was to old please order a new on over the password reset page.", - "title": "Thank you!", - "unsetPassword": "Your password has not been set yet. Please set it again." } }, "success": "Success", diff --git a/frontend/src/pages/ForgotPassword.spec.js b/frontend/src/pages/ForgotPassword.spec.js index ecfe5a1a9..af7931793 100644 --- a/frontend/src/pages/ForgotPassword.spec.js +++ b/frontend/src/pages/ForgotPassword.spec.js @@ -50,16 +50,6 @@ describe('ForgotPassword', () => { expect(wrapper.find('div.forgot-password').exists()).toBe(true) }) - describe('back button', () => { - it('has a "back" button', () => { - expect(wrapper.findComponent(RouterLinkStub).text()).toEqual('back') - }) - - it('links to login', () => { - expect(wrapper.findComponent(RouterLinkStub).props().to).toEqual('/login') - }) - }) - describe('input form', () => { let form @@ -111,7 +101,7 @@ describe('ForgotPassword', () => { it('shows error title, subtitle, login button', () => { expect(wrapper.vm.showPageMessage).toBe(true) - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.errorTitle') + expect(wrapper.find('.test-message-headline').text()).toBe('message.errorTitle') expect(wrapper.find('.test-message-subtitle').text()).toBe('error.email-already-sent') expect(wrapper.find('.test-message-button').text()).toBe('login') }) @@ -121,6 +111,8 @@ describe('ForgotPassword', () => { }) it.skip('click redirects to "/login"', async () => { + // wrapper.find('.test-message-button').trigger('click') + // await wrapper.vm.$nextTick() expect(mockRouterPush).toBeCalledWith('/login') }) @@ -144,14 +136,18 @@ describe('ForgotPassword', () => { it('shows success title, subtitle, login button', () => { expect(wrapper.vm.showPageMessage).toBe(true) - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.title') - expect(wrapper.find('.test-message-subtitle').text()).toBe('site.thx.email') + expect(wrapper.find('.test-message-headline').text()).toBe('message.title') + expect(wrapper.find('.test-message-subtitle').text()).toBe('message.email') expect(wrapper.find('.test-message-button').text()).toBe('login') }) it('button link redirects to "/login"', () => { expect(wrapper.find('.test-message-button').attributes('href')).toBe('/login') }) + + it.skip('click redirects to "/login"', () => { + // expect(mockRouterPush).toBeCalledWith('/login') + }) }) }) }) diff --git a/frontend/src/pages/ForgotPassword.vue b/frontend/src/pages/ForgotPassword.vue index 74e5161f1..095920046 100644 --- a/frontend/src/pages/ForgotPassword.vue +++ b/frontend/src/pages/ForgotPassword.vue @@ -4,30 +4,23 @@
{{ $t('site.forgotPassword.heading') }}
- - - - - -
- - {{ $t('settings.password.send_now') }} - -
-
-
-
-
+ + + +
+ + {{ $t('settings.password.send_now') }} + +
+
+
-
- {{ $t('back') }} -
diff --git a/frontend/src/pages/Login.spec.js b/frontend/src/pages/Login.spec.js index 9158aaf42..6359d07c6 100644 --- a/frontend/src/pages/Login.spec.js +++ b/frontend/src/pages/Login.spec.js @@ -198,8 +198,8 @@ describe('Login', () => { it('shows error title, subtitle, login button', () => { expect(wrapper.vm.showPageMessage).toBe(true) - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.errorTitle') - expect(wrapper.find('.test-message-subtitle').text()).toBe('site.thx.activateEmail') + expect(wrapper.find('.test-message-headline').text()).toBe('message.errorTitle') + expect(wrapper.find('.test-message-subtitle').text()).toBe('message.activateEmail') expect(wrapper.find('.test-message-button').text()).toBe('settings.password.reset') }) @@ -226,8 +226,8 @@ describe('Login', () => { it('shows error title, subtitle, login button', () => { expect(wrapper.vm.showPageMessage).toBe(true) - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.errorTitle') - expect(wrapper.find('.test-message-subtitle').text()).toBe('site.thx.unsetPassword') + expect(wrapper.find('.test-message-headline').text()).toBe('message.errorTitle') + expect(wrapper.find('.test-message-subtitle').text()).toBe('message.unsetPassword') expect(wrapper.find('.test-message-button').text()).toBe('settings.password.reset') }) diff --git a/frontend/src/pages/Login.vue b/frontend/src/pages/Login.vue index 208f7941f..6a3db4e39 100755 --- a/frontend/src/pages/Login.vue +++ b/frontend/src/pages/Login.vue @@ -16,17 +16,6 @@
- - - {{ $t('site.login.saveLogin') }} - - {{ $t('settings.password.forgot_pwd') }} @@ -41,7 +30,7 @@ { if (error.message.includes('User email not validated')) { this.showPageMessage = true - this.errorSubtitle = this.$t('site.thx.activateEmail') + this.errorSubtitle = this.$t('message.activateEmail') this.errorLinkTo = '/forgot-password' this.toastError(this.$t('error.no-account')) } else if (error.message.includes('User has no password set yet')) { this.showPageMessage = true - this.errorSubtitle = this.$t('site.thx.unsetPassword') + this.errorSubtitle = this.$t('message.unsetPassword') this.errorLinkTo = '/reset-password/login' this.toastError(this.$t('error.no-account')) } else if (error.message.includes('No user with this credentials')) { diff --git a/frontend/src/pages/Register.spec.js b/frontend/src/pages/Register.spec.js index 742851a1d..a9415de87 100644 --- a/frontend/src/pages/Register.spec.js +++ b/frontend/src/pages/Register.spec.js @@ -202,8 +202,8 @@ describe('Register', () => { it('shows success title, subtitle', () => { expect(wrapper.vm.showPageMessage).toBe(true) - expect(wrapper.find('.test-message-headline').text()).toBe('site.thx.title') - expect(wrapper.find('.test-message-subtitle').text()).toBe('site.thx.register') + expect(wrapper.find('.test-message-headline').text()).toBe('message.title') + expect(wrapper.find('.test-message-subtitle').text()).toBe('message.register') }) it('button is not present', () => { diff --git a/frontend/src/pages/Register.vue b/frontend/src/pages/Register.vue index f64b86ebc..3d99ca605 100755 --- a/frontend/src/pages/Register.vue +++ b/frontend/src/pages/Register.vue @@ -90,7 +90,7 @@ - + diff --git a/frontend/src/pages/ResetPassword.spec.js b/frontend/src/pages/ResetPassword.spec.js index aee6f50b1..7c0b920c5 100644 --- a/frontend/src/pages/ResetPassword.spec.js +++ b/frontend/src/pages/ResetPassword.spec.js @@ -118,14 +118,32 @@ describe('ResetPassword', () => { await flushPromises() }) + it('shows error title, subtitle, login button', () => { + expect(wrapper.vm.showPageMessage).toBe(true) + expect(wrapper.find('.test-message-headline').text()).toBe('message.errorTitle') + expect(wrapper.find('.test-message-subtitle').text()).toBe( + '...email was sent more than 23 hours and 10 minutes ago', + ) + expect(wrapper.find('.test-message-button').text()).toBe('settings.password.reset') + }) + + it('button link directs to "/forgot-password/resetPassword"', () => { + expect(wrapper.find('.test-message-button').attributes('href')).toBe( + '/forgot-password/resetPassword', + ) + }) + it('toasts an error message', () => { expect(toastErrorSpy).toHaveBeenCalledWith( '...email was sent more than 23 hours and 10 minutes ago', ) }) - it('router pushes to /forgot-password/resetPassword', () => { - expect(routerPushMock).toHaveBeenCalledWith('/forgot-password/resetPassword') + it.skip('click redirects to "/forgot-password/resetPassword"', () => { + // wrapper.find('.test-message-button').trigger('click') + // await flushPromises() + // await wrapper.vm.$nextTick() + // expect(routerPushMock).toHaveBeenCalledWith('/forgot-password/resetPassword') }) }) @@ -137,9 +155,26 @@ describe('ResetPassword', () => { await flushPromises() }) + it('shows error title, subtitle, login button', () => { + expect(wrapper.vm.showPageMessage).toBe(true) + expect(wrapper.find('.test-message-headline').text()).toBe('message.errorTitle') + expect(wrapper.find('.test-message-subtitle').text()).toBe('Error') + expect(wrapper.find('.test-message-button').text()).toBe('settings.password.reset') + }) + + it('button link directs to "/forgot-password/resetPassword"', () => { + expect(wrapper.find('.test-message-button').attributes('href')).toBe( + '/forgot-password/resetPassword', + ) + }) + it('toasts an error message', () => { expect(toastErrorSpy).toHaveBeenCalledWith('Error') }) + + it.skip('click redirects to "/forgot-password/resetPassword"', () => { + // expect(routerPushMock).toHaveBeenCalledWith('/forgot-password/resetPassword') + }) }) describe('server response with success on /checkEmail', () => { @@ -168,30 +203,19 @@ describe('ResetPassword', () => { ) }) - it('redirects to "/thx/checkEmail"', () => { - expect(routerPushMock).toHaveBeenCalledWith('/thx/checkEmail') + it('shows message title, subtitle, login button', () => { + expect(wrapper.vm.showPageMessage).toBe(true) + expect(wrapper.find('.test-message-headline').text()).toBe('message.title') + expect(wrapper.find('.test-message-subtitle').text()).toBe('message.checkEmail') + expect(wrapper.find('.test-message-button').text()).toBe('login') }) - describe('with param code', () => { - beforeEach(async () => { - mocks.$route.params.code = 'the-most-secret-code-ever' - apolloMutationMock.mockResolvedValue({ - data: { - resetPassword: 'success', - }, - }) - wrapper = Wrapper() - 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('button link directs to "/login"', () => { + expect(wrapper.find('.test-message-button').attributes('href')).toBe('/login') + }) - it('redirects to "/thx/checkEmail/the-most-secret-code-ever"', () => { - expect(routerPushMock).toHaveBeenCalledWith( - '/thx/checkEmail/the-most-secret-code-ever', - ) - }) + it.skip('click redirects to "/login"', () => { + // expect(routerPushMock).toHaveBeenCalledWith('/login') }) }) @@ -210,8 +234,19 @@ describe('ResetPassword', () => { await flushPromises() }) - it('redirects to "/thx/resetPassword"', () => { - expect(routerPushMock).toHaveBeenCalledWith('/thx/resetPassword') + it('shows message title, subtitle, login button', () => { + expect(wrapper.vm.showPageMessage).toBe(true) + expect(wrapper.find('.test-message-headline').text()).toBe('message.title') + expect(wrapper.find('.test-message-subtitle').text()).toBe('message.reset') + expect(wrapper.find('.test-message-button').text()).toBe('login') + }) + + it('button link directs to "/login"', () => { + expect(wrapper.find('.test-message-button').attributes('href')).toBe('/login') + }) + + it.skip('click redirects to "/login"', () => { + // expect(routerPushMock).toHaveBeenCalledWith('/login') }) }) }) diff --git a/frontend/src/pages/ResetPassword.vue b/frontend/src/pages/ResetPassword.vue index 88cfeede2..d9bf1f891 100644 --- a/frontend/src/pages/ResetPassword.vue +++ b/frontend/src/pages/ResetPassword.vue @@ -1,5 +1,5 @@ diff --git a/frontend/src/pages/TransactionLink.vue b/frontend/src/pages/TransactionLink.vue index 8fb1238b0..5fc20326e 100644 --- a/frontend/src/pages/TransactionLink.vue +++ b/frontend/src/pages/TransactionLink.vue @@ -143,6 +143,7 @@ export default { }, created() { this.setTransactionLinkInformation() + this.$emit('set-mobile-start', false) }, } diff --git a/frontend/src/pages/thx.spec.js b/frontend/src/pages/thx.spec.js deleted file mode 100644 index a9d5ba3b7..000000000 --- a/frontend/src/pages/thx.spec.js +++ /dev/null @@ -1,101 +0,0 @@ -import { mount } from '@vue/test-utils' -import Thx from './thx' - -const localVue = global.localVue - -const createMockObject = (comingFrom) => { - return { - $t: jest.fn((t) => t), - $route: { - params: { - comingFrom, - }, - }, - } -} - -describe('Thx', () => { - let wrapper - - const Wrapper = (mocks) => { - return mount(Thx, { localVue, mocks }) - } - - describe('mount', () => { - beforeEach(() => { - wrapper = Wrapper(createMockObject('forgotPassword')) - }) - - it('renders the thx page', () => { - expect(wrapper.find('div.header').exists()).toBeTruthy() - }) - - it('renders the title', () => { - expect(wrapper.find('p.h1').text()).toBe('site.thx.title') - }) - }) - - describe('coming from /forgot-password', () => { - beforeEach(() => { - wrapper = Wrapper(createMockObject('forgotPassword')) - }) - - it('renders the thanks text', () => { - expect(wrapper.find('p.h4').text()).toBe('site.thx.email') - }) - - it('renders the thanks redirect button', () => { - expect(wrapper.find('a.btn').text()).toBe('login') - }) - - it('links the redirect button to /login', () => { - expect(wrapper.find('a.btn').attributes('href')).toBe('/login') - }) - }) - - describe('coming from /reset-password', () => { - beforeEach(() => { - wrapper = Wrapper(createMockObject('resetPassword')) - }) - - it('renders the thanks text', () => { - expect(wrapper.find('p.h4').text()).toBe('site.thx.reset') - }) - - it('renders the thanks redirect button', () => { - expect(wrapper.find('a.btn').text()).toBe('login') - }) - - it('links the redirect button to /login', () => { - expect(wrapper.find('a.btn').attributes('href')).toBe('/login') - }) - }) - - describe('coming from /register', () => { - beforeEach(() => { - wrapper = Wrapper(createMockObject('register')) - }) - - it('renders the thanks text', () => { - expect(wrapper.find('p.h4').text()).toBe('site.thx.register') - }) - }) - - describe('coming from /login', () => { - beforeEach(() => { - wrapper = Wrapper(createMockObject('login')) - }) - - it('renders the thanks text', () => { - expect(wrapper.find('p.h4').text()).toBe('site.thx.activateEmail') - }) - - it('renders the thanks redirect button', () => { - expect(wrapper.find('a.btn').text()).toBe('settings.password.reset') - }) - - it('links the redirect button to /forgot-password', () => { - expect(wrapper.find('a.btn').attributes('href')).toBe('/forgot-password') - }) - }) -}) diff --git a/frontend/src/pages/thx.vue b/frontend/src/pages/thx.vue deleted file mode 100644 index 7e203e8aa..000000000 --- a/frontend/src/pages/thx.vue +++ /dev/null @@ -1,76 +0,0 @@ - - diff --git a/frontend/src/routes/router.test.js b/frontend/src/routes/router.test.js index 925b3ffca..32ab90d4e 100644 --- a/frontend/src/routes/router.test.js +++ b/frontend/src/routes/router.test.js @@ -49,8 +49,8 @@ describe('router', () => { expect(routes.find((r) => r.path === '/').redirect()).toEqual({ path: '/login' }) }) - it('has seventeen routes defined', () => { - expect(routes).toHaveLength(17) + it('has sixteen routes defined', () => { + expect(routes).toHaveLength(16) }) describe('overview', () => { @@ -111,31 +111,6 @@ describe('router', () => { }) }) - describe('thx', () => { - const thx = routes.find((r) => r.path === '/thx/:comingFrom/:code?') - - it('loads the "Thx" page', async () => { - const component = await thx.component() - expect(component.default.name).toBe('Thx') - }) - - describe('beforeEnter', () => { - const beforeEnter = thx.beforeEnter - const next = jest.fn() - - it('redirects to login when not coming from a valid page', () => { - beforeEnter({}, { path: '' }, next) - expect(next).toBeCalledWith({ path: '/login' }) - }) - - it('enters the page when coming from a valid page', () => { - jest.resetAllMocks() - beforeEnter({}, { path: '/forgot-password' }, next) - expect(next).toBeCalledWith() - }) - }) - }) - describe('forgot password', () => { it('loads the "ForgotPassword" page', async () => { const component = await routes.find((r) => r.path === '/forgot-password').component() diff --git a/frontend/src/routes/routes.js b/frontend/src/routes/routes.js index a6586c201..e68f97502 100755 --- a/frontend/src/routes/routes.js +++ b/frontend/src/routes/routes.js @@ -46,18 +46,6 @@ const routes = [ path: '/register/:code?', component: () => import('@/pages/Register.vue'), }, - { - path: '/thx/:comingFrom/:code?', - component: () => import('@/pages/thx.vue'), - beforeEnter: (to, from, next) => { - const validFrom = ['forgot-password', 'reset-password', 'register', 'login', 'checkEmail'] - if (!validFrom.includes(from.path.split('/')[1])) { - next({ path: '/login' }) - } else { - next() - } - }, - }, { path: '/forgot-password', component: () => import('@/pages/ForgotPassword.vue'), diff --git a/package.json b/package.json index 4baa9c48f..b607c476d 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "index.js", "repository": "git@github.com:gradido/gradido.git", "author": "Ulf Gebhardt ", - "license": "Apache License 2.0", + "license": "Apache-2.0", "scripts": { "release": "scripts/release.sh" },