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 Date_Filter < EntryForm
include DriverUtility

def initialize(driver)
super@driver = driver
#@base_url = baseUrl
#sleep 1.5
end

def getScreenContent()
begin
return getElement(:css, "form.filter-form").text
rescue
return ""
end
end

def setDateRangeAndFilter(fromDate, toDate)
setDateRange(fromDate, toDate)

#Click the Filter button to apply the date range
click(:css, "button[ng-click='filter()']")
sleep 0.5
end

def setFromDate (fromDate)
clearFromDateFiled()
elStart = getElement(:css, "input[name='startDate']")
elStart.send_keys(fromDate)
sleep 1
end

def setEndDate (toDate)
clearEndDateField()
elEnd = getElement(:css, "input[name='endDate']")
elEnd.send_keys(toDate)
sleep 1
end

def setDateRange (fromDate, toDate)
setFromDate (fromDate)
setEndDate (toDate)
end

def clickFilterBtn()
#Click the Filter button to apply the date range
click(:css, "button[ng-click='filter()']")
#sleep 5
end

def clickResetBtn()
waitForPageToFinishLoading
click(:css, "button[ng-click='reset()']")
end

def clickFilterAccordion()
click(:css, "[ng-click='isFilterCollapsed = !isFilterCollapsed'], [ng-click='toggleFilterState()']")
end

def clickStartDateCalendarBtn()
click(:css, "div[name='startDate'] span.input-group-btn button")
end

def clickEndDateCalendarBtn()
click(:css, "div[name='endDate'] span.input-group-btn button")
end

def getStartDate()
return getTextFromInput(:css, "input[name='startDate']")
end

def getEndDate()
return getTextFromInput(:css, "input[name='endDate']")
end

def clearFromDateFiled()
getElement(:css, "input[name='startDate']").clear
end

def clearEndDateField()
getElement(:css, "input[name='endDate']").clear
end

def getRequiredFieldIndicator()
return getTextForElement(:css, "div[ng-if='requiredExists()']")
end

def getStartDatePlaceHolder()
element = getElement(:css, "input[name='startDate']")
return element.attribute('placeholder')
end

def getEndDatePlaceHolder()
element = getElement(:css, "input[name='endDate']")
return element.attribute('placeholder')
end

def getEntryDatePlaceHolder()
element = getElement(:id, "date")
return element.attribute('placeholder')
end

def isFilterAccordionExpanded()
element = getElement(:css, "ul.nav > li > button > i")
classVal = element.attribute("class")
if classVal.to_s.include?("icon-accordion-active")
return true
else
return false
end
end

def getFilterAccordionAltText()
return getElement(:css, "[ng-click='toggleFilterState()']").attribute("aria-label")
end

def getFilterAccordionTitle()
return getElement(:css, "[ng-click='toggleFilterState()']").attribute("title")
end

def getStartDateLabel()
getTextForElement(:css, "label[for='startDate'] div:nth-of-type(1) span.input-label-content")
end

def getEndDateLabel()
getTextForElement(:css, "label[for='endDate'] div:nth-of-type(1) span.input-label-content")
end

def getStatusLabel()
getTextForElement(:css, "fieldset.status-filter-wrapper legend.text-left")
end

def getDateRangeLabel()
getTextForElement(:css, "fieldset.date-range-control legend.text-left")
end

def isStatusChecked(value)
isThisRadioButtonOrCheckBoxSelected("radio", value, "statusOption")
end

def isStartDatePresent()
is_element_present(:css, "input[name='startDate']")
end

def isStartDateEnabled()
return isElementEnabled?(:css, "input[name='startDate']")
end

def isEndDateEnabled()
return isElementEnabled?(:css, "input[name='endDate']")
end

def isStartDateRequiredField()
element = getElement(:css, "input[name='startDate']")
required = element.attribute("required")
if required == "true"
return true
else
return false
end
end

def isEndDateRequiredField()
element = getElement(:css, "input[name='endDate']")
required = element.attribute("required")
if required == "true"
return true
else
return false
end
end

def isEndDatePresent()
is_element_present(:css, "input[name='endDate']")
end

def isFilterButtonPresent()
is_element_present(:css, "button[ng-click='filter()']")
end

def isFilterButtonVisible()
isElementVisible(:css, "button[ng-click='filter()']")
end

def isResetButtonPresent()
is_element_present(:css, "button[ng-click='reset()']")
end

def isResetButtonVisible()
isElementVisible(:css, "button[ng-click='reset()']")
end

def getFilterButtonLabel()
return getElement(:css, "button[ng-click='filter()']").text
end

def getResetButtonLabel()
return getElement(:css, "button[ng-click='reset()']").text
end

def isDefaultDateRange()

startDate = getStartDate()
endDate = getEndDate()

todayDate = getDateNthDaysAgo(0, "%m/%d/%Y")
thirtyDaysAgo = getDateNthDaysAgo(30, "%m/%d/%Y")

if endDate == todayDate and startDate == thirtyDaysAgo then
return true
end

return false
end

end