Skip to content

Instantly share code, notes, and snippets.

@slawekradzyminski
Last active April 17, 2021 13:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slawekradzyminski/20e3d8251ef4c166c44eb42744767867 to your computer and use it in GitHub Desktop.
Save slawekradzyminski/20e3d8251ef4c166c44eb42744767867 to your computer and use it in GitHub Desktop.
export const registerPageCss = {
title: 'h2',
registerButton: '.btn-primary',
fieldSelector: '.form-group',
errorMessage: '.invalid-feedback',
usernameField: '[name=username]',
firstNameField: '[name=firstName]',
lastNameField: '[name=lastName]',
passwordField: '[name=password]'
}
export const registerPage = {
register: (firstName, lastName, username, password) => {
cy.get(registerPageCss.firstNameField).type(firstName)
cy.get(registerPageCss.lastNameField).type(lastName)
cy.get(registerPageCss.usernameField).type(username)
cy.get(registerPageCss.passwordField).type(password)
cy.get(registerPageCss.registerButton).click()
},
verifyTitleContains: (text) => {
cy.get(registerPageCss.title).contains(text)
},
clickRegister: () => {
cy.get(registerPageCss.registerButton).click()
},
verifyEmptyFieldErrors: () => {
cy.get(registerPageCss.fieldSelector).first().find(registerPageCss.errorMessage).contains('First Name is required')
cy.get(registerPageCss.fieldSelector).eq(1).find(registerPageCss.errorMessage).contains('Last Name is required')
cy.get(registerPageCss.fieldSelector).eq(2).find(registerPageCss.errorMessage).contains('Username is required')
cy.get(registerPageCss.fieldSelector).eq(3).find(registerPageCss.errorMessage).contains('Password is required')
cy.get(registerPageCss.errorMessage).should('have.length', 4)
const isInvalid = 'is-invalid'
cy.get(registerPageCss.firstNameField).should('have.class', isInvalid)
cy.get(registerPageCss.lastNameField).should('have.class', isInvalid)
cy.get(registerPageCss.usernameField).should('have.class', isInvalid)
cy.get(registerPageCss.passwordField).should('have.class', isInvalid)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment