ole-qa-framework 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +882 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +45 -0
- data/LICENSE.md +14 -0
- data/README.md +17 -0
- data/Rakefile.rb +25 -0
- data/examples/README.md +57 -0
- data/examples/create_bib_record.rb +64 -0
- data/examples/create_requisition.rb +96 -0
- data/examples/purap_workflow_test.rb +185 -0
- data/lib/common/common_object.rb +57 -0
- data/lib/common/data_object.rb +21 -0
- data/lib/common/line_object.rb +44 -0
- data/lib/common/page.rb +72 -0
- data/lib/common/subline_object.rb +47 -0
- data/lib/config/default_options.yml +7 -0
- data/lib/docstore/docstore.rb +13 -0
- data/lib/module/qa_data_helpers.rb +17 -0
- data/lib/module/qa_helpers.rb +153 -0
- data/lib/module/qa_page_helpers.rb +33 -0
- data/lib/ole-qa-framework.rb +178 -0
- data/lib/ole_qa_framework/COMPATIBILITY.rb +20 -0
- data/lib/ole_qa_framework/VERSION.rb +20 -0
- data/lib/olefs/common/e_doc.rb +79 -0
- data/lib/olefs/common/line_object.rb +39 -0
- data/lib/olefs/common/lookup.rb +30 -0
- data/lib/olefs/common/purap_document.rb +73 -0
- data/lib/olefs/objects/line_item.rb +105 -0
- data/lib/olefs/objects/new_line_item.rb +44 -0
- data/lib/olefs/objects/new_preq_line_item.rb +43 -0
- data/lib/olefs/objects/new_receiving_line.rb +42 -0
- data/lib/olefs/objects/preq_line_item.rb +68 -0
- data/lib/olefs/objects/receiving_line.rb +88 -0
- data/lib/olefs/pages/building_lookup.rb +36 -0
- data/lib/olefs/pages/main_menu.rb +23 -0
- data/lib/olefs/pages/payment_request.rb +67 -0
- data/lib/olefs/pages/payment_request_creation.rb +44 -0
- data/lib/olefs/pages/purchase_order.rb +68 -0
- data/lib/olefs/pages/receiving_document.rb +49 -0
- data/lib/olefs/pages/requisition.rb +61 -0
- data/lib/olefs/pages/vendor_lookup.rb +40 -0
- data/lib/olefs/subobjects/accounting_line.rb +46 -0
- data/lib/olefs/subobjects/copies_line.rb +32 -0
- data/lib/olefs/subobjects/exception_notes_line.rb +26 -0
- data/lib/olefs/subobjects/invoice_notes_line.rb +25 -0
- data/lib/olefs/subobjects/new_accounting_line.rb +43 -0
- data/lib/olefs/subobjects/new_copies_line.rb +37 -0
- data/lib/olefs/subobjects/new_exception_notes_line.rb +30 -0
- data/lib/olefs/subobjects/new_invoice_notes_line.rb +35 -0
- data/lib/olefs/subobjects/new_notes_line.rb +36 -0
- data/lib/olefs/subobjects/new_receipt_notes_line.rb +35 -0
- data/lib/olefs/subobjects/notes_line.rb +29 -0
- data/lib/olefs/subobjects/processing_line.rb +24 -0
- data/lib/olefs/subobjects/receipt_notes_line.rb +25 -0
- data/lib/olels/common/e_doc.rb +23 -0
- data/lib/olels/common/editor.rb +92 -0
- data/lib/olels/common/line_object.rb +39 -0
- data/lib/olels/common/lookup.rb +30 -0
- data/lib/olels/objects/access_info_line.rb +25 -0
- data/lib/olels/objects/data_line.rb +31 -0
- data/lib/olels/objects/editor_note.rb +79 -0
- data/lib/olels/objects/holdings_note.rb +26 -0
- data/lib/olels/objects/item_note.rb +26 -0
- data/lib/olels/objects/ownership_extent_line.rb +40 -0
- data/lib/olels/pages/bib_editor.rb +63 -0
- data/lib/olels/pages/describe_workbench.rb +42 -0
- data/lib/olels/pages/instance_editor.rb +80 -0
- data/lib/olels/pages/item_editor.rb +91 -0
- data/lib/olels/pages/loan.rb +102 -0
- data/lib/olels/pages/main_menu.rb +31 -0
- data/lib/olels/pages/patron_lookup.rb +44 -0
- data/lib/olels/pages/return.rb +64 -0
- data/lib/olels/subobjects/ownership_note.rb +26 -0
- data/ole-qa-framework.gemspec +30 -0
- data/pkg/ole-qa-framework-2.1.0.gem +0 -0
- data/spec/common/browser_spec.rb +37 -0
- data/spec/common/data_object_spec.rb +37 -0
- data/spec/common/line_object_spec.rb +49 -0
- data/spec/common/page_spec.rb +44 -0
- data/spec/common/subline_object_spec.rb +54 -0
- data/spec/modules/qa_helpers_spec.rb +55 -0
- data/spec/modules/qa_page_helpers_spec.rb +43 -0
- data/spec/olefs/accounting_line_spec.rb +85 -0
- data/spec/olefs/building_lookup_spec.rb +45 -0
- data/spec/olefs/copies_line_spec.rb +70 -0
- data/spec/olefs/edocs_spec.rb +75 -0
- data/spec/olefs/exception_notes_line_spec.rb +52 -0
- data/spec/olefs/invoice_notes_line_spec.rb +45 -0
- data/spec/olefs/line_item_spec.rb +155 -0
- data/spec/olefs/lookup_spec.rb +44 -0
- data/spec/olefs/main_menu_spec.rb +34 -0
- data/spec/olefs/notes_line_spec.rb +65 -0
- data/spec/olefs/patron_lookup_spec.rb +54 -0
- data/spec/olefs/payment_request_spec.rb +85 -0
- data/spec/olefs/preq_creation_spec.rb +43 -0
- data/spec/olefs/preq_line_item_spec.rb +111 -0
- data/spec/olefs/processing_line_spec.rb +44 -0
- data/spec/olefs/purap_document_spec.rb +58 -0
- data/spec/olefs/purchase_order_spec.rb +77 -0
- data/spec/olefs/receipt_notes_line_spec.rb +54 -0
- data/spec/olefs/receive_spec.rb +66 -0
- data/spec/olefs/receiving_line_spec.rb +125 -0
- data/spec/olefs/requisition_spec.rb +83 -0
- data/spec/olefs/vendor_lookup_spec.rb +49 -0
- data/spec/olels/access_info_line_spec.rb +40 -0
- data/spec/olels/bib_editor_spec.rb +84 -0
- data/spec/olels/data_line_spec.rb +44 -0
- data/spec/olels/describe_workbench_spec.rb +44 -0
- data/spec/olels/editor_spec.rb +56 -0
- data/spec/olels/edocs_spec.rb +42 -0
- data/spec/olels/holdings_note_spec_spec.rb +41 -0
- data/spec/olels/instance_editor_spec.rb +81 -0
- data/spec/olels/item_editor_spec.rb +94 -0
- data/spec/olels/item_note_spec.rb +41 -0
- data/spec/olels/loan_spec.rb +104 -0
- data/spec/olels/lookup_spec.rb +38 -0
- data/spec/olels/main_menu_spec.rb +35 -0
- data/spec/olels/ownership_extent_line_spec.rb +58 -0
- data/spec/olels/ownership_note_spec.rb +41 -0
- data/spec/olels/return_spec.rb +72 -0
- data/spec/spec_helper.rb +21 -0
- data/spec/workflows/purap_spec.rb +221 -0
- metadata +313 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# An Invoice Notes Line on an OLE Financial System Payment Request.
|
17
|
+
class Invoice_Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Set invoice notes line elements.
|
19
|
+
def set_elements
|
20
|
+
super
|
21
|
+
element(:note_field) {b.text_area(:id => "document.item[#{@line_id}].notes[#{@subline_id}].note")}
|
22
|
+
element(:delete_button) {b.input(:xpath => "//input[@name='methodToCall.deleteNote.line#{@line_id}:#{@subline_id}']")}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A new Accounting Line on an OLE Financial System PURAP Line Object
|
17
|
+
class New_Accounting_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Initialize as a subclass of {OLE_QA::Framework::Subline_Object} with a subline_number of 0.
|
19
|
+
def initialize(ole_session, line_number, which)
|
20
|
+
super(ole_session, line_number, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set elements on a New Accounting Line object.
|
24
|
+
# @note {OLE_QA::Framework::Line_Object} @line_number and @line_id will be used to
|
25
|
+
# perform substitutions in identifiers.
|
26
|
+
# @note {OLE_QA::Framework::Subline_Object} @line_number and @line_id will not be
|
27
|
+
# need in finding element IDs, as there will only ever be one new
|
28
|
+
# subline object on each line object.
|
29
|
+
def set_elements
|
30
|
+
super
|
31
|
+
element(:chart_selector) {b.select_list(:id => "document.item[#{@line_id}].newSourceLine.chartOfAccountsCode")}
|
32
|
+
element(:account_number_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.accountNumber")}
|
33
|
+
element(:sub_account_number_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.subAccountNumber")}
|
34
|
+
element(:object_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.financialObjectCode")}
|
35
|
+
element(:sub_object_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.financialSubObjectCode")}
|
36
|
+
element(:project_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.projectCode")}
|
37
|
+
element(:org_ref_id_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.organizationReferenceId")}
|
38
|
+
element(:dollar_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.amount")}
|
39
|
+
element(:percent_field) {b.text_field(:id => "document.item[#{@line_id}].newSourceLine.accountLinePercent")}
|
40
|
+
element(:add_button) {b.input(:name => "methodToCall.insertSourceLine.line#{@line_id}.anchoraccountingSourceAnchor")}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A new Copies Line on an OLE Financial System PURAP Line Object
|
17
|
+
class New_Copies_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Initialize as a subclass of {OLE_QA::Framework::Subline_Object} with a subline_number of 0.
|
19
|
+
def initialize(ole_session, line_number, which)
|
20
|
+
super(ole_session, line_number, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set elements on a New Copies Line object.
|
24
|
+
# @note {OLE_QA::Framework::Line_Object} @line_number and @line_id will be used to
|
25
|
+
# perform substitutions in identifiers.
|
26
|
+
# @note {OLE_QA::Framework::Subline_Object} @line_number and @line_id will not be
|
27
|
+
# need in finding element IDs, as there will only ever be one new
|
28
|
+
# subline object on each line object.
|
29
|
+
def set_elements
|
30
|
+
super
|
31
|
+
element(:copies_field) {b.text_field(:id => "document.item[#{@line_id}].itemCopies")}
|
32
|
+
element(:location_copies_selector) {b.select_list(:id => "document.item[#{@line_id}].locationCopies")}
|
33
|
+
element(:starting_copy_field) {b.text_field(:id => "document.item[#{@line_id}].startingCopyNumber")}
|
34
|
+
element(:add_button) {b.input(:name => "methodToCall.addCopy.line#{@line_id}")}
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A new Exception Notes Line on an OLE Financial System Receiving Line.
|
17
|
+
class New_Exception_Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Initialize as a subclass of {OLE_QA::Framework::Subline_Object} with a subline_number of 0.
|
19
|
+
def initialize(ole_session, line_number, which)
|
20
|
+
super(ole_session, line_number, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set elements on a New Exception Notes Line.
|
24
|
+
def set_elements
|
25
|
+
element(:exception_type_selector) {b.select_list(:id => "document.item[#{@line_id}].exceptionTypeId")}
|
26
|
+
element(:note_field) {b.text_field(:id => "document.item[#{@line_id}].exceptionNotes")}
|
27
|
+
element(:note_type_selector) {b.select_list(:id => "document.item[#{@line_id}].exceptionTypeId")}
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A new Invoice Notes Line on an OLE Financial System Payment Request Line.
|
17
|
+
class New_Invoice_Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Initialize as a subclass of {OLE_QA::Framework::Subline_Object} with a subline_number of 0.
|
19
|
+
def initialize(ole_session, line_number, which)
|
20
|
+
super(ole_session, line_number, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set elements on a New Invoice Notes Line object.
|
24
|
+
# @note {OLE_QA::Framework::Line_Object} @line_number and @line_id will be used to
|
25
|
+
# perform substitutions in identifiers.
|
26
|
+
# @note {OLE_QA::Framework::Subline_Object} @line_number and @line_id will not be
|
27
|
+
# need in finding element IDs, as there will only ever be one new
|
28
|
+
# subline object on each line object.
|
29
|
+
def set_elements
|
30
|
+
super
|
31
|
+
element(:note_field) {b.text_field(:id => "document.item[#{@line_number}].note")}
|
32
|
+
element(:add_button) {b.input(:name => "methodToCall.addNote.line#{@line_number}")}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A new Notes Line on an OLE Financial System PURAP Line Object
|
17
|
+
class New_Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Initialize as a subclass of {OLE_QA::Framework::Subline_Object} with a subline_number of 0.
|
19
|
+
def initialize(ole_session, line_number, which)
|
20
|
+
super(ole_session, line_number, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set elements on a New Notes Line object.
|
24
|
+
# @note {OLE_QA::Framework::Line_Object} @line_number and @line_id will be used to
|
25
|
+
# perform substitutions in identifiers.
|
26
|
+
# @note {OLE_QA::Framework::Subline_Object} @line_number and @line_id will not be
|
27
|
+
# need in finding element IDs, as there will only ever be one new
|
28
|
+
# subline object on each line object.
|
29
|
+
def set_elements
|
30
|
+
super
|
31
|
+
element(:note_type_selector) {b.select_list(:id => "document.item[#{@line_id}].noteTypeId")}
|
32
|
+
element(:note_field) {b.text_field(:id => "document.item[#{@line_id}].note")}
|
33
|
+
element(:add_button) {b.input(:name => "methodToCall.addNote.line#{@line_id}")}
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A new Receipt Notes Line on an OLE Financial System Receiving Document
|
17
|
+
class New_Receipt_Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Initialize as a subclass of {OLE_QA::Framework::Subline_Object} with a subline_number of 0.
|
19
|
+
def initialize(ole_session, line_number, which)
|
20
|
+
super(ole_session, line_number, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set elements on a New Receipt Notes Line object.
|
24
|
+
# @note {OLE_QA::Framework::Line_Object} @line_number and @line_id will be used to
|
25
|
+
# perform substitutions in identifiers.
|
26
|
+
# @note {OLE_QA::Framework::Subline_Object} @line_number and @line_id will not be
|
27
|
+
# need in finding element IDs, as there will only ever be one new
|
28
|
+
# subline object on each line object.
|
29
|
+
def set_elements
|
30
|
+
super
|
31
|
+
element(:note_type_selector) {b.select_list(:id => "document.item[#{@line_id}].noteTypeId")}
|
32
|
+
element(:note_field) {b.text_field(:id => "document.item[#{@line_id}].receiptNotes")}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A Notes Line in an OLE Financial System PURAP E-Document.
|
17
|
+
class Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Set notes line elements.
|
19
|
+
def set_elements
|
20
|
+
super
|
21
|
+
element(:note_type_selector) {b.select_list(:id => "document.item[#{@line_id}].notes[#{@subline_id}].noteTypeId")}
|
22
|
+
element(:note_field) {b.text_field(:id => "document.item[#{@line_id}].notes[#{@subline_id}].note")}
|
23
|
+
element(:delete_button) {b.input(:name => "methodToCall.deleteNote.line#{@line_id}:#{@subline_id}")}
|
24
|
+
# Use the elements below for a closed, inaccessible notes field on a PURAP document like a Purchase Order.
|
25
|
+
element(:closed_note_type_field) {b.td(:xpath => "//tr[starts-with(@id,'tab-Notes')]/th/table[@class = 'datatable']/tbody[1]/tr[td[@class = 'subhead'][contains(text(),'Note #{@subline_num}')]]/following-sibling::tr[1]/td[1]")}
|
26
|
+
element(:closed_note_field) {b.td(:xpath => "//tr[starts-with(@id,'tab-Notes')]/th/table[@class = 'datatable']/tbody[1]/tr[td[@class = 'subhead'][contains(text(),'Note #{@subline_num}')]]/following-sibling::tr[1]/td[2]")}
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A Special Processing Instructions Line in an OLE Financial System Receiving Document.
|
17
|
+
class Processing_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
def set_elements
|
19
|
+
super
|
20
|
+
element(:note_field) {b.td(:xpath => "//table[@summary='Items Section']/tbody/tr[td[1]/b[contains(text(),'#{@line_number}')]]/following-sibling::tr[4]/td[1]/table/tbody/tr[2]/td[1]/table/tbody/tr[td[contains(text(),'Note #{@subline_number}')]]/following-sibling::tr[1]/td[1]")}
|
21
|
+
element(:acknowledge_checkbox) {b.checkbox(:xpath => "//table[@summary='Items Section']/tbody/tr[td[1]/b[contains(text(),'#{@line_number}')]]/following-sibling::tr[4]/td[1]/table/tbody/tr[2]/td[1]/table/tbody/tr[td[contains(text(),'Note #{@subline_number}')]]/following-sibling::tr[1]/td[2]")}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLEFS
|
16
|
+
# A Receipt Notes Line in an OLE Financial System Receiving Document
|
17
|
+
class Receipt_Notes_Line < OLE_QA::Framework::Subline_Object
|
18
|
+
# Set receipt notes elements.
|
19
|
+
def set_elements
|
20
|
+
super
|
21
|
+
element(:note_type_selector) {b.select_list(:id => "document.item[#{@line_id}].receiptNoteList[#{@subline_id}].noteTypeId")}
|
22
|
+
element(:note_field) {b.text_field(:id => "document.item[#{@line_id}].receiptNoteList[#{@subline_id}].notes")}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLELS
|
16
|
+
# An OLE Libary System E-Document page.
|
17
|
+
class E_Doc < OLE_QA::Framework::Page
|
18
|
+
# Set elements common to all OLELS E-Document pages.
|
19
|
+
def set_elements
|
20
|
+
element(:description_field) {b.text_field(:xpath => "//tr/th[descendant::label[contains(text(),'Description:')]]/following-sibling::td[1]/descendant::input[1]")}
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# Copyright 2005-2013 The Kuali Foundation
|
2
|
+
#
|
3
|
+
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# http://www.opensource.org/licenses/ecl2.php
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module OLE_QA::Framework::OLELS
|
16
|
+
|
17
|
+
# This represents the base object for the Describe Editor.
|
18
|
+
# It generates elements common to all three editor screens:
|
19
|
+
# - Bibliographic Editor
|
20
|
+
# - Instance Editor (for Holdings)
|
21
|
+
# - Item Editor
|
22
|
+
class Editor < OLE_QA::Framework::Page
|
23
|
+
|
24
|
+
# The URL for this Page object is the universal Describe Editor URL in OLELS.
|
25
|
+
# When the Editor is opened via URL, it will start on the
|
26
|
+
# MARC Bibliographic Editor screen.
|
27
|
+
#
|
28
|
+
# NB:
|
29
|
+
# The URL of the newly-opened editor instance
|
30
|
+
# will differ from the URL with which the screen was
|
31
|
+
# opened, so do not rely on URL equivalence tests
|
32
|
+
# to verify whether or not the Editor has been opened
|
33
|
+
# correctly.
|
34
|
+
#
|
35
|
+
def initialize(ole_session)
|
36
|
+
editor_url = ole_session.ls_url + 'portal.do?channelTitle=Editor&channelUrl='
|
37
|
+
editor_url += ole_session.ls_url + 'ole-kr-krad/editorcontroller?viewId=EditorView&methodToCall=load&docCategory=work&docType=bibliographic&docFormat=marc&editable=true'
|
38
|
+
super(ole_session, editor_url)
|
39
|
+
set_lines if defined?(self.set_lines)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Set elements common to all Editor screens.
|
43
|
+
# @note "Return to Search" buttons will not appear when Editors are not invoked via Describe Workbench,
|
44
|
+
# despite their commonality.
|
45
|
+
def set_elements
|
46
|
+
super
|
47
|
+
element(:title) {b.h2(:class => "uif-headerText").span}
|
48
|
+
element(:submit_button) {b.button(:id => "submitEditor")}
|
49
|
+
element(:cancel_button) {b.button(:id => "cancelEditor")}
|
50
|
+
element(:close_button) {b.button(:id => "closeEditor")}
|
51
|
+
element(:return_to_search_button) {b.button(:id => "returnToSearch_button")}
|
52
|
+
element(:message) {b.span(:id => "workMessageSection_span")}
|
53
|
+
# Navigation Area Elements
|
54
|
+
# TODO Check on necessity of plurality for add instance button once it is functioning again. (see OLE-4294)
|
55
|
+
element(:delete_bib_button) {b.img(:xpath => "//img[@class='deleteBib']")}
|
56
|
+
element(:holdings_links) {b.divs(:class => "holdingIdentifierClass")}
|
57
|
+
element(:item_links) {b.divs(:class => "itemIdentifierClass")}
|
58
|
+
element(:add_instance_buttons) {b.imgs(:class => "addInstance")}
|
59
|
+
element(:delete_instance_buttons) {b.imgs(:title => "Delete Instance")}
|
60
|
+
element(:add_item_buttons) {b.imgs(:title => "Add Item")}
|
61
|
+
element(:delete_item_buttons) {b.imgs(:title => "Delete Item")}
|
62
|
+
end
|
63
|
+
|
64
|
+
# Designate elements always expected to be present once the editor has finished loading.
|
65
|
+
def wait_for_elements
|
66
|
+
@wait_on << :title
|
67
|
+
end
|
68
|
+
|
69
|
+
# Define commonly-used functions on Editor page objects.
|
70
|
+
def set_functions
|
71
|
+
super
|
72
|
+
# Click the submit button, wait until a message appears, and return the message text.
|
73
|
+
function(:save_record) {submit_button.click ; message.wait_until_present ; message.text.strip}
|
74
|
+
end
|
75
|
+
|
76
|
+
# Create a Line Object on an Editor page.
|
77
|
+
def create_line(instance_name, class_name, which=0)
|
78
|
+
raise StandardError, "Line object already exists. (#{instance_name})" if self.instance_variables.include?("@#{instance_name}".to_sym)
|
79
|
+
new_line_name = instance_name
|
80
|
+
make_accessor(:"#{instance_name}")
|
81
|
+
klas = OLE_QA::Framework::OLELS.const_get(:"#{class_name}")
|
82
|
+
instance_variable_set(:"@#{new_line_name}", klas.new(@ole, which))
|
83
|
+
end
|
84
|
+
|
85
|
+
# Remove a Line Object from an Editor page.
|
86
|
+
def remove_line(instance_name)
|
87
|
+
raise StandardError, "Line object does not exist. (#{instance_name})" unless self.instance_variables.include?("@#{instance_name}".to_sym)
|
88
|
+
remove_instance_variable("@#{instance_name}".to_sym)
|
89
|
+
unmake_attr(instance_name.to_sym)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|