From 658405611fb2baae67b6938b18121e18a4bfabdb Mon Sep 17 00:00:00 2001 From: Vita Date: Wed, 9 Oct 2024 16:30:34 +0300 Subject: [PATCH 1/3] Solution --- cypress/e2e/signUp.cy.js | 24 ++++++++++++++++++++++++ cypress/support/generate.js | 12 ++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 cypress/support/generate.js diff --git a/cypress/e2e/signUp.cy.js b/cypress/e2e/signUp.cy.js index 87cc96d..87f9c8b 100644 --- a/cypress/e2e/signUp.cy.js +++ b/cypress/e2e/signUp.cy.js @@ -1,5 +1,29 @@ +import { generateUser } from '../support/generate'; + +Cypress.on('uncaught:exception', () => { + return false; +}); + describe('Sign Up page', () => { it('should provide an ability to register new account', () => { + const { email, username, password } = generateUser(); + + cy.visit('https://react-redux.realworld.io/#/register?_k=spysa9'); + + cy.get('[placeholder=Username]') + .type(username); + + cy.get('[placeholder=Email]') + .type(email); + + cy.get('[placeholder=Password]') + .type(password); + + cy.get('button[type=submit]') + .should('exist').click(); + + cy.url().should('not.contain', '/register'); + cy.get('a.nav-link').contains(username).should('exist'); }); }); diff --git a/cypress/support/generate.js b/cypress/support/generate.js new file mode 100644 index 0000000..d64d81f --- /dev/null +++ b/cypress/support/generate.js @@ -0,0 +1,12 @@ +import { faker } from '@faker-js/faker'; + +function generateUser() { + const randomNumber = Math.random().toString().slice(2, 6); + const username = faker.internet.userName() + '_' + randomNumber; + const email = `${username}@mail.com`; + const password = '12345Qwert!'; + + return { email, password, username }; +} + +module.exports = { generateUser }; From 6c0fe0fddeb677eec79be6b8bd8c8fdcdc42218e Mon Sep 17 00:00:00 2001 From: Vita Date: Wed, 9 Oct 2024 18:44:55 +0300 Subject: [PATCH 2/3] Solution 2.0 --- cypress.config.js | 2 +- cypress/e2e/signUp.cy.js | 7 +++---- cypress/support/generate.js | 3 ++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cypress.config.js b/cypress.config.js index d811e2a..81db3bd 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -2,8 +2,8 @@ const { defineConfig } = require('cypress'); module.exports = defineConfig({ e2e: { + baseUrl: 'https://react-redux.realworld.io', setupNodeEvents(on, config) { - // implement node event listeners here } } }); diff --git a/cypress/e2e/signUp.cy.js b/cypress/e2e/signUp.cy.js index 87f9c8b..a8df691 100644 --- a/cypress/e2e/signUp.cy.js +++ b/cypress/e2e/signUp.cy.js @@ -8,7 +8,7 @@ describe('Sign Up page', () => { it('should provide an ability to register new account', () => { const { email, username, password } = generateUser(); - cy.visit('https://react-redux.realworld.io/#/register?_k=spysa9'); + cy.visit('/#/register?_k=spysa9'); cy.get('[placeholder=Username]') .type(username); @@ -19,10 +19,9 @@ describe('Sign Up page', () => { cy.get('[placeholder=Password]') .type(password); - cy.get('button[type=submit]') - .should('exist').click(); + cy.get('button[type=submit]').click(); - cy.url().should('not.contain', '/register'); + cy.url().should('contain', '/#/?_k=c1q9kl'); cy.get('a.nav-link').contains(username).should('exist'); }); diff --git a/cypress/support/generate.js b/cypress/support/generate.js index d64d81f..7bc230c 100644 --- a/cypress/support/generate.js +++ b/cypress/support/generate.js @@ -2,9 +2,10 @@ import { faker } from '@faker-js/faker'; function generateUser() { const randomNumber = Math.random().toString().slice(2, 6); + /* randomNumer is variable for generation more reliable value */ const username = faker.internet.userName() + '_' + randomNumber; const email = `${username}@mail.com`; - const password = '12345Qwert!'; + const password = faker.internet.password(); return { email, password, username }; } From aa0cb2e33f60c52a79c7d20cb7bbb2ee2ac7e6fb Mon Sep 17 00:00:00 2001 From: Vita Date: Wed, 9 Oct 2024 18:54:32 +0300 Subject: [PATCH 3/3] Solution 2.0 re --- cypress.config.js | 2 +- cypress/e2e/signUp.cy.js | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/cypress.config.js b/cypress.config.js index 81db3bd..a78498f 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -2,7 +2,7 @@ const { defineConfig } = require('cypress'); module.exports = defineConfig({ e2e: { - baseUrl: 'https://react-redux.realworld.io', + baseUrl: 'https://react-redux.realworld.io/#/register?_k=blrz2w', setupNodeEvents(on, config) { } } diff --git a/cypress/e2e/signUp.cy.js b/cypress/e2e/signUp.cy.js index a8df691..ac7d2dc 100644 --- a/cypress/e2e/signUp.cy.js +++ b/cypress/e2e/signUp.cy.js @@ -1,14 +1,10 @@ import { generateUser } from '../support/generate'; -Cypress.on('uncaught:exception', () => { - return false; -}); - describe('Sign Up page', () => { it('should provide an ability to register new account', () => { const { email, username, password } = generateUser(); - cy.visit('/#/register?_k=spysa9'); + cy.visit(Cypress.config().baseUrl); cy.get('[placeholder=Username]') .type(username); @@ -21,8 +17,6 @@ describe('Sign Up page', () => { cy.get('button[type=submit]').click(); - cy.url().should('contain', '/#/?_k=c1q9kl'); - cy.get('a.nav-link').contains(username).should('exist'); }); });