From 01e583b45ed0e393003973c9f7a002c1f0beefdf Mon Sep 17 00:00:00 2001 From: roschaefer Date: Sat, 28 Sep 2019 12:30:58 +0200 Subject: [PATCH] Translate backend error and avoid $toast --- webapp/locales/de.json | 2 +- webapp/locales/en.json | 2 +- .../pages/settings/my-email-address/index.spec.js | 15 +++++++++++++++ webapp/pages/settings/my-email-address/index.vue | 12 ++++++++++++ .../settings/my-email-address/verify.spec.js | 2 +- webapp/pages/settings/my-email-address/verify.vue | 12 ++++++------ 6 files changed, 36 insertions(+), 9 deletions(-) diff --git a/webapp/locales/de.json b/webapp/locales/de.json index a5f56ae8d..03a49d831 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -169,7 +169,7 @@ "success": "Eine neue E-Mail Addresse wurde registriert.", "submitted": "Eine E-Mail zur Bestätigung deiner Adresse wurde an {email} gesendet.", "change-successful": "Deine E-Mail Adresse wurde erfolgreich geändert.", - "change-error": { + "verification-error": { "message": "Deine E-Mail Adresse konnte nicht verifiziert werden.", "support": "Wenn das Problem weiterhin besteht, kontaktiere uns gerne per E-Mail an", "explanation": "Das kann verschiedene Ursachen haben:", diff --git a/webapp/locales/en.json b/webapp/locales/en.json index d6cb53b7f..4e8c01435 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -170,7 +170,7 @@ "success": "A new E-Mail address has been registered.", "submitted": "An email to verify your address has been sent to {email}.", "change-successful": "Your E-Mail address has been changed successfully.", - "change-error": { + "verification-error": { "message": "Your E-Mail could not be changed.", "explanation": "This can have different causes:", "reason": { diff --git a/webapp/pages/settings/my-email-address/index.spec.js b/webapp/pages/settings/my-email-address/index.spec.js index c0c767e25..8bf1bb986 100644 --- a/webapp/pages/settings/my-email-address/index.spec.js +++ b/webapp/pages/settings/my-email-address/index.spec.js @@ -95,6 +95,21 @@ describe('EmailSettingsIndexPage', () => { }) }) }) + + describe('if backend responds with unique constraint violation', () => { + beforeEach(() => { + mocks.$apollo.mutate = jest.fn().mockRejectedValue({ + message: 'User account already exists', + }) + wrapper = Wrapper() + wrapper.find('#email').setValue('already-taken@example.org') + wrapper.find('form').trigger('submit') + }) + + it('translates error message', () => { + expect(wrapper.text()).toContain('registration.signup.form.errors.email-exists') + }) + }) }) }) }) diff --git a/webapp/pages/settings/my-email-address/index.vue b/webapp/pages/settings/my-email-address/index.vue index a166d5521..3ebd233d3 100644 --- a/webapp/pages/settings/my-email-address/index.vue +++ b/webapp/pages/settings/my-email-address/index.vue @@ -11,6 +11,9 @@