From 1242799c064d4875ceef382d47393a719c76727a Mon Sep 17 00:00:00 2001 From: kritika123 Date: Wed, 12 Oct 2022 11:42:52 +0545 Subject: [PATCH 1/3] conflict resolve --- .../projectsModuleUsingPOM.cy.js | 7 ++++ .../projectsModulePO/addProject_PO.js | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js b/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js index a56d898..68f6478 100644 --- a/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js +++ b/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js @@ -22,4 +22,11 @@ describe('Verifying Add Project functionality of projects module', function(){ }) }) + it('Create new project in projects module with non-empty fields', function() { + const randomGeneratedName = getRandomString + addProjectPO.typeProjectName(randomGeneratedName) + addProjectPO.selectClientName('Jane Doe') + addProjectPO.clickAddProjectButton() + }) + }) \ No newline at end of file diff --git a/cypress/page_objects/projectsModulePO/addProject_PO.js b/cypress/page_objects/projectsModulePO/addProject_PO.js index 48ae300..a456ec4 100644 --- a/cypress/page_objects/projectsModulePO/addProject_PO.js +++ b/cypress/page_objects/projectsModulePO/addProject_PO.js @@ -1,5 +1,10 @@ class addProjectPO{ elements = { + projectName : () => cy.get('[data-cy="addProjectname"]'), + clientName : () => cy.get('#client-id'), + billableKey : () => cy.get('[data-cy="toggleBillable"]'), + addProject : () => cy.get('data-cy="newProjectCreateButton"]'), + validationError : () => cy.get('.alert-message'), searchField : () => cy.get('.topnav input') } @@ -8,6 +13,34 @@ class addProjectPO{ cy.url().should('eq', 'https://frontendbootcamp.proshore.eu/projects') } + verifyEmptyValidation(name){ + if(name === 'project') { + this.elements.projectName().invoke('prop', 'validationMessage') + .should('equal', 'Please fill out this field.') + } + if(name == 'client'){ + this.elements.clientName().invoke('prop', 'validationMessage') + .should('equal', 'Please select an item in the list.') + } + } + + typeProjectName(projectName){ + this.elements.projectName().wait(1000).type(projectName) + } + + selectClientName(clientName){ + this.elements.clientName().select(clientName) + } + + checkbillableKeyFunctionality(){ + this.elements.billableKey().should('have.attr', 'title', 'Billable') + this.elements.billableKey().click().should('have.attr', 'title', 'Non billable') + this.elements.billableKey().click().should('have.attr', 'title', 'Billable') + } + + clickAddProjectButton(){ + this.elements.addProject().contains(' ADD PROJECT ').click() + } } module.exports = new addProjectPO(); \ No newline at end of file From fba027da78aa128a39e32a23c490c25536582fbe Mon Sep 17 00:00:00 2001 From: kritika123 Date: Mon, 10 Oct 2022 14:28:13 +0545 Subject: [PATCH 2/3] Prediction part left on add project --- cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js | 2 +- cypress/page_objects/projectsModulePO/addProject_PO.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js b/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js index 68f6478..71a58ca 100644 --- a/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js +++ b/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js @@ -23,7 +23,7 @@ describe('Verifying Add Project functionality of projects module', function(){ }) it('Create new project in projects module with non-empty fields', function() { - const randomGeneratedName = getRandomString + const randomGeneratedName = getRandomString() addProjectPO.typeProjectName(randomGeneratedName) addProjectPO.selectClientName('Jane Doe') addProjectPO.clickAddProjectButton() diff --git a/cypress/page_objects/projectsModulePO/addProject_PO.js b/cypress/page_objects/projectsModulePO/addProject_PO.js index a456ec4..5ca4834 100644 --- a/cypress/page_objects/projectsModulePO/addProject_PO.js +++ b/cypress/page_objects/projectsModulePO/addProject_PO.js @@ -3,7 +3,7 @@ class addProjectPO{ projectName : () => cy.get('[data-cy="addProjectname"]'), clientName : () => cy.get('#client-id'), billableKey : () => cy.get('[data-cy="toggleBillable"]'), - addProject : () => cy.get('data-cy="newProjectCreateButton"]'), + addProject : () => cy.get('[data-cy="newProjectCreateButton"]'), validationError : () => cy.get('.alert-message'), searchField : () => cy.get('.topnav input') } @@ -39,7 +39,7 @@ class addProjectPO{ } clickAddProjectButton(){ - this.elements.addProject().contains(' ADD PROJECT ').click() + this.elements.addProject().contains('ADD PROJECT').click() } } From 6970358dd2f44c4efa7d35cd284777fb107c4a21 Mon Sep 17 00:00:00 2001 From: kritika123 Date: Mon, 10 Oct 2022 17:21:53 +0545 Subject: [PATCH 3/3] added TODOS for assertion --- cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js b/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js index 71a58ca..05024dc 100644 --- a/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js +++ b/cypress/e2e/projectsModule/projectsModuleUsingPOM.cy.js @@ -27,6 +27,8 @@ describe('Verifying Add Project functionality of projects module', function(){ addProjectPO.typeProjectName(randomGeneratedName) addProjectPO.selectClientName('Jane Doe') addProjectPO.clickAddProjectButton() + + //TODOS make an assertion }) }) \ No newline at end of file