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_relative '../../globalized'
include Globalized

describe "[Story #JRNL-1780: Personal Trackers Settings]", :broken => true, :regression => true do

before(:all) do

@SETTINGS_SCREEN = [
"Personal Trackers - Display Options",
"Select trackers to include in your Personal Tracker list.",
"Removing a tracker from your list will not remove your tracker data," +
" however all notifications tied to that tracker will be turned off.",
"You may add a tracker back to your list at any time.",
"Blood Pressure and Pulse",
"Cholesterol/Lipid",
"Daily Events",
"Diet",
"Exercise",
"Glucose (Self Tested)",
"Height",
"Mood",
"Pain",
"Respiration",
"Sleep",
"Stress",
"Temperature",
"Weight",
"Save Cancel",
]

@trackers = [
'bp',
'lipid',
'events',
'diet',
'exercise',
'glucose',
'height',
'mood',
'pain',
'respiration',
'sleep',
'stress',
'temperature',
'weight'
]

#-- Generic add procedure code
@addProcedureCode = Proc.new do | screenName, screenTitle, requiredFields|
puts " Adding personal tracker in (#{screenTitle})"

@common.clickAddButton()
!45.times{ break if (@personaltracker_form.getPrimaryHeader() == "Add #{screenTitle} Entry"); sleep 1 }
expect(@personaltracker_form.getPrimaryHeader()).to eq("Add #{screenTitle} Entry")

requiredFields.each_with_index do | codeblock, i |
codeblock.call()
end

@personaltracker_form.clickSaveButton()
!45.times{ break if (@personaltracker_list_screen.getPrimaryHeader() == "#{screenTitle}"); sleep 1 }
expect(@personaltracker_list_screen.getPrimaryHeader()).to eq("#{screenTitle}")
end

#-- Array that holds the add routine for each of the personal trackers
@addArray = {
"BloodPressureandPulse" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("Systolic","120")} ,
Proc.new {setKeyboardField("Diastolic","100")} ,
Proc.new {setKeyboardField("Pulse","150")}
]
},
"Lipids" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("Total Serum Cholesterol","400")} ,
Proc.new {setKeyboardField("Low-Density Lipoprotein (LDL)","100")} ,
Proc.new {setKeyboardField("High-Density Lipoprotein (HDL)","150")} ,
Proc.new {setKeyboardField("Triglycerides","300")},
Proc.new {setSelectBoxValue("select[name='fasting']", "Yes")}
]
},
"DailyEvents" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("eventTitle", "A spectacular event")}
]
},
"Diet" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setSelectField("mealType", "Snack")},
Proc.new {setKeyboardField("caloriesInput","100")},
Proc.new {setKeyboardField("fatInput","200")},
Proc.new {setKeyboardField("carbInput","300")},
Proc.new {setKeyboardField("proteinInput","400")}
]
},
"Exercise" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setSelectField("activityInput", "Walking")},
Proc.new {setKeyboardField("durationInput", "30")}
]
},
"Glucose" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setInput(Glucose::GLUCOSE_LEVEL, "200")} ,
Proc.new {setSelectBoxValue(Glucose::TESTED, "After Meal")}
]
},
"Height" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("Height", "75")}
]
},
"Mood" => {
"proc" => @addProcedureCode,
"requiredFields" => []
},
"Pain" => {
"proc" => @addProcedureCode,
"requiredFields" => []
},
"Respiration" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("Respiration", "40")}
]
},
"Sleep" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setInput(Sleep::STARTDATE, getDateNthDaysAgo(1, "%m/%d/%Y"))} ,
Proc.new {setInput(Sleep::STARTTIME, "06:00 AM")} ,
Proc.new {setInput(Sleep::ENDDATE, getDateNthDaysAgo(1, "%m/%d/%Y"))} ,
Proc.new {setInput(Sleep::ENDTIME, "06:00 PM")}
]
},
"Stress" => {
"proc" => @addProcedureCode,
"requiredFields" => []
},
"Temperature" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("Temperature", "98")}
]
},
"Weight" => {
"proc" => @addProcedureCode,
"requiredFields" => [
Proc.new {setKeyboardField("Weight", "98")}
]
},
}

initializeConfigurations(BASE_URL)

initializeAllObjects

@common.loginEndsOnLandingPage("zztest.patient01","patient01, zztest");
expect(@main.getFooterText()).to eq("Logged in as patient01, zztest");

@main.clickNavMenu()
!45.times{ break if (@navMenu.getNavMenuHeading() == "App Options"); sleep 1 }
expect(@navMenu.getNavMenuHeading()).to eq("App Options")

########################
### CLEAR MONGO DATA ###
########################
# Glucose
removeCollection("chemlabs", "medicalhistorydb")
# Cholesterol/Lipid
removeCollection("chemlabsbundles", "medicalhistorydb")
# Stress
removeCollection("stress", "medicalhistorydb")
# Sleep
removeCollection("sleep", "medicalhistorydb")
# Mood
removeCollection("mood", "medicalhistorydb")
# Height, Weight, Pain, Respiration, Temperature
removeCollection("vitalsigns", "medicalhistorydb")
# Blood Pressure and Pulse
removeCollection("vitalsignsbundles", "medicalhistorydb")
# Diet
removeCollection("diet", "healthfactordb")
# Exercise
removeCollection("fitness", "healthfactordb")
# Notification
removeCollection("reminders", "remindersdb")
# Preferences
removeCollection("preferences", "healthtrackerdb")
# Daily Events
removeCollection("notes", "medicalhistorydb")
end

after(:all) do
removeCollection("preferences", "healthtrackerdb")
quitDriver()
end

describe "AC #JRNL-1338| TC #JRNL-1325: Personal Tracker Display" do

it ".verify all trackers are initally listed" do
@navMenu.clickPersonalTrackers()
!45.times{ break if (getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
expect(@navMenu.getSubFeatureCount()).to eq(@trackers.length)
end

it ".select gear to open settings modal", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")
end

it ".verify instructional text, and list of trackers", :broken => true do
@personaltracker_settings.getScreenContent().split("\n").each_with_index do | screenRow, i |
expect(screenRow).to eq(@SETTINGS_SCREEN[i])
end

expect(@personaltracker_settings.getScreenContent().split("\n").length).to eq(@SETTINGS_SCREEN.length)
end

it ".verify default is that all tracker settings are checked", :broken => true do
@trackers.each_with_index do |tracker, i|
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(true)
end

@personaltracker_settings.clickCancelButton()
end

it ".enter tracker data and enable notification", :broken => true do
#-- Go through all menus and submenus
Nav_menu::NAV.each_with_index do | item, i|
#-- Process only Personal Trackers submenus
if item[1]["dependsOn"] == "PersonalTrackers"
screenName = item[0]

#--Navigate to the personal tracker screen (list/filter view)
@navMenu.click(:css, item[1]["navButton"])
sleep 2.0

screenTitle = getTextForElement(:css, item[1]["navButton"]).sub("\nselected","")
!45.times{ break if (@personaltracker_form.getPrimaryHeader() == screenTitle); sleep 1 }
expect(@personaltracker_form.getPrimaryHeader()).to eq(screenTitle)

#--Add a personal tracker record
@addArray[screenName]["proc"].call(screenName, screenTitle, @addArray[screenName]["requiredFields"])

screenNotificationTitle = determineScreenNotificationTitle(screenName, screenTitle)
setInAppEmailNotifications(screenName, screenTitle, screenNotificationTitle)
end
end
end

it ".remove all and save", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@trackers.each_with_index do |tracker, i|
@personaltracker_settings.clickTracker(tracker)
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(false)
end

@personaltracker_settings.clickSaveButton()
!30.times{ break if(@navMenu.getSubFeatureCount() == 0); sleep 1 }
expect(@navMenu.getSubFeatureCount()).to eq(0)

expect(@navMenu.getNoMenuItemsMessage()).to eq("All Personal Trackers are currently hidden. Use the gear icon above to add trackers.")
end

it ".reselect all", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@trackers.each_with_index do |tracker, i|
@personaltracker_settings.clickTracker(tracker)
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(true)
end

@personaltracker_settings.clickSaveButton()
sleep 2

!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")

expect(@navMenu.getSubFeatureCount()).to eq(@trackers.length)
end

it ".verify trackers still have data and the notification got disabled", :broken => true do
#-- Go through all menus and submenus
Nav_menu::NAV.each_with_index do | item, i|
#-- Process only Personal Trackers submenus
if item[1]["dependsOn"] == "PersonalTrackers"
screenName = item[0]

#--Navigate to the personal tracker screen (list/filter view)
@navMenu.click(:css, item[1]["navButton"])
sleep 2.0

screenTitle = getTextForElement(:css, item[1]["navButton"]).sub("\nselected","")
!45.times{ break if (@personaltracker_form.getPrimaryHeader() == screenTitle); sleep 1 }
expect(@personaltracker_form.getPrimaryHeader()).to eq(screenTitle)

#--Verify count on list is 1
expect(getCount()).to eq(1)

expect(@personaltracker_list_screen.isElementVisible(:css, PersonalTrackers::NOTIFICATION_ICON)).to eq(true)
!45.times{ break if (@personaltracker_list_screen.getNotificationButtonLabel() == "Notification (Off)"); sleep 1 }
expect(@personaltracker_list_screen.getNotificationButtonLabel()).to eq("Notification (Off)")
expect(@personaltracker_list_screen.getNotificationButtonAltText()).to eq("Notification (Off)")
end
end
end

it ".remove some but then cancel", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@trackers.each_with_index do |tracker, i|
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(true)
@personaltracker_settings.clickTracker(tracker)
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(false)
end

@personaltracker_settings.clickCancelButton()

expect(@navMenu.getSubFeatureCount()).to eq(@trackers.length)
end

it ".remove all", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@trackers.each_with_index do |tracker, i|
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(true)
@personaltracker_settings.clickTracker(tracker)
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(false)
end

@personaltracker_settings.clickSaveButton()
waitForPageToFinishLoading()

expect(@navMenu.getSubFeatureCount()).to eq(0)

expect(@navMenu.getNoMenuItemsMessage()).to eq("All Personal Trackers are currently hidden. Use the gear icon above to add trackers.")
end

it ".reselect all but then cancel", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@trackers.each_with_index do |tracker, i|
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(false)
@personaltracker_settings.clickTracker(tracker)
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(true)
end

@personaltracker_settings.clickCancelButton()

expect(@navMenu.getSubFeatureCount()).to eq(0)

expect(@navMenu.getNoMenuItemsMessage()).to eq("All Personal Trackers are currently hidden. Use the gear icon above to add trackers.")
end

it ".reselect all", :broken => true do
@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@trackers.each_with_index do |tracker, i|
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(false)
@personaltracker_settings.clickTracker(tracker)
expect(@personaltracker_settings.isTrackerSelected(tracker)).to eq(true)
end

@personaltracker_settings.clickSaveButton()
sleep 2
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")

expect(@navMenu.getSubFeatureCount()).to eq(@trackers.length)
end

describe "AC #JRNL-1318 | TC #JRNL-1325: Navigation" do

it ".unselect the current tracker - list/filter page", :broken => true do
@navMenu.click(:css, Nav_menu::NAV["BloodPressureandPulse"]["navButton"])
!45.times{ break if(getPrimaryHeader() == "Blood Pressure and Pulse"); sleep 1}
expect(getPrimaryHeader()).to eq("Blood Pressure and Pulse")

@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

@personaltracker_settings.clickTracker('bp')
expect(@personaltracker_settings.isTrackerSelected('bp')).to eq(false)

@personaltracker_settings.clickSaveButton()
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
!30.times{ break if(getPrimaryHeader() == "Personal Trackers"); sleep 1 }
expect(getPrimaryHeader()).to eq("Personal Trackers")
end

context "Click settings from entry page" do

it ".clean", :broken => true do
@navMenu.click(:css, Nav_menu::NAV["Lipids"]["navButton"])
!45.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1}
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")

@personaltracker_list_screen.clickAddEntryButton()
!45.times{ break if(getPrimaryHeader() == "Add Cholesterol/Lipid Entry"); sleep 1}
expect(getPrimaryHeader()).to eq("Add Cholesterol/Lipid Entry")

@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

#Check the screen underneath the modal
sleep 2
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")

@personaltracker_settings.clickCancelButton()
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
!30.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1 }
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")
end

it ".dirty", :broken => true do
@navMenu.click(:css, Nav_menu::NAV["Lipids"]["navButton"])
!45.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1}
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")

@personaltracker_list_screen.clickAddEntryButton()
!45.times{ break if(getPrimaryHeader() == "Add Cholesterol/Lipid Entry"); sleep 1}
expect(getPrimaryHeader()).to eq("Add Cholesterol/Lipid Entry")

setInput('textarea[name="Note"]', "ABC")

@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@modal.getConfirmationHeading() == "Confirmation"); sleep 1 }
expect(@modal.getConfirmationHeading()).to eq("Confirmation")
expect(@modal.getConfirmationMessage()).to eq("You have not saved your changes. You may continue without saving or return to the entry screen.")

@modal.clickReturnButton()
!15.times{ break if(getPrimaryHeader() == "Add Cholesterol/Lipid Entry"); sleep 1}
expect(getPrimaryHeader()).to eq("Add Cholesterol/Lipid Entry")

@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@modal.getConfirmationHeading() == "Confirmation"); sleep 1 }
expect(@modal.getConfirmationHeading()).to eq("Confirmation")
expect(@modal.getConfirmationMessage()).to eq("You have not saved your changes. You may continue without saving or return to the entry screen.")

@modal.clickContinueButton()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

#Check the screen underneath the modal
sleep 2
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")

@personaltracker_settings.clickCancelButton()
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
!30.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1 }
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")
end

end

context "Click settings from notification settings page" do

it ".clean", :broken => true do
@navMenu.click(:css, Nav_menu::NAV["Lipids"]["navButton"])
!45.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1}
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")

@personaltracker_list_screen.clickNotificationButton()
!45.times{ break if (@personaltracker_notification.getPrimaryHeader() == "Lipids Notification"); sleep 1 }
expect(@personaltracker_notification.getPrimaryHeader()).to eq("Lipids Notification")

@personaltracker_settings.clickTheGearIcon()
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

#Check the screen underneath the modal
sleep 2
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")

@personaltracker_settings.clickCancelButton()
sleep 2
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
!30.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1 }
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")
end

it ".dirty", :broken => true do
@navMenu.click(:css, Nav_menu::NAV["Lipids"]["navButton"])
!45.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1}
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")

@personaltracker_list_screen.clickNotificationButton()
!45.times{ break if (@personaltracker_notification.getPrimaryHeader() == "Lipids Notification"); sleep 1 }
expect(@personaltracker_notification.getPrimaryHeader()).to eq("Lipids Notification")

@personaltracker_notification.clickOnRadioButton()

@personaltracker_settings.clickTheGearIcon()
sleep 2

!30.times{ break if (@modal.getConfirmationHeading() == "Confirmation"); sleep 1 }
expect(@modal.getConfirmationHeading()).to eq("Confirmation")
expect(@modal.getConfirmationMessage()).to eq("You have not saved your changes. You may continue without saving or return to the entry screen.")

@modal.clickReturnButton()
!45.times{ break if (@personaltracker_notification.getPrimaryHeader() == "Lipids Notification"); sleep 1 }
expect(@personaltracker_notification.getPrimaryHeader()).to eq("Lipids Notification")

@personaltracker_settings.clickTheGearIcon()
sleep 2
!30.times{ break if (@modal.getConfirmationHeading() == "Confirmation"); sleep 1 }
expect(@modal.getConfirmationHeading()).to eq("Confirmation")
expect(@modal.getConfirmationMessage()).to eq("You have not saved your changes. You may continue without saving or return to the entry screen.")

@modal.clickContinueButton()
sleep 2
!30.times{ break if (@personaltracker_settings.getHeading() == "Personal Trackers - Display Options"); sleep 1 }
expect(@personaltracker_settings.getHeading()).to eq("Personal Trackers - Display Options")

#Check the screen underneath the modal
sleep 2
!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
@personaltracker_settings.clickCancelButton()
sleep 2

!30.times{ break if(getSecondaryHeader() == "Personal Trackers"); sleep 1 }
expect(getSecondaryHeader()).to eq("Personal Trackers")
!30.times{ break if(getPrimaryHeader() == "Cholesterol/Lipid"); sleep 1 }
expect(getPrimaryHeader()).to eq("Cholesterol/Lipid")
end

end

end

end

def setInAppEmailNotifications(screenName, screenTitle, screenNotificationTitle)
expect(@personaltracker_list_screen.isElementVisible(:css, PersonalTrackers::NOTIFICATION_ICON)).to eq(true)
!45.times{ break if (@personaltracker_list_screen.getNotificationButtonLabel() == "Notification (Off)"); sleep 1 }
expect(@personaltracker_list_screen.getNotificationButtonLabel()).to eq("Notification (Off)")
expect(@personaltracker_list_screen.getNotificationButtonAltText()).to eq("Notification (Off)")

@personaltracker_list_screen.clickNotificationButton()
!45.times{ break if (@personaltracker_notification.getPrimaryHeader() == "#{screenNotificationTitle} Notification"); sleep 1 }
expect(@personaltracker_notification.getPrimaryHeader()).to eq("#{screenNotificationTitle} Notification")
!30.times{ break if(isElementPresentAndVisible(:css, 'form[name="form"]')); sleep 1 }
expect(isElementPresentAndVisible(:css, 'form[name="form"]')).to eq(true)

tomorrow = getDateNthDaysFromNow(1, "%m/%d/%Y")

@personaltracker_notification.clickOnRadioButton()

!10.times{ break if(@personaltracker_notification.isFieldDisabled(PersonalTracker_Notification::START_DATE) == false); sleep 1 }
expect(@personaltracker_notification.isFieldDisabled(PersonalTracker_Notification::START_DATE)).to eq(false)

@personaltracker_notification.setInput(PersonalTracker_Notification::START_DATE, tomorrow)
@personaltracker_notification.setSelectBoxValue(PersonalTracker_Notification::FREQUENCY, "Weekly")
@personaltracker_notification.setInput(PersonalTracker_Notification::TIME0, "01:00 PM")

#--By default, In-app box is checked.
expect(getElement(:css, PersonalTracker_Notification::NOTIFICATION_DELIVERY_IN_APP_CHECKBOX).selected?).to eq(true)

@personaltracker_notification.clickSaveButton()
!45.times{ break if (@personaltracker_list_screen.getPrimaryHeader() == screenTitle); sleep 1 }
expect(@personaltracker_list_screen.getFocusedElementText()).to eq(screenTitle)

expect(getCount()).to eq(1)

!45.times{ break if (@personaltracker_list_screen.getNotificationButtonLabel() == "Notification (On)"); sleep 1 }
expect(@personaltracker_list_screen.getNotificationButtonLabel()).to eq("Notification (On)")
expect(@personaltracker_list_screen.getNotificationButtonAltText()).to eq("Notification (On)")
end

def determineScreenNotificationTitle(screenName, screenTitle)
# For the most part, notification screen title is same as the personal
# tracker title. Exception is Glucose and Lipids
if screenName == "Glucose" or screenName == "Lipids"
return screenName
else
return screenTitle
end
end

end