Module: Navigation
- Includes:
- Utilities
- Included in:
- AwardObject, AwardTransactionObject, BudgetPeriodObject, BudgetVersionsObject, CommitteeDocumentObject, ComplianceQuestionsObject, CustomDataObject, FinancialEntityObject, IPReviewObject, InstituteRateObject, InstitutionalProposalObject, KeyPersonObject, KualiUniversityQuestionsObject, PHSFellowshipQuestionnaireObject, PermissionsObject, PersonnelAttachmentObject, ProposalAttachmentObject, ProposalDevelopmentObject, ProposalQuestionsObject, S2SQuestionnaireObject, SpecialReviewObject, SubawardBudgetObject, UserObject
- Defined in:
- lib/kuality-coeus/data_objects/navigation.rb
Instance Method Summary
collapse
Methods included from Utilities
#get, #make_role, #make_user, #random_percentage, #set, #snake_case
Instance Method Details
#doc_search ⇒ Object
17
18
19
20
21
22
23
24
|
# File 'lib/kuality-coeus/data_objects/navigation.rb', line 17
def doc_search
visit DocumentSearch do |search|
search.close_parents
search.document_id.set @document_id
search.search
search.open_doc @document_id
end
end
|
#fill_out(page, *fields) ⇒ Object
Also known as:
fill_in
Use in the #create method of your data objects for filling out fields. This method eliminates the need to write repetitive lines of code, with one line for every field needing to be filled in.
Requirement: The field method name and the class instance variable must be the same!
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/kuality-coeus/data_objects/navigation.rb', line 42
def fill_out(page, *fields)
methods={
'Watir::TextField' => lambda{|p, f| p.send(f).fit(get f)},
'Watir::Select' => lambda{|p, f| p.send(f).pick!(get f)},
'Watir::Radio' => lambda{|p, f| p.send(f, get(f)) unless get(f)==nil },
'Watir::CheckBox' => lambda{|p, f| p.send(f).fit(get f) }
}
fields.shuffle.each do |field|
begin
key = page.send(field).class.to_s
rescue NoMethodError
key = 'Watir::Radio'
end
methods[key].call(page, field)
end
end
|
#on_document?(doc_header) ⇒ Boolean
9
10
11
12
13
14
15
|
# File 'lib/kuality-coeus/data_objects/navigation.rb', line 9
def on_document?()
begin
on(DocumentHeader).document_id==@document_id && @browser.frm.div(id: 'headerarea').h1.text==
rescue Watir::Exception::UnknownObjectException, Selenium::WebDriver::Error::StaleElementReferenceError
false
end
end
|
#on_page?(element) ⇒ Boolean
26
27
28
29
30
31
32
|
# File 'lib/kuality-coeus/data_objects/navigation.rb', line 26
def on_page? element
begin
element.exist?
rescue Selenium::WebDriver::Error::StaleElementReferenceError
false
end
end
|
#open_document(doc_header) ⇒ Object
5
6
7
|
# File 'lib/kuality-coeus/data_objects/navigation.rb', line 5
def open_document
doc_search unless on_document?()
end
|