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 "../../helpers/entry_form"
class Allergies < EntryForm
ALLERGY_TEXTFIELD = ".form-control.ng-pristine.ng-scope.ng-empty.ng-invalid"
PROVIDER_AND_FACILITY_TEXT = "span[name='providerFacilityLabel']"
FIELDS = {
'ALLERGY' => {
'selector' => "input[name='allergy']",
'type' => "text"
},
'DATE' => {
'selector' => "input[name='date']",
'type' => "text"
},
'ESTIMATED' => {
'selector' => "input[name='estimated']",
'type' => "radio"
},
'SEVERITY' => {
'selector' => "select[name='severity']",
'type' => "select"
},
'REACTION' => {
'selector' => "textarea[name='reaction']",
'type' => "textarea"
},
'DIAGNOSED' => {
'selector' => "input[name='diagnosed']",
'type' => "radio"
},
'PROVIDER_FACILITY' => {
'selector' => "input[name='Facility']",
'type' => "textarea"
},
'NOTE' => {
'selector' => "textarea[name='note']",
'type' => "textarea"
}
}
HEADERS = {
'LIST' => 'Allergies',
'ADD' => 'Add Allergy Entry',
'EDIT' => 'Edit Allergy Entry'
}
def initialize(driver)
super(driver)
end
###############
### GETTERS ###
###############
def getScreenContent()
return getElement(:css, "entry-form[name='form']").text()
end
def getFieldValue(field)
field = FIELDS[field]
if(field['type'].include?('text'))
return getTextFromInput(:css, field['selector'])
elsif(field['type'] == 'radio')
radioButtons = getElements(:css, field['selector'])
for i in 0...radioButtons.length
if(radioButtons[i].selected?)
return radioButtons[i].attribute('value')
end
end
elsif(field['type'] == 'select')
return getSelectedOptionValue(:css, field['selector'])
end
end
def isFieldVisible(field)
return isElementPresentAndVisible(:css, FIELDS[field]['selector'])
end
def isFieldRequired?(field)
return isFieldRequired(:css, FIELDS[field]['selector'])
end
def getFieldMaxLength(field)
field = FIELDS[field]
if(field['type'].include?('text'))
return getElement(:css, field['selector']).attribute('maxlength')
else
return '0'
end
end
###############
### SETTERS ###
###############
def enterAllergy(text)
waitForPageToFinishLoading
setInput(ALLERGY_TEXTFIELD,text)
end
def setFieldValue(field, value)
field = FIELDS[field]
if(field['type'].include?('text'))
setInput(field['selector'], value)
elsif(field['type'] == 'radio')
click(:css, field['selector'] + "[value='#{value}']")
elsif(field['type'] == 'select')
setSelectBoxValue(field['selector'], value)
end
end
################
### CLICKERS ###
################
def clickDatePickerButton()
click(:css, "div[name='date'] button")
end
end