Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

require 'rubygems'
require 'selenium-webdriver'

require_relative "../../module/DriverUtility"
require_relative "../../helpers/entry_form"

class Pregnancy_History < EntryForm
include DriverUtility

PREGNANCY_NUMBER = "input[name='number']"
PREGNANCY_DATE_STARTED = "date-control[name='dateStarted'] input.date-input"
LAST_MENSTRUAL_DATE = "date-control[name='lastPeriod'] input.date-input"
OUTCOME_DATE = "date-control[name='outcomeDate'] input.date-input"
OUTCOME = "select[name='outcome']"
HOSPITAL_NAME = "input[name='hospitalName']"
NOTE = "textarea[name='Notes']"
NOTE_CHARACTER_COUNTER = "span.character-counter"
OTHER = "input[name='other']"

INFANT_NAME_1 = "input[name='name_1']"
SEX_FEMALE_1 = "input[name='sex_0'][value='Female']"
SEX_MALE_1 = "input[name='sex_0'][value='Male']"
POUND_1 = "input[name='pounds_1']"
OUNCES_1 = "input[name='ounces_1']"
LENGTH_1 = "input[name='length_1']"

INFANT_NAME_2 = "input[name='name_2']"
SEX_FEMALE_2 = "input[name='sex_1'][value='Female']"
SEX_MALE_2 = "input[name='sex_1'][value='Male']"
POUND_2 = "input[name='pounds_2']"
OUNCES_2 = "input[name='ounces_2']"
LENGTH_2 = "input[name='length_2']"

ADD_TWIN_BUTTON = "button[ng-click='addInfant()']"
DELETE_TWIN_BUTTON_1 = "button[name='deleteInfant_1']"
DELETE_TWIN_BUTTON_2 = "button[name='deleteInfant_2']"


def initialize(driver)
@driver = driver
end

###Setters
def setPregnancyNumber(number)
@driver.find_element(:css, PREGNANCY_NUMBER).clear
@driver.find_element(:css, PREGNANCY_NUMBER).send_keys(number)
end

def setPregnancyStartedDate(date)
@driver.find_element(:css, PREGNANCY_DATE_STARTED).clear
@driver.find_element(:css, PREGNANCY_DATE_STARTED).send_keys(date)
end

def setLastMenstrualDate(date)
@driver.find_element(:css, LAST_MENSTRUAL_DATE).clear
@driver.find_element(:css, LAST_MENSTRUAL_DATE).send_keys(date)
end

def setOutcomeDate(date)
@driver.find_element(:css, OUTCOME_DATE).clear
@driver.find_element(:css, OUTCOME_DATE).send_keys(date)
end

def selectOutcome(outcome)
select = getElement(:css, OUTCOME)
options = select.find_elements(:tag_name, "option")
options.each do |option|
if(option.attribute('value') == outcome)
option.click
break
end
end
end

def setHospitalName(name)
@driver.find_element(:css, HOSPITAL_NAME).clear
@driver.find_element(:css, HOSPITAL_NAME).send_keys(name)
end

def setNote(note)
@driver.find_element(:css, NOTE).clear
@driver.find_element(:css, NOTE).send_keys(note)
end

def setOther(other)
@driver.find_element(:css, OTHER).clear
@driver.find_element(:css, OTHER).send_keys(other)
end

def setName_1(name)
@driver.find_element(:css, INFANT_NAME_1).clear
@driver.find_element(:css, INFANT_NAME_1).send_keys(name)
end

def setSex_1(gender)
click(:css, "div div.col-xs-12 div.infant:nth-of-type(1) fieldset input[type='radio'][value='" + gender + "']")
end

def setPounds_1(pound)
@driver.find_element(:css, POUND_1).clear
@driver.find_element(:css, POUND_1).send_keys(pound)
end

def setOunces_1(oz)
@driver.find_element(:css, OUNCES_1).clear
@driver.find_element(:css, OUNCES_1).send_keys(oz)
end

def setLength_1(length)
@driver.find_element(:css, LENGTH_1).clear
@driver.find_element(:css, LENGTH_1).send_keys(length)
end

def setName_2(name)
@driver.find_element(:css, INFANT_NAME_2).clear
@driver.find_element(:css, INFANT_NAME_2).send_keys(name)
end

def setSex_2(gender)
click(:css, "div div.col-xs-12 div.infant:nth-of-type(2) fieldset input[type='radio'][value='" + gender + "']")
end

def setPounds_2(pound)
@driver.find_element(:css, POUND_2).clear
@driver.find_element(:css, POUND_2).send_keys(pound)
end

def setOunces_2(oz)
@driver.find_element(:css, OUNCES_2).clear
@driver.find_element(:css, OUNCES_2).send_keys(oz)
end

def setLength_2(length)
@driver.find_element(:css, LENGTH_2).clear
@driver.find_element(:css, LENGTH_2).send_keys(length)
end



###Getters
def getPregnancyNumber()
getTextFromInput(:css, PREGNANCY_NUMBER)
end

def getPregnancyStartedDate()
getTextFromInput(:css, PREGNANCY_DATE_STARTED)
end

def getLastMenstrualDate()
getTextFromInput(:css, LAST_MENSTRUAL_DATE)
end

def getOutcome()
getSelectedOptionValue(:css, OUTCOME)
end

def getOutcomeDate()
getTextFromInput(:css, OUTCOME_DATE)
end

def getHospitalName()
getTextFromInput(:css, HOSPITAL_NAME)
end

def getOther()
getTextFromInput(:css, OTHER)
end

def getNote()
getTextFromInput(:css, NOTE)
end

def getName_1()
getTextFromInput(:css, INFANT_NAME_1)
end

def getPounds_1()
getTextFromInput(:css, POUND_1)
end

def getOunces_1()
getTextFromInput(:css, OUNCES_1)
end

def getLength_1()
getTextFromInput(:css, LENGTH_1)
end

def getName_2()
getTextFromInput(:css, INFANT_NAME_2)
end

def getPounds_2()
getTextFromInput(:css, POUND_2)
end

def getOunces_2()
getTextFromInput(:css, OUNCES_2)
end

def getLength_2()
getTextFromInput(:css, LENGTH_2)
end

def getScreenContent()
return getElement(:css, "form[name='form']").text()
end

def getFirstInfantDetailLabel()
getTextForElement(:css, "div.infant:nth-of-type(1) legend span")
end

def getSecondInfantDetailLabel()
getTextForElement(:css, "div.infant:nth-of-type(2) legend span")
end

def getCharacterCounter()
getTextForElement(:css, NOTE_CHARACTER_COUNTER)
end

###Clickers

def clickAddTwin()
click(:css, ADD_TWIN_BUTTON)
end

def clickDeleteNthInfantButton(number)
if (number == 1)
click(:css, DELETE_TWIN_BUTTON_1)
else ##number = 2
click(:css, DELETE_TWIN_BUTTON_2)
end
end

def isGenderRadioButtonSelected(cssPath)
element = getElement(:css, cssPath)
return element.selected?
end



end