ole-qa-framework 2.7.3 → 3.0.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 +15 -0
- data/lib/common/common_object.rb +1 -1
- data/lib/common/line_object.rb +35 -10
- data/lib/common/page.rb +5 -0
- data/lib/common/subline_object.rb +8 -24
- data/lib/module/qa_helpers.rb +1 -1
- data/lib/module/qa_page_helpers.rb +24 -0
- data/lib/ole_qa_framework/VERSION.rb +1 -1
- data/lib/olefs/common/purap_document.rb +20 -25
- data/lib/olefs/objects/invoice_current_item.rb +1 -1
- data/lib/olefs/objects/invoice_line.rb +5 -2
- data/lib/olefs/objects/line_item.rb +44 -50
- data/lib/olefs/objects/receiving_line.rb +22 -52
- data/lib/olefs/pages/invoice.rb +5 -2
- data/lib/olefs/pages/payment_request.rb +0 -39
- data/lib/olefs/pages/purchase_order.rb +1 -11
- data/lib/olefs/pages/receiving_document.rb +1 -11
- data/lib/olefs/pages/requisition.rb +1 -11
- data/lib/olefs/subobjects/accounting_line.rb +16 -16
- data/lib/olefs/subobjects/copies_line.rb +9 -7
- data/lib/olefs/subobjects/exception_notes_line.rb +3 -3
- data/lib/olefs/{objects → subobjects}/invoice_line_item.rb +34 -45
- data/lib/olefs/subobjects/notes_line.rb +5 -5
- data/lib/olefs/subobjects/processing_line.rb +2 -2
- data/lib/olefs/subobjects/receipt_notes_line.rb +2 -2
- data/lib/olels/common/e_doc.rb +0 -17
- data/lib/olels/common/editor.rb +0 -17
- data/lib/olels/objects/access_info_line.rb +4 -4
- data/lib/olels/objects/control_006_line.rb +6 -6
- data/lib/olels/objects/control_007_line.rb +6 -6
- data/lib/olels/objects/data_line.rb +7 -7
- data/lib/olels/objects/editor_note.rb +3 -3
- data/lib/olels/objects/holdings_note.rb +5 -5
- data/lib/olels/objects/item_note.rb +5 -5
- data/lib/olels/objects/ownership_extent_line.rb +6 -16
- data/lib/olels/objects/patron_address_line.rb +33 -33
- data/lib/olels/objects/patron_email_line.rb +10 -10
- data/lib/olels/objects/patron_phone_line.rb +14 -14
- data/lib/olels/pages/bib_editor.rb +3 -44
- data/lib/olels/pages/instance_editor.rb +3 -33
- data/lib/olels/pages/item_editor.rb +1 -13
- data/lib/olels/pages/patron.rb +4 -33
- data/lib/olels/pages/return.rb +1 -0
- data/lib/olels/pages/staff_upload.rb +1 -0
- data/lib/olels/subobjects/ownership_note.rb +4 -4
- data/spec/common/line_object_spec.rb +41 -8
- data/spec/common/subline_object_spec.rb +9 -19
- data/spec/modules/qa_page_helpers_spec.rb +54 -0
- data/spec/olefs/accounting_line_spec.rb +9 -30
- data/spec/olefs/copies_line_spec.rb +1 -16
- data/spec/olefs/exception_notes_line_spec.rb +3 -13
- data/spec/olefs/invoice_current_item_spec.rb +1 -1
- data/spec/olefs/invoice_line_item_spec.rb +5 -5
- data/spec/olefs/invoice_line_spec.rb +2 -2
- data/spec/olefs/invoice_spec.rb +2 -2
- data/spec/olefs/line_item_spec.rb +32 -67
- data/spec/olefs/notes_line_spec.rb +5 -17
- data/spec/olefs/payment_request_spec.rb +1 -43
- data/spec/olefs/processing_line_spec.rb +5 -4
- data/spec/olefs/purap_document_spec.rb +23 -1
- data/spec/olefs/purchase_order_spec.rb +4 -18
- data/spec/olefs/receipt_notes_line_spec.rb +5 -14
- data/spec/olefs/receive_spec.rb +3 -18
- data/spec/olefs/receiving_line_spec.rb +35 -74
- data/spec/olefs/requisition_spec.rb +5 -19
- data/spec/olels/access_info_line_spec.rb +1 -1
- data/spec/olels/bib_editor_spec.rb +8 -56
- data/spec/olels/data_line_spec.rb +2 -2
- data/spec/olels/editor_spec.rb +0 -4
- data/spec/olels/{holdings_note_spec_spec.rb → holdings_note_spec.rb} +1 -1
- data/spec/olels/instance_editor_spec.rb +8 -31
- data/spec/olels/item_editor_spec.rb +4 -14
- data/spec/olels/item_note_spec.rb +2 -2
- data/spec/olels/ownership_extent_line_spec.rb +6 -16
- data/spec/olels/ownership_note_spec.rb +2 -1
- data/spec/olels/patron_address_line_spec.rb +1 -1
- data/spec/olels/patron_email_line_spec.rb +1 -1
- data/spec/olels/patron_phone_line_spec.rb +2 -2
- data/spec/olels/patron_spec.rb +8 -40
- metadata +7 -30
- data/lib/olefs/common/invoice_line_object.rb +0 -37
- data/lib/olefs/common/line_object.rb +0 -39
- data/lib/olefs/objects/new_line_item.rb +0 -48
- data/lib/olefs/objects/new_preq_line_item.rb +0 -43
- data/lib/olefs/objects/new_receiving_line.rb +0 -42
- data/lib/olefs/objects/preq_line_item.rb +0 -68
- data/lib/olefs/pages/payment_request_creation.rb +0 -44
- data/lib/olefs/subobjects/invoice_notes_line.rb +0 -25
- data/lib/olefs/subobjects/new_accounting_line.rb +0 -43
- data/lib/olefs/subobjects/new_copies_line.rb +0 -37
- data/lib/olefs/subobjects/new_exception_notes_line.rb +0 -30
- data/lib/olefs/subobjects/new_invoice_notes_line.rb +0 -35
- data/lib/olefs/subobjects/new_notes_line.rb +0 -36
- data/lib/olefs/subobjects/new_receipt_notes_line.rb +0 -35
- data/lib/olels/common/line_object.rb +0 -39
- data/spec/olefs/invoice_line_object_spec.rb +0 -49
- data/spec/olefs/invoice_notes_line_spec.rb +0 -49
- data/spec/olefs/preq_creation_spec.rb +0 -47
- data/spec/olefs/preq_line_item_spec.rb +0 -111
- data/spec/workflows/purap_spec.rb +0 -221
@@ -1,35 +0,0 @@
|
|
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
|
@@ -1,36 +0,0 @@
|
|
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
|
@@ -1,35 +0,0 @@
|
|
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
|
@@ -1,39 +0,0 @@
|
|
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
|
@@ -1,49 +0,0 @@
|
|
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
|
-
require 'rspec'
|
16
|
-
require 'spec_helper'
|
17
|
-
|
18
|
-
describe 'The OLEFS Invoice Line Object base class' do
|
19
|
-
|
20
|
-
before :all do
|
21
|
-
@ole = OLE_QA::Framework::Session.new
|
22
|
-
@line_object = OLE_QA::Framework::OLEFS::Invoice_Line_Object.new(@ole, 1)
|
23
|
-
end
|
24
|
-
|
25
|
-
after :all do
|
26
|
-
@ole.quit
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'should create a new instance' do
|
30
|
-
@line_object.class.should == OLE_QA::Framework::OLEFS::Invoice_Line_Object
|
31
|
-
@line_object.class.superclass.should == OLE_QA::Framework::Common_Object
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'should have a line_number accessor method' do
|
35
|
-
@line_object.methods.include?(:line_number).should be_true
|
36
|
-
@line_object.methods.include?(:line_number=).should be_true
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'should have a line_id reader method' do
|
40
|
-
@line_object.methods.include?(:line_id).should be_true
|
41
|
-
@line_object.methods.include?(:line_id=).should be_false
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'should set the line ID equal to the line number minus one' do
|
45
|
-
@line_object.line_id.should == 0
|
46
|
-
@line_object.line_number = 2
|
47
|
-
@line_object.line_id.should == 1
|
48
|
-
end
|
49
|
-
end
|
@@ -1,49 +0,0 @@
|
|
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
|
-
require 'rspec'
|
16
|
-
require 'spec_helper'
|
17
|
-
|
18
|
-
describe 'An OLEFS Invoice Notes Line object' do
|
19
|
-
|
20
|
-
before :all do
|
21
|
-
@ole = OLE_QA::Framework::Session.new
|
22
|
-
@browser = @ole.browser
|
23
|
-
@invoice_notes = OLE_QA::Framework::OLEFS::Invoice_Notes_Line.new(@ole, 1, 1)
|
24
|
-
@new_invoice_notes = OLE_QA::Framework::OLEFS::New_Invoice_Notes_Line.new(@ole, 1, 0)
|
25
|
-
end
|
26
|
-
|
27
|
-
after :all do
|
28
|
-
@ole.quit
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'should create a new instance' do
|
32
|
-
@invoice_notes.class.should == OLE_QA::Framework::OLEFS::Invoice_Notes_Line
|
33
|
-
@invoice_notes.class.superclass.should == OLE_QA::Framework::Subline_Object
|
34
|
-
@new_invoice_notes.class.should == OLE_QA::Framework::OLEFS::New_Invoice_Notes_Line
|
35
|
-
@new_invoice_notes.class.superclass.should == OLE_QA::Framework::Subline_Object
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'should have invoice notes line elements' do
|
39
|
-
methods = @invoice_notes.methods
|
40
|
-
methods.include?(:note_field).should be_true
|
41
|
-
methods.include?(:delete_button).should be_true
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'should have new invoice notes line elements' do
|
45
|
-
methods = @new_invoice_notes.methods
|
46
|
-
methods.include?(:note_field).should be_true
|
47
|
-
methods.include?(:add_button).should be_true
|
48
|
-
end
|
49
|
-
end
|
@@ -1,47 +0,0 @@
|
|
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
|
-
require 'rspec'
|
16
|
-
require 'spec_helper'
|
17
|
-
|
18
|
-
describe 'An OLEFS Payment Request Creation page' do
|
19
|
-
|
20
|
-
before :all do
|
21
|
-
@ole = OLE_QA::Framework::Session.new
|
22
|
-
@preq_screen = OLE_QA::Framework::OLEFS::PREQ_Creation.new(@ole)
|
23
|
-
end
|
24
|
-
|
25
|
-
after :all do
|
26
|
-
@ole.quit
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'should create a new instance' do
|
30
|
-
@preq_screen.class.should == OLE_QA::Framework::OLEFS::PREQ_Creation
|
31
|
-
@preq_screen.class.superclass.should == OLE_QA::Framework::OLEFS::E_Doc
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'should have PREQ creation screen elements' do
|
35
|
-
elements = @preq_screen.methods
|
36
|
-
elements.include?(:purchase_order_number_field).should be_true
|
37
|
-
elements.include?(:invoice_number_field).should be_true
|
38
|
-
elements.include?(:invoice_date_field).should be_true
|
39
|
-
elements.include?(:invoice_amount_field).should be_true
|
40
|
-
elements.include?(:special_handling_line_1).should be_true
|
41
|
-
elements.include?(:special_handling_line_2).should be_true
|
42
|
-
elements.include?(:special_handling_line_3).should be_true
|
43
|
-
elements.include?(:foreign_invoice_amount_field).should be_true
|
44
|
-
elements.include?(:continue_button).should be_true
|
45
|
-
elements.include?(:clear_button).should be_true
|
46
|
-
end
|
47
|
-
end
|
@@ -1,111 +0,0 @@
|
|
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
|
-
require 'rspec'
|
16
|
-
require 'spec_helper'
|
17
|
-
|
18
|
-
describe 'An OLEFS Preq Line Item object' do
|
19
|
-
|
20
|
-
before :all do
|
21
|
-
@ole = OLE_QA::Framework::Session.new
|
22
|
-
@browser = @ole.browser
|
23
|
-
@preq_line_item = OLE_QA::Framework::OLEFS::PREQ_Line_Item.new(@ole, 1)
|
24
|
-
@new_preq_line = OLE_QA::Framework::OLEFS::New_PREQ_Line_Item.new(@ole, 1)
|
25
|
-
end
|
26
|
-
|
27
|
-
after :all do
|
28
|
-
@ole.quit
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'should create a new instance' do
|
32
|
-
@preq_line_item.class.should == OLE_QA::Framework::OLEFS::PREQ_Line_Item
|
33
|
-
@preq_line_item.class.superclass.should == OLE_QA::Framework::OLEFS::Line_Object
|
34
|
-
@new_preq_line.class.should == OLE_QA::Framework::OLEFS::New_PREQ_Line_Item
|
35
|
-
@new_preq_line.class.superclass.should == OLE_QA::Framework::OLEFS::Line_Object
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'should have a browser accessor' do
|
39
|
-
@preq_line_item.browser.class.should == @ole.browser.class
|
40
|
-
@new_preq_line.browser.class.should == @ole.browser.class
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'should have a line number of 1' do
|
44
|
-
@preq_line_item.line_number.should == 1
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'should have PREQ line item elements' do
|
48
|
-
methods = @preq_line_item.methods
|
49
|
-
methods.include?(:open_quantity_field).should be_true
|
50
|
-
methods.include?(:po_unit_price_field).should be_true
|
51
|
-
methods.include?(:format_field).should be_true
|
52
|
-
methods.include?(:vendor_item_identifier_field).should be_true
|
53
|
-
methods.include?(:prorated_surcharge_field).should be_true
|
54
|
-
methods.include?(:unit_cost_field).should be_true
|
55
|
-
methods.include?(:extended_cost_field).should be_true
|
56
|
-
methods.include?(:assigned_to_trade_in_field).should be_true
|
57
|
-
methods.include?(:description_field).should be_true
|
58
|
-
methods.include?(:number_of_copies_ordered_field).should be_true
|
59
|
-
methods.include?(:number_of_parts_ordered_field).should be_true
|
60
|
-
methods.include?(:list_price_field).should be_true
|
61
|
-
methods.include?(:discount_field).should be_true
|
62
|
-
methods.include?(:discount_type_selector).should be_true
|
63
|
-
methods.include?(:edit_bib_button).should be_true
|
64
|
-
methods.include?(:delete_button).should be_true
|
65
|
-
methods.include?(:invoice_notes_toggle).should be_true
|
66
|
-
methods.include?(:accounting_lines_toggle).should be_true
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'should have new PREQ line elements' do
|
70
|
-
elements = @new_preq_line.methods
|
71
|
-
elements.include?(:po_unit_price_field).should be_true
|
72
|
-
elements.include?(:format_selector).should be_true
|
73
|
-
elements.include?(:vendor_item_identifier_field).should be_true
|
74
|
-
elements.include?(:number_of_copies_ordered_field).should be_true
|
75
|
-
elements.include?(:number_of_parts_ordered_field).should be_true
|
76
|
-
elements.include?(:list_price_field).should be_true
|
77
|
-
elements.include?(:discount_field).should be_true
|
78
|
-
elements.include?(:discount_type_selector).should be_true
|
79
|
-
elements.include?(:assigned_to_trade_in_checkbox).should be_true
|
80
|
-
elements.include?(:description_field).should be_true
|
81
|
-
elements.include?(:new_bib_button).should be_true
|
82
|
-
elements.include?(:receipt_status_selector).should be_true
|
83
|
-
elements.include?(:add_button).should be_true
|
84
|
-
end
|
85
|
-
|
86
|
-
it 'should have sublines' do
|
87
|
-
@preq_line_item.methods.include?(:new_invoice_notes_line).should be_true
|
88
|
-
@preq_line_item.methods.include?(:new_accounting_line).should be_true
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'should create additional sublines' do
|
92
|
-
@preq_line_item.create_accounting_line(1)
|
93
|
-
@preq_line_item.methods.include?(:accounting_line_1).should be_true
|
94
|
-
@preq_line_item.accounting_line_1.class.should == OLE_QA::Framework::OLEFS::Accounting_Line
|
95
|
-
@preq_line_item.create_invoice_notes_line(1)
|
96
|
-
@preq_line_item.methods.include?(:invoice_notes_line_1).should be_true
|
97
|
-
@preq_line_item.invoice_notes_line_1.class.should == OLE_QA::Framework::OLEFS::Invoice_Notes_Line
|
98
|
-
end
|
99
|
-
|
100
|
-
it 'should remove sublines' do
|
101
|
-
@preq_line_item.remove_accounting_line(1)
|
102
|
-
@preq_line_item.methods.include?(:accounting_line_1).should be_false
|
103
|
-
@preq_line_item.remove_invoice_notes_line(1)
|
104
|
-
@preq_line_item.methods.include?(:invoice_notes_line_1).should be_false
|
105
|
-
end
|
106
|
-
|
107
|
-
it 'should not remove sublines which do not exist' do
|
108
|
-
lambda {@preq_line_item.remove_accounting_line(1)}.should raise_error
|
109
|
-
lambda {@preq_line_item.remove_invoice_notes_line(1)}.should raise_error
|
110
|
-
end
|
111
|
-
end
|
@@ -1,221 +0,0 @@
|
|
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
|
-
require 'rspec'
|
16
|
-
require 'spec_helper'
|
17
|
-
|
18
|
-
describe 'The OLEFS PURAP workflow' do
|
19
|
-
|
20
|
-
before :all do
|
21
|
-
@ole = OLE_QA::Framework::Session.new
|
22
|
-
@requisition = OLE_QA::Framework::OLEFS::Requisition.new(@ole)
|
23
|
-
@purchase_order = OLE_QA::Framework::OLEFS::Purchase_Order.new(@ole)
|
24
|
-
@receiving_doc = OLE_QA::Framework::OLEFS::Receiving_Document.new(@ole)
|
25
|
-
@payment_request = OLE_QA::Framework::OLEFS::Payment_Request.new(@ole)
|
26
|
-
end
|
27
|
-
|
28
|
-
after :all do
|
29
|
-
@ole.quit
|
30
|
-
end
|
31
|
-
|
32
|
-
context "requisition" do
|
33
|
-
|
34
|
-
it 'should open a requisition' do
|
35
|
-
@requisition.open
|
36
|
-
@requisition.title.text.strip.should == "Requisition"
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'should set the description field to PURAP Workflow Test' do
|
40
|
-
@requisition.description_field.set("PURAP Workflow Test")
|
41
|
-
@requisition.description_field.value.should == "PURAP Workflow Test"
|
42
|
-
@requisition.description_field.set("PURAP Workflow Test - #{Time.now}")
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'should set the building to Wells Library, room 100' do
|
46
|
-
@requisition.delivery_tab_toggle.click
|
47
|
-
@requisition.building_search_icon.click
|
48
|
-
building_lookup = OLE_QA::Framework::OLEFS::Building_Lookup.new(@ole)
|
49
|
-
building_lookup.wait_for_page_to_load
|
50
|
-
building_lookup.building_name_field.set("Wells Library")
|
51
|
-
building_lookup.search_button.click
|
52
|
-
building_lookup.browser.a(:xpath => "//td[contains(text(),'Wells Library')]/preceding-sibling::td[3]/a").click
|
53
|
-
@requisition.room_field.set("100")
|
54
|
-
@requisition.building_field.text.strip.should == "Wells Library"
|
55
|
-
@requisition.room_field.value.strip.should == "100"
|
56
|
-
@requisition.delivery_tab_toggle.click
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'should set the vendor to YBP' do
|
60
|
-
@requisition.vendor_tab_toggle.click
|
61
|
-
@requisition.vendor_search_icon.click
|
62
|
-
vendor_lookup = OLE_QA::Framework::OLEFS::Vendor_Lookup.new(@ole)
|
63
|
-
vendor_lookup.wait_for_page_to_load
|
64
|
-
vendor_lookup.vendor_name_field.set("YBP")
|
65
|
-
vendor_lookup.search_button.click
|
66
|
-
vendor_lookup.browser.a(:xpath => "//td[a[contains(text(),'YBP Library Services')]]/preceding-sibling::td[1]/a").click
|
67
|
-
@requisition.closed_vendor_name_field.text.strip.should == "YBP Library Services"
|
68
|
-
end
|
69
|
-
|
70
|
-
it 'should create a Bib Record' do
|
71
|
-
@requisition.new_line_item.new_bib_button.click
|
72
|
-
@ole.browser.windows[-1].use
|
73
|
-
bib_editor = OLE_QA::Framework::OLELS::Bib_Editor.new(@ole)
|
74
|
-
bib_editor.wait_for_page_to_load
|
75
|
-
bib_editor.control_008_link.click
|
76
|
-
bib_editor.control_008_field.present?.should be_true
|
77
|
-
bib_editor.control_008_field.set("HELLOWORLD")
|
78
|
-
bib_editor.control_008_field.value.should == "HELLOWORLD"
|
79
|
-
bib_editor.data_line_1.tag_field.set("245")
|
80
|
-
bib_editor.data_line_1.data_field.set("|aTitle of Book")
|
81
|
-
bib_editor.data_line_1.tag_field.value.should == "245"
|
82
|
-
bib_editor.data_line_1.data_field.value.should == "|aTitle of Book"
|
83
|
-
bib_editor.set_button.click
|
84
|
-
bib_editor.leader_field.value.should_not be_empty
|
85
|
-
bib_editor.submit_button.click
|
86
|
-
bib_editor.message.text.include?("successfully created").should be_true
|
87
|
-
bib_editor.close_button.click
|
88
|
-
@ole.browser.windows[0].use
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'should add the line item' do
|
92
|
-
@requisition.new_line_item.list_price_field.set("235")
|
93
|
-
@requisition.new_line_item.add_button.click
|
94
|
-
@requisition.add_line_item(1)
|
95
|
-
@requisition.line_item_1.list_price_field.value.should == "235.00"
|
96
|
-
@requisition.line_item_1.description_field.text.strip.should == "Title of Book"
|
97
|
-
end
|
98
|
-
|
99
|
-
it 'should add an accounting line' do
|
100
|
-
@requisition.line_item_1.accounting_lines_toggle.click
|
101
|
-
@requisition.line_item_1.new_accounting_line.chart_selector.wait_until_present
|
102
|
-
@requisition.line_item_1.new_accounting_line.chart_selector.select("BL")
|
103
|
-
@requisition.line_item_1.new_accounting_line.account_number_field.set("2947494")
|
104
|
-
@requisition.line_item_1.new_accounting_line.object_field.set("7112")
|
105
|
-
@requisition.line_item_1.new_accounting_line.percent_field.set("100.00")
|
106
|
-
@requisition.line_item_1.new_accounting_line.add_button.click
|
107
|
-
@requisition.line_item_1.add_accounting_line(1)
|
108
|
-
@requisition.line_item_1.accounting_line_1.chart_selector.wait_until_present
|
109
|
-
@requisition.line_item_1.accounting_line_1.chart_selector.value.should == "BL"
|
110
|
-
@requisition.line_item_1.accounting_line_1.account_number_field.value.should == "2947494"
|
111
|
-
@requisition.line_item_1.accounting_line_1.object_field.value.should == "7112"
|
112
|
-
@requisition.line_item_1.accounting_line_1.percent_field.value.should == "100.00"
|
113
|
-
end
|
114
|
-
|
115
|
-
it 'should set the additional info phone number' do
|
116
|
-
@requisition.additional_info_tab_toggle.click
|
117
|
-
@requisition.additional_info_phone_number_field.set("812-555-5555")
|
118
|
-
@requisition.additional_info_phone_number_field.value.should == "812-555-5555"
|
119
|
-
@requisition.additional_info_tab_toggle.click
|
120
|
-
end
|
121
|
-
|
122
|
-
it 'should submit the requisition' do
|
123
|
-
@requisition.submit_button.click
|
124
|
-
@requisition.wait_for_page_to_load
|
125
|
-
@requisition.generic_message.wait_until_present
|
126
|
-
@requisition.submit_message.present?.should be_true
|
127
|
-
end
|
128
|
-
|
129
|
-
it 'should go to final status' do
|
130
|
-
sleep 15
|
131
|
-
@requisition.reload_button.click
|
132
|
-
@requisition.wait_for_page_to_load
|
133
|
-
outcome = @requisition.document_status.text.strip
|
134
|
-
outcome.should == "FINAL"
|
135
|
-
end
|
136
|
-
|
137
|
-
it 'should have a related PO' do
|
138
|
-
@requisition.view_related_tab_toggle.click
|
139
|
-
@requisition.view_related_po_link.wait_until_present
|
140
|
-
@requisition.view_related_po_link.href.should_not be_empty
|
141
|
-
end
|
142
|
-
|
143
|
-
after :all do
|
144
|
-
@ole.browser.goto(@requisition.view_related_po_link.href)
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
context "purchase order" do
|
149
|
-
|
150
|
-
it 'should create a new purchase order' do
|
151
|
-
@purchase_order = OLE_QA::Framework::OLEFS::Purchase_Order.new(@ole)
|
152
|
-
end
|
153
|
-
|
154
|
-
it 'should wait for the purchase order to load' do
|
155
|
-
@purchase_order.wait_for_page_to_load
|
156
|
-
end
|
157
|
-
|
158
|
-
it 'should be a purchase order' do
|
159
|
-
@purchase_order.title.text.strip.should == "Purchase Order"
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
context "receive and pay" do
|
164
|
-
before :all do
|
165
|
-
@po_number = @purchase_order.document_type_id.text.strip
|
166
|
-
@po_total = @purchase_order.grand_total_field.text.strip
|
167
|
-
end
|
168
|
-
|
169
|
-
it 'should receive the purchase order' do
|
170
|
-
@purchase_order.receiving_button.click
|
171
|
-
@receiving_doc.wait_for_page_to_load
|
172
|
-
end
|
173
|
-
|
174
|
-
it 'should fill in the receiving document' do
|
175
|
-
@receiving_doc.create_receiving_line(1)
|
176
|
-
@receiving_doc.receiving_line_1.item_received_quantity_field.value.should == "1"
|
177
|
-
@receiving_doc.receiving_line_1.item_received_parts_field.value.should == "1"
|
178
|
-
end
|
179
|
-
|
180
|
-
it 'should submit the receiving document' do
|
181
|
-
@receiving_doc.submit_button.click
|
182
|
-
@receiving_doc.wait_for_page_to_load
|
183
|
-
@receiving_doc.submit_message.present?.should be_true
|
184
|
-
end
|
185
|
-
|
186
|
-
it 'should create a payment request' do
|
187
|
-
preq_creation_screen = OLE_QA::Framework::OLEFS::PREQ_Creation.new(@ole)
|
188
|
-
preq_creation_screen.open
|
189
|
-
preq_creation_screen.purchase_order_number_field.set(@po_number)
|
190
|
-
preq_creation_screen.purchase_order_number_field.value.strip.should == @po_number
|
191
|
-
foo = Time.now.strftime("%m/%d/%y")
|
192
|
-
preq_creation_screen.invoice_date_field.set(foo)
|
193
|
-
preq_creation_screen.invoice_date_field.value.strip.should == foo
|
194
|
-
bar = Array.new(12){rand(36).to_s(36)}.join
|
195
|
-
preq_creation_screen.invoice_number_field.set(bar)
|
196
|
-
preq_creation_screen.invoice_number_field.value.strip.should == bar
|
197
|
-
preq_creation_screen.invoice_amount_field.set(@po_total)
|
198
|
-
preq_creation_screen.invoice_amount_field.value.strip.should == @po_total
|
199
|
-
preq_creation_screen.continue_button.click
|
200
|
-
end
|
201
|
-
|
202
|
-
it 'should open the payment request' do
|
203
|
-
@payment_request.wait_for_page_to_load
|
204
|
-
@payment_request.title.text.strip.should == "Payment Request"
|
205
|
-
end
|
206
|
-
|
207
|
-
it 'should set the payment method to be used' do
|
208
|
-
@payment_request.payment_method_selector.select("Check")
|
209
|
-
@payment_request.payment_method_selector.selected?("Check").should be_true
|
210
|
-
end
|
211
|
-
|
212
|
-
it 'should calculate the payment request' do
|
213
|
-
@payment_request.calculate_button.click
|
214
|
-
end
|
215
|
-
|
216
|
-
it 'should blanket approve the payment request' do
|
217
|
-
@payment_request.approve_button.click
|
218
|
-
@ole.browser.title.should == "Kuali Portal Index"
|
219
|
-
end
|
220
|
-
end
|
221
|
-
end
|