diff --git a/client/cypress/integration/registration.spec.js b/client/cypress/integration/registration.spec.js index c65adb13..677d433a 100644 --- a/client/cypress/integration/registration.spec.js +++ b/client/cypress/integration/registration.spec.js @@ -1,5 +1,5 @@ const isEmailAvailableUrl = 'https://stage.hep-verlag.ch/rest/deutsch/V1/customers/isEmailAvailable'; -const registerUrl = 'https://stage.hep-verlag.ch/rest/deutsch/V1/customers'; +const registerUrl = '/api/proxy/registration/'; let registrationResponse = { id: 84215, @@ -32,7 +32,7 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Abcd1234!', 'Abcd1234!'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', 'Bern', '3001', 'Abcd1234!', 'Abcd1234!'); cy.get('[data-cy="email-check"]').contains('Ein Email ist auf dem Weg, bitte überprüfen sie ihre E-mail Konto.'); }); @@ -44,7 +44,7 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, '', registrationResponse.lastname, 'Abcd1234!', 'Abcd1234!'); + cy.register(registrationResponse.gender, '', registrationResponse.lastname, 'Weg 1', 'Bern', '3001', 'Abcd1234!', 'Abcd1234!'); cy.get('[data-cy="firstname-local-errors"]').contains('Vorname ist ein Pflichtfeld'); }); @@ -56,10 +56,46 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, registrationResponse.firstname, '', 'Abcd1234!', 'Abcd1234!'); + cy.register(registrationResponse.gender, registrationResponse.firstname, '', 'Weg 1', 'Bern', '3001', 'Abcd1234!', 'Abcd1234!'); cy.get('[data-cy="lastname-local-errors"]').contains('Nachname ist ein Pflichtfeld'); }); + it('displays error if street is missing', () => { + cy.route('POST', isEmailAvailableUrl, 'true'); + cy.route('POST', registerUrl, registrationResponse); + + cy.visit('/hello'); + cy.checkEmailAvailable(registrationResponse.email); + + cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, '', 'Bern', '3001', 'Abcd1234!', 'Abcd1234!'); + cy.get('[data-cy="street-local-errors"]').contains('Strasse ist ein Pflichtfeld'); + }); + + it('displays error if city is missing', () => { + cy.route('POST', isEmailAvailableUrl, 'true'); + cy.route('POST', registerUrl, registrationResponse); + + cy.visit('/hello'); + cy.checkEmailAvailable(registrationResponse.email); + + cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', '', '3001', 'Abcd1234!', 'Abcd1234!'); + cy.get('[data-cy="city-local-errors"]').contains('Ort ist ein Pflichtfeld'); + }); + + it('displays error if postcode is missing', () => { + cy.route('POST', isEmailAvailableUrl, 'true'); + cy.route('POST', registerUrl, registrationResponse); + + cy.visit('/hello'); + cy.checkEmailAvailable(registrationResponse.email); + + cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', 'Bern', '', 'Abcd1234!', 'Abcd1234!'); + cy.get('[data-cy="postcode-local-errors"]').contains('Postleitzahl ist ein Pflichtfeld'); + }); + it('displays error if password is missing', () => { cy.route('POST', isEmailAvailableUrl, "true"); cy.route('POST', registerUrl, registrationResponse); @@ -68,7 +104,7 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, '', 'Abcd1234!'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', 'Bern', '3001', '', 'Abcd1234!'); cy.get('[data-cy="password-local-errors"]').contains('Passwort ist ein Pflichtfeld'); }); @@ -80,7 +116,7 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Abcd1234', 'Abcd1234'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', 'Bern', '3001', 'Abcd1234', 'Abcd1234'); cy.get('[data-cy="password-local-errors"]').contains('Das Passwort muss Grossbuchstaben, Zahlen und Sonderzeichen beinhalten und mindestens 8 Zeichen lang sein'); }); @@ -92,7 +128,7 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Abcd12!', 'Abcd12!'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', 'Bern', '3001', 'Abcd12!', 'Abcd12!'); cy.get('[data-cy="password-local-errors"]').contains('Das Passwort muss Grossbuchstaben, Zahlen und Sonderzeichen beinhalten und mindestens 8 Zeichen lang sein'); }); @@ -104,7 +140,7 @@ describe('Registration', () => { cy.checkEmailAvailable(registrationResponse.email); cy.get('[data-cy="registration-title"]').contains('Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.'); - cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Abcd1234!', 'Abcd129999!'); + cy.register(registrationResponse.gender, registrationResponse.firstname, registrationResponse.lastname, 'Weg 1', 'Bern', '3001', 'Abcd1234!', 'Abcd129999!'); cy.get('[data-cy="passwordConfirmation-local-errors"]').contains('Die Bestätigung von Passwort wiederholen stimmt nicht überein'); }); diff --git a/client/cypress/support/commands.js b/client/cypress/support/commands.js index 6d8dcd3d..f7b0595b 100644 --- a/client/cypress/support/commands.js +++ b/client/cypress/support/commands.js @@ -111,26 +111,6 @@ Cypress.Commands.add('changePassword', (oldPassword, newPassword) => { cy.get('[data-cy=change-password-button]').click(); }); -Cypress.Commands.add('register', (firstname, lastname, email, licenseKey) => { - if (firstname != '') { - cy.get('[data-cy=firstname-input]').type(firstname); - } - - if (lastname != '') { - cy.get('[data-cy=lastname-input]').type(lastname); - } - - if (email != '') { - cy.get('[data-cy=email-input]').type(email); - } - - if (licenseKey != '') { - cy.get('[data-cy=licenseKey-input]').type(licenseKey); - } - - cy.get('[data-cy=register-button]').click(); -}); - Cypress.Commands.add('checkEmailAvailable', (email) => { cy.get('[data-cy="email-input"]').type(email); cy.get('[data-cy="hello-button"]').click(); @@ -141,7 +121,7 @@ Cypress.Commands.add('enterPassword', (password) => { cy.get('[data-cy="login-button"]').click(); }); -Cypress.Commands.add('register', (prefix, firstname, lastname, password, passwordConfirmation) => { +Cypress.Commands.add('register', (prefix, firstname, lastname, street, city, postcode, password, passwordConfirmation) => { cy.get('[data-cy="prefix-selection"]').type(prefix); if (firstname !== '') { @@ -151,6 +131,18 @@ Cypress.Commands.add('register', (prefix, firstname, lastname, password, passwor cy.get('[data-cy="lastname-input"]').type(lastname); } + if (street !== '') { + cy.get('[data-cy="street-input"]').type(street); + } + + if (city !== '') { + cy.get('[data-cy="city-input"]').type(city); + } + + if (postcode !== '') { + cy.get('[data-cy="postcode-input"]').type(postcode); + } + if (password !== '') { cy.get('[data-cy="password-input"]').type(password); }