Moved to using Gender enum

This commit is contained in:
2021-01-19 14:09:24 +00:00
parent 807afea586
commit 8160b4cd1c
4 changed files with 63 additions and 56 deletions

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,5 +1,6 @@
package pages
import constants.Gender
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import org.openqa.selenium.support.FindBy
@@ -43,11 +44,10 @@ class FormPageFactory(
fun enterEmailAddress(email: String) = userEmail.sendKeys(email)
fun selectGender(gender: String) = when(gender){
"Male"-> male.click()
"Female"-> female.click()
"Other"-> other.click()
else -> {}
fun selectGender(gender: Gender) = when(gender){
Gender.Male-> male.click()
Gender.Female-> female.click()
Gender.Other-> other.click()
}
fun enterMobileNumber(mobile: String) = mobileNumber.sendKeys(mobile)

View File

@@ -1,6 +1,7 @@
package stepDefinition
import constants.Drivers
import constants.Gender
import io.cucumber.java.After
import io.cucumber.java.Before
import io.cucumber.java.en.Given
@@ -47,9 +48,9 @@ class PracticeFormPageSteps: DriverSteps() {
}
}
@When("user selects gender {string}")
fun user_selects_gender(gender: String?) {
gender?.let { formPageFactory.selectGender(gender) }
@When("user selects gender \"([^\"]*)\"$")
fun user_selects_gender(gender: Gender?) {
gender?.let { formPageFactory.selectGender(it) }
}
@When("user enters email address {string}")

View File

@@ -17,52 +17,52 @@ Feature: Feature to test the practice form
| Rachel | Zane | Female | rachel.zane@pearson-specter.com | 2125096965 |
@SmokeTest @RegressionTest
Scenario Outline: Check user can successfully submit a form with all the minimum valid credentials and 1 letter names
Given user is on practice form
When user enters first name "<firstName>" and last name "<lastName>"
And user selects gender "<gender>"
And user enters email address "<emailAddress>"
And user enters mobile number "<mobileNumber>"
And user clicks submit button
Then pop up is displayed
Examples:
| firstName | lastName | gender | emailAddress | mobileNumber |
| i | j | Male | j@domain.com | 2125096995 |
| 2 | y | Female | y@domain.com | 2125096965 |
@RegressionTest
Scenario Outline: Check user cannot submit a form with if fields are empty
Given user is on practice form
When user enters first name "<firstName>" and last name "<lastName>"
And user selects gender "<gender>"
And user enters email address "<emailAddress>"
And user enters mobile number "<mobileNumber>"
And user clicks submit button
Then no pop up is displayed
Examples:
| firstName | lastName | gender | emailAddress | mobileNumber |
| | Lastname | Male | name@domain.com | 2125096995 |
| FirstName | | Female | name@domain.com | 2125096965 |
| FirstName | Lastname | | name@domain.com | 2125096965 |
| FirstName | Lastname | Other | | 2125096965 |
| FirstName | Lastname | Other | name@domain.com | |
@RegressionTest
Scenario Outline: Check email address shows error if incorrect email string
Given user is on practice form
When user enters email address "<emailAddress>"
Then email input is displaying an error
Examples:
| emailAddress |
| namedomain.com |
| name@domain.c |
| @domain.com |
# @SmokeTest @RegressionTest
# Scenario Outline: Check user can successfully submit a form with all the minimum valid credentials and 1 letter names
#
# Given user is on practice form
# When user enters first name "<firstName>" and last name "<lastName>"
# And user selects gender "<gender>"
# And user enters email address "<emailAddress>"
# And user enters mobile number "<mobileNumber>"
# And user clicks submit button
# Then pop up is displayed
#
# Examples:
# | firstName | lastName | gender | emailAddress | mobileNumber |
# | i | j | Male | j@domain.com | 2125096995 |
# | 2 | y | Female | y@domain.com | 2125096965 |
#
#
# @RegressionTest
# Scenario Outline: Check user cannot submit a form with if fields are empty
#
# Given user is on practice form
# When user enters first name "<firstName>" and last name "<lastName>"
# And user selects gender "<gender>"
# And user enters email address "<emailAddress>"
# And user enters mobile number "<mobileNumber>"
# And user clicks submit button
# Then no pop up is displayed
#
# Examples:
# | firstName | lastName | gender | emailAddress | mobileNumber |
# | | Lastname | Male | name@domain.com | 2125096995 |
# | FirstName | | Female | name@domain.com | 2125096965 |
# | FirstName | Lastname | | name@domain.com | 2125096965 |
# | FirstName | Lastname | Other | | 2125096965 |
# | FirstName | Lastname | Other | name@domain.com | |
#
# @RegressionTest
# Scenario Outline: Check email address shows error if incorrect email string
#
# Given user is on practice form
# When user enters email address "<emailAddress>"
# Then email input is displaying an error
#
# Examples:
# | emailAddress |
# | namedomain.com |
# | name@domain.c |
# | @domain.com |