Avoid on page error message on Login

- Have a translation for 'No user with this credentials'.
This commit is contained in:
Wolfgang Huß 2022-05-05 11:33:07 +02:00
parent 264904e741
commit 6a1b8f0fd9
4 changed files with 29 additions and 24 deletions

View File

@ -35,6 +35,7 @@
"error": "Fehler!",
"no-account": "Leider konnten wir keinen (aktivierten) Account mit diesen Daten finden.",
"no-transactionlist": "Es gab leider einen Fehler. Es wurden keine Transaktionen vom Server übermittelt.",
"no-user": "Kein Benutzer mit diesen Anmeldedaten.",
"session-expired": "Die Sitzung wurde aus Sicherheitsgründen beendet.",
"unknown-error": "Unbekanter Fehler: ",
"user-already-exists": "Ein Benutzer mit diesen Daten existiert bereits."

View File

@ -35,6 +35,7 @@
"error": "Error!",
"no-account": "Unfortunately we could not find an (activated) account to the given data.",
"no-transactionlist": "Unfortunately, there was an error. No transactions have been sent from the server.",
"no-user": "No user with this credentials.",
"session-expired": "The session was closed for security reasons.",
"unknown-error": "Unknown error: ",
"user-already-exists": "A user with this data already exists."

View File

@ -219,7 +219,7 @@ describe('Login', () => {
describe('login fails with "User email not validated"', () => {
beforeEach(async () => {
await createError('GraphQL error: User email not validated')
await createError('GraphQL error: User email not validated.')
})
it('hides the spinner', () => {
@ -251,7 +251,7 @@ describe('Login', () => {
describe('login fails with "User has no password set yet"', () => {
beforeEach(async () => {
await createError('GraphQL error: User has no password set yet')
await createError('GraphQL error: User has no password set yet.')
})
it('shows error title, subtitle, login button', () => {
@ -276,26 +276,33 @@ describe('Login', () => {
})
})
describe('login fails with "No user with this credentials"', () => {
beforeEach(async () => {
await createError('GraphQL error: No user with this credentials.')
})
it('shows no error message on the page', () => {
expect(wrapper.vm.showPageMessage).toBe(false)
expect(wrapper.find('.test-message-headline').exists()).toBe(false)
expect(wrapper.find('.test-message-subtitle').exists()).toBe(false)
expect(wrapper.find('.test-message-button').exists()).toBe(false)
})
it('toasts the error message', () => {
expect(toastErrorSpy).toBeCalledWith('error.no-user')
})
})
describe('login fails with an unknow error', () => {
beforeEach(async () => {
await createError(' Unknow error')
})
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(
'error.unknown-error Unknow error',
)
expect(wrapper.find('.test-message-button').text()).toBe('settings.password.reset')
})
it('button link directs to "/forgot-password"', () => {
expect(wrapper.find('.test-message-button').attributes('href')).toBe('/forgot-password')
})
it.skip('click redirects to "/forgot-password"', () => {
// expect(mockRouterPush).toBeCalledWith('/forgot-password')
it('shows no error message on the page', () => {
expect(wrapper.vm.showPageMessage).toBe(false)
expect(wrapper.find('.test-message-headline').exists()).toBe(false)
expect(wrapper.find('.test-message-subtitle').exists()).toBe(false)
expect(wrapper.find('.test-message-button').exists()).toBe(false)
})
it('toasts the error message', () => {

View File

@ -134,14 +134,10 @@ export default {
this.errorSubtitle = this.$t('site.thx.unsetPassword')
this.errorLinkTo = '/reset-password/login'
this.toastError(this.$t('error.no-account'))
} else if (error.message.includes('No user with this credentials')) {
this.toastError(this.$t('error.no-user'))
} else {
// appeared errors: 'GraphQL error: No user with this credentials'
// Wolle: avoid this error message! may be avoid in general?
const errorMessage = this.$t('error.unknown-error') + error.message
this.showPageMessage = true
this.errorSubtitle = errorMessage
this.errorLinkTo = '/forgot-password'
this.toastError(errorMessage)
this.toastError(this.$t('error.unknown-error') + error.message)
}
loader.hide()
})