ole-qa-framework 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,39 @@
|
|
|
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 Library System Line Object
|
|
17
|
+
class Line_Object < OLE_QA::Framework::Line_Object
|
|
18
|
+
def initialize(ole_session, line_number)
|
|
19
|
+
super(ole_session, line_number)
|
|
20
|
+
set_sublines if defined?(self.set_sublines)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def create_subline(instance_name, class_name, which)
|
|
24
|
+
raise StandardError, "Subline object already exists. (#{instance_name})" if self.instance_variables.include?("@#{instance_name}".to_sym)
|
|
25
|
+
new_line_name = instance_name
|
|
26
|
+
make_accessor(:"#{new_line_name}")
|
|
27
|
+
klas = OLE_QA::Framework::OLELS.const_get(:"#{class_name}")
|
|
28
|
+
instance_variable_set(:"@#{new_line_name}", klas.new(@ole, @line_number, which))
|
|
29
|
+
end
|
|
30
|
+
alias_method(:add_subline,:create_subline)
|
|
31
|
+
|
|
32
|
+
def remove_subline(instance_name)
|
|
33
|
+
raise StandardError, "Subline object does not exist. (#{instance_name})" unless self.instance_variables.include?("@#{instance_name}".to_sym)
|
|
34
|
+
remove_instance_variable("@#{instance_name}".to_sym)
|
|
35
|
+
unmake_attr(instance_name.to_sym)
|
|
36
|
+
end
|
|
37
|
+
alias_method(:delete_subline,:remove_subline)
|
|
38
|
+
end
|
|
39
|
+
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::OLELS
|
|
16
|
+
# A lookup screen in the OLE Library System
|
|
17
|
+
class Lookup < OLE_QA::Framework::Page
|
|
18
|
+
# Set elements common to all OLELS lookup screens.
|
|
19
|
+
def set_elements
|
|
20
|
+
super
|
|
21
|
+
element(:title) {b.h1.span(:class => "uif-headerText-span")}
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Set elements to be loaded before the page is considered complete.
|
|
25
|
+
def wait_for_elements
|
|
26
|
+
super
|
|
27
|
+
@wait_on << :title
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
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::OLELS
|
|
16
|
+
# An Access Information Line on the OLE Library System Instance Record Editor
|
|
17
|
+
class Access_Info_Line < OLE_QA::Framework::OLELS::Line_Object
|
|
18
|
+
# Set screen elements for access info line.
|
|
19
|
+
def set_elements
|
|
20
|
+
element(:access_info_field) {b.text_field(:id => "OleAccessInformationField_line#{@line_id}_control")}
|
|
21
|
+
element(:add_button) {b.button(:id => "oleAccessInformation_addTagButton_line#{@line_id}")}
|
|
22
|
+
element(:remove_button) {b.button(:id => "oleAccessInformation_removeTagButton_line#{@line_id}")}
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
# Represents a Marc data line in the OLE Library System Bib Editor.
|
|
18
|
+
# e.g. '245','','','|aTitle of Work'
|
|
19
|
+
class Data_Line < OLE_QA::Framework::OLELS::Line_Object
|
|
20
|
+
|
|
21
|
+
# Set Marc data line elements.
|
|
22
|
+
def set_elements
|
|
23
|
+
element(:tag_field) {b.text_field(:id => "dataField_tag_id_line#{@line_id}_control")}
|
|
24
|
+
element(:ind1_field) {b.text_field(:id => "dataField_ind1_id_line#{@line_id}_control")}
|
|
25
|
+
element(:ind2_field) {b.text_field(:id => "dataField_ind2_id_line#{@line_id}_control")}
|
|
26
|
+
element(:data_field) {b.text_field(:id => "dataField_value_id_line#{@line_id}_control")}
|
|
27
|
+
element(:add_button) {b.button(:id => "dataField_addTagButton_id_line#{@line_id}")}
|
|
28
|
+
element(:remove_button) {b.button(:id => "dataField_removeTagButton_id_line#{@line_id}")}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
# Any of Various Notes which Appear on the OLE Library System Instance Editor
|
|
18
|
+
class Editor_Note < OLE_QA::Framework::Data_Object
|
|
19
|
+
|
|
20
|
+
# The type of Instance Note represented by an instance of this object.
|
|
21
|
+
attr_accessor :note_type
|
|
22
|
+
|
|
23
|
+
# The line number of an instance of this object.
|
|
24
|
+
attr_accessor :line_number
|
|
25
|
+
|
|
26
|
+
# The subline number of an instance of this object.
|
|
27
|
+
# - Set to 0 by default.
|
|
28
|
+
# - 0 indicates that an instance is not a subline element.
|
|
29
|
+
# - Used when note_type = 'ownership note'.
|
|
30
|
+
attr_accessor :subline_number
|
|
31
|
+
|
|
32
|
+
# The YAML element definitions file loaded by an instance of this class.
|
|
33
|
+
attr_accessor :yaml_file
|
|
34
|
+
|
|
35
|
+
# @note Subline Number is only necessary when instantiating for a note type which represents a subline element.
|
|
36
|
+
# e.g., ownership_note = OLE_QA::Framework::OLELS::Editor_Note.new(browser, 'ownership note', 2, 1)
|
|
37
|
+
# Otherwise leave this set to 0.
|
|
38
|
+
def initialize(browser, note_type, line_number, subline_number = 0)
|
|
39
|
+
super(browser)
|
|
40
|
+
|
|
41
|
+
@line_number = line_number
|
|
42
|
+
@line_identifier = line_number - 1
|
|
43
|
+
@subline_number = subline_number
|
|
44
|
+
@subline_identifier = subline_number - 1
|
|
45
|
+
@note_type = note_type
|
|
46
|
+
|
|
47
|
+
subdir = '/olels/objects/editor_note/'
|
|
48
|
+
|
|
49
|
+
case @note_type
|
|
50
|
+
when 'access info'
|
|
51
|
+
yaml_file = 'access_info.yml'
|
|
52
|
+
when 'holdings note'
|
|
53
|
+
yaml_file = 'holdings_note.yml'
|
|
54
|
+
when 'item note'
|
|
55
|
+
yaml_file = 'item_note.yml'
|
|
56
|
+
when 'ownership note'
|
|
57
|
+
yaml_file = 'ownership_note.yml'
|
|
58
|
+
end
|
|
59
|
+
@yaml_file = yaml_file
|
|
60
|
+
|
|
61
|
+
note_elements = load_yml(subdir, yaml_file)
|
|
62
|
+
parse_elements(note_elements)
|
|
63
|
+
set_elements(note_elements)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Replace element identifiers in a series of element hashes.
|
|
67
|
+
# - Replace LINEID with @line_identifier
|
|
68
|
+
# - Replace LINENUM with @line_number
|
|
69
|
+
# - Replace SUBLINEID with @subline_identifier
|
|
70
|
+
# - Replace SUBLINENUM with @subline_number
|
|
71
|
+
def parse_elements(element_hash)
|
|
72
|
+
replace_identifiers(element_hash, /SUBLINEID/, @subline_identifier.to_s)
|
|
73
|
+
replace_identifiers(element_hash, /SUBLINENUM/, @subline_number.to_s)
|
|
74
|
+
replace_identifiers(element_hash, /LINEID/, @line_identifier.to_s)
|
|
75
|
+
replace_identifiers(element_hash, /LINENUM/, @line_number.to_s)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
# A Holdings Note on the OLE Library System Instance Editor
|
|
17
|
+
class Holdings_Note < OLE_QA::Framework::OLELS::Line_Object
|
|
18
|
+
# Set holdings note screen elements.
|
|
19
|
+
def set_elements
|
|
20
|
+
element(:note_type_selector) {b.select_list(:id => "OleHoldingNoteTypeField_line#{@line_id}_control")}
|
|
21
|
+
element(:note_field) {b.text_field(:id => "OleHoldingNoteDescField_line#{@line_id}_control")}
|
|
22
|
+
element(:add_button) {b.button(:id => "OleHoldingNotes_addTagButton_line#{@line_id}")}
|
|
23
|
+
element(:remove_button) {b.button(:id => "OleHoldingNotes_removeTagButton_line#{@line_id}")}
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
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 Item Note in the OLE Library System Item Editor
|
|
17
|
+
class Item_Note < OLE_QA::Framework::OLELS::Line_Object
|
|
18
|
+
# Set screen elements for an OLELS Item Note.
|
|
19
|
+
def set_elements
|
|
20
|
+
element(:note_type_selector) {b.select_list(:id => "OleItemNoteTypeField_line#{@line_id}_control")}
|
|
21
|
+
element(:note_field) {b.text_field(:id => "OleItemNoteDescField_line#{@line_id}_control")}
|
|
22
|
+
element(:add_button) {b.button(:id => "OleItemNote_addTagButton_line#{@line_id}")}
|
|
23
|
+
element(:remove_button) {b.button(:id => "OleItemNote_removeTagButton_line#{@line_id}")}
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
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 Extent of Ownership Line on the OLE Library System Instance Editor.
|
|
17
|
+
class Ownership_Extent_Line < OLE_QA::Framework::OLELS::Line_Object
|
|
18
|
+
|
|
19
|
+
def set_elements
|
|
20
|
+
element(:type_selector) {b.select_list(:id => "extentTextualHoldingsType_line#{@line_id}_control")}
|
|
21
|
+
element(:statement_field) {b.text_field(:id => "extentTextualHoldings_line#{@line_id}_control")}
|
|
22
|
+
element(:add_button) {b.button(:id => "extentOfOwnership_addTagButton_line#{@line_id}")}
|
|
23
|
+
element(:remove_button) {b.button(:id => "extentOfOwnership_removeTagButton_line#{@line_id}")}
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def set_sublines
|
|
27
|
+
create_ownership_note(1)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def create_ownership_note(which = 1)
|
|
31
|
+
create_subline("ownership_note_#{which}","Ownership_Note", which)
|
|
32
|
+
end
|
|
33
|
+
alias_method(:add_ownership_note,:create_ownership_note)
|
|
34
|
+
|
|
35
|
+
def remove_ownership_note(which = 1)
|
|
36
|
+
remove_subline("ownership_note_#{which}")
|
|
37
|
+
end
|
|
38
|
+
alias_method(:delete_ownership_note,:remove_ownership_note)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
# The OLE Library System MARC Bibliographic Record Editor Screen
|
|
17
|
+
class Bib_Editor < Editor
|
|
18
|
+
# Set OLE Library System Bib Editor screen elements.
|
|
19
|
+
# @note Elements for individual Marc data lines are set on
|
|
20
|
+
# {OLE_QA::Framework::OLELS::Data_Line}
|
|
21
|
+
def set_elements
|
|
22
|
+
super
|
|
23
|
+
element(:leader_field) {b.text_field(:id => "LeaderTextInputField_control")}
|
|
24
|
+
element(:bib_record_status_selector) {b.select_list(:id => "StatusFieldSection_control")}
|
|
25
|
+
element(:set_button) {b.button(:id => "set_button")}
|
|
26
|
+
# Control Field Buttons
|
|
27
|
+
element(:control_003_link) {b.a(:id => "003FieldLink")}
|
|
28
|
+
element(:control_005_link) {b.a(:id => "005FieldLink")}
|
|
29
|
+
element(:control_006_link) {b.a(:id => "006FieldLink")}
|
|
30
|
+
element(:control_007_link) {b.a(:id => "007FieldLink")}
|
|
31
|
+
element(:control_008_link) {b.a(:id => "008FieldLink")}
|
|
32
|
+
element(:control_009_link) {b.a(:id => "009FieldLink")}
|
|
33
|
+
# Control Fields & Related Elements
|
|
34
|
+
# (NB - Dependent on links & leader field state!)
|
|
35
|
+
element(:control_003_field) {b.text_field(:id => "Control_Field_003_control")}
|
|
36
|
+
element(:control_005_field) {b.text_field(:id => "Control_Field_005_control")}
|
|
37
|
+
element(:control_006_field) {b.text_field(:id => "Control_Field_006_control")}
|
|
38
|
+
element(:control_006_format_selector) {b.select_list(:id => "006Field_0_control")}
|
|
39
|
+
element(:control_006_set_button) {b.button(:id => "ControlField_Set_button")}
|
|
40
|
+
element(:control_006_reset_button) {b.button(:id => "ControlField_Reset_button")}
|
|
41
|
+
element(:control_008_field) {b.text_field(:id => "Control_Field_008_control")}
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Add the first Marc Data Line to a new Bib Editor record.
|
|
45
|
+
# @note There will always be at least one Marc Data Line on a newly-opened record,
|
|
46
|
+
# whether newly-created or previously extant.
|
|
47
|
+
def set_lines
|
|
48
|
+
create_data_line(1)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Add a Marc data line to the editor page model.
|
|
52
|
+
def create_data_line(which = 1)
|
|
53
|
+
create_line("data_line_#{which}","Data_Line", which)
|
|
54
|
+
end
|
|
55
|
+
alias_method(:add_data_line, :create_data_line)
|
|
56
|
+
|
|
57
|
+
# Remove a Marc data line from the editor page model.
|
|
58
|
+
def remove_data_line(which = 1)
|
|
59
|
+
remove_line("data_line_#{which}")
|
|
60
|
+
end
|
|
61
|
+
alias_method(:delete_data_line,:remove_data_line)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
# The OLE Library System Describe Workbench Screen
|
|
17
|
+
class Describe_Workbench < Lookup
|
|
18
|
+
# Set URL
|
|
19
|
+
def initialize(ole_session)
|
|
20
|
+
url = ole_session.ls_url + 'portal.do?channelTitle=Describe Workbench&channelUrl='
|
|
21
|
+
url += ole_session.ls_url + 'ole-kr-krad/describeworkbenchcontroller?viewId=DescribeWorkBenchView&methodToCall=start'
|
|
22
|
+
super(ole_session, url)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Set OLELS Describe Workbench page elements.
|
|
26
|
+
def set_elements
|
|
27
|
+
super
|
|
28
|
+
# Buttons
|
|
29
|
+
element(:search_button) {b.button(:id => "search_button")}
|
|
30
|
+
element(:clear_button) {b.button(:id => "clear_button")}
|
|
31
|
+
# Search Fields
|
|
32
|
+
element(:search_field_1) {b.text_area(:id => "searchText_id_line0_control")}
|
|
33
|
+
element(:search_which_selector_1) {b.select_list(:id => "operator_id_line0_control")}
|
|
34
|
+
element(:search_field_selector_1) {b.select_list(:id => "docField_id_line0_control")}
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def wait_for_elements
|
|
38
|
+
super
|
|
39
|
+
@wait_on << :search_button
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
# The OLE Library System MARC Instance Record Editor Screen
|
|
17
|
+
class Instance_Editor < Editor
|
|
18
|
+
# Set OLELS Instance Editor page elements.
|
|
19
|
+
def set_elements
|
|
20
|
+
super
|
|
21
|
+
# Override :message element on Editor base class.
|
|
22
|
+
element(:message, force = true) {b.span(:id => "workInstanceMessage_span")}
|
|
23
|
+
element(:location_toggle) {b.a(:id => "OleLocationInformationSection_toggle")}
|
|
24
|
+
element(:location_field) {b.text_field(:id => "OleHoldingLocation_control")}
|
|
25
|
+
element(:call_number_toggle) {b.a(:id => "OleCallNumberInformation_toggle")}
|
|
26
|
+
element(:prefix_field) {b.text_field(:id => "OleHoldingCallNumberPrefix_control")}
|
|
27
|
+
element(:call_number_field) {b.text_field(:id => "OleHoldingCallNumber_control")}
|
|
28
|
+
element(:shelving_order_field) {b.text_field(:id => "OleHoldingShelvingOrder_control")}
|
|
29
|
+
element(:call_number_type_selector) {b.select_list(:id => "OleHoldingShelvingScheme_control")}
|
|
30
|
+
element(:call_number_browse_button) {b.button(:id => "callNumberHoldingsBrowseLink")}
|
|
31
|
+
element(:ownership_extent_toggle) {b.a(:id => "OleExtentOfOwnershipSection_toggle")}
|
|
32
|
+
element(:extended_information_toggle) {b.a(:id => "OleExtendedInformationSection_toggle")}
|
|
33
|
+
element(:receipt_status_selector) {b.select_list(:id => "OleReceiptStatusField_control")}
|
|
34
|
+
element(:holding_notes_toggle) {b.a(:id => "OleHoldingNotes_toggle")}
|
|
35
|
+
element(:holdings_notes_toggle) {b.a(:id => "OleHoldingNotes_toggle")}
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Wait for location field to appear when opening page.
|
|
39
|
+
def wait_for_elements
|
|
40
|
+
super
|
|
41
|
+
@wait_on << :location_field
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def set_lines
|
|
45
|
+
create_ownership_extent_line(1)
|
|
46
|
+
create_access_info_line(1)
|
|
47
|
+
create_holdings_note(1)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def create_ownership_extent_line(which = 1)
|
|
51
|
+
create_line("ownership_extent_line_#{which}","Ownership_Extent_Line",which)
|
|
52
|
+
end
|
|
53
|
+
alias_method(:add_ownership_extent_line,:create_ownership_extent_line)
|
|
54
|
+
|
|
55
|
+
def create_access_info_line(which = 1)
|
|
56
|
+
create_line("access_info_line_#{which}","Access_Info_Line",which)
|
|
57
|
+
end
|
|
58
|
+
alias_method(:add_access_info_line,:create_access_info_line)
|
|
59
|
+
|
|
60
|
+
def create_holdings_note(which = 1)
|
|
61
|
+
create_line("holdings_note_#{which}","Holdings_Note",which)
|
|
62
|
+
end
|
|
63
|
+
alias_method(:add_holdings_note,:create_holdings_note)
|
|
64
|
+
|
|
65
|
+
def remove_ownership_extent_line(which = 1)
|
|
66
|
+
remove_line("ownership_extent_line_#{which}")
|
|
67
|
+
end
|
|
68
|
+
alias_method(:delete_ownership_extent_line,:remove_ownership_extent_line)
|
|
69
|
+
|
|
70
|
+
def remove_access_info_line(which = 1)
|
|
71
|
+
remove_line("access_info_line_#{which}")
|
|
72
|
+
end
|
|
73
|
+
alias_method(:delete_access_info_line,:remove_access_info_line)
|
|
74
|
+
|
|
75
|
+
def remove_holdings_note(which = 1)
|
|
76
|
+
remove_line("holdings_note_#{which}")
|
|
77
|
+
end
|
|
78
|
+
alias_method(:delete_holdings_note,:remove_holdings_note)
|
|
79
|
+
end
|
|
80
|
+
end
|