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.
Files changed (123) hide show
  1. data/CHANGELOG.md +882 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +45 -0
  4. data/LICENSE.md +14 -0
  5. data/README.md +17 -0
  6. data/Rakefile.rb +25 -0
  7. data/examples/README.md +57 -0
  8. data/examples/create_bib_record.rb +64 -0
  9. data/examples/create_requisition.rb +96 -0
  10. data/examples/purap_workflow_test.rb +185 -0
  11. data/lib/common/common_object.rb +57 -0
  12. data/lib/common/data_object.rb +21 -0
  13. data/lib/common/line_object.rb +44 -0
  14. data/lib/common/page.rb +72 -0
  15. data/lib/common/subline_object.rb +47 -0
  16. data/lib/config/default_options.yml +7 -0
  17. data/lib/docstore/docstore.rb +13 -0
  18. data/lib/module/qa_data_helpers.rb +17 -0
  19. data/lib/module/qa_helpers.rb +153 -0
  20. data/lib/module/qa_page_helpers.rb +33 -0
  21. data/lib/ole-qa-framework.rb +178 -0
  22. data/lib/ole_qa_framework/COMPATIBILITY.rb +20 -0
  23. data/lib/ole_qa_framework/VERSION.rb +20 -0
  24. data/lib/olefs/common/e_doc.rb +79 -0
  25. data/lib/olefs/common/line_object.rb +39 -0
  26. data/lib/olefs/common/lookup.rb +30 -0
  27. data/lib/olefs/common/purap_document.rb +73 -0
  28. data/lib/olefs/objects/line_item.rb +105 -0
  29. data/lib/olefs/objects/new_line_item.rb +44 -0
  30. data/lib/olefs/objects/new_preq_line_item.rb +43 -0
  31. data/lib/olefs/objects/new_receiving_line.rb +42 -0
  32. data/lib/olefs/objects/preq_line_item.rb +68 -0
  33. data/lib/olefs/objects/receiving_line.rb +88 -0
  34. data/lib/olefs/pages/building_lookup.rb +36 -0
  35. data/lib/olefs/pages/main_menu.rb +23 -0
  36. data/lib/olefs/pages/payment_request.rb +67 -0
  37. data/lib/olefs/pages/payment_request_creation.rb +44 -0
  38. data/lib/olefs/pages/purchase_order.rb +68 -0
  39. data/lib/olefs/pages/receiving_document.rb +49 -0
  40. data/lib/olefs/pages/requisition.rb +61 -0
  41. data/lib/olefs/pages/vendor_lookup.rb +40 -0
  42. data/lib/olefs/subobjects/accounting_line.rb +46 -0
  43. data/lib/olefs/subobjects/copies_line.rb +32 -0
  44. data/lib/olefs/subobjects/exception_notes_line.rb +26 -0
  45. data/lib/olefs/subobjects/invoice_notes_line.rb +25 -0
  46. data/lib/olefs/subobjects/new_accounting_line.rb +43 -0
  47. data/lib/olefs/subobjects/new_copies_line.rb +37 -0
  48. data/lib/olefs/subobjects/new_exception_notes_line.rb +30 -0
  49. data/lib/olefs/subobjects/new_invoice_notes_line.rb +35 -0
  50. data/lib/olefs/subobjects/new_notes_line.rb +36 -0
  51. data/lib/olefs/subobjects/new_receipt_notes_line.rb +35 -0
  52. data/lib/olefs/subobjects/notes_line.rb +29 -0
  53. data/lib/olefs/subobjects/processing_line.rb +24 -0
  54. data/lib/olefs/subobjects/receipt_notes_line.rb +25 -0
  55. data/lib/olels/common/e_doc.rb +23 -0
  56. data/lib/olels/common/editor.rb +92 -0
  57. data/lib/olels/common/line_object.rb +39 -0
  58. data/lib/olels/common/lookup.rb +30 -0
  59. data/lib/olels/objects/access_info_line.rb +25 -0
  60. data/lib/olels/objects/data_line.rb +31 -0
  61. data/lib/olels/objects/editor_note.rb +79 -0
  62. data/lib/olels/objects/holdings_note.rb +26 -0
  63. data/lib/olels/objects/item_note.rb +26 -0
  64. data/lib/olels/objects/ownership_extent_line.rb +40 -0
  65. data/lib/olels/pages/bib_editor.rb +63 -0
  66. data/lib/olels/pages/describe_workbench.rb +42 -0
  67. data/lib/olels/pages/instance_editor.rb +80 -0
  68. data/lib/olels/pages/item_editor.rb +91 -0
  69. data/lib/olels/pages/loan.rb +102 -0
  70. data/lib/olels/pages/main_menu.rb +31 -0
  71. data/lib/olels/pages/patron_lookup.rb +44 -0
  72. data/lib/olels/pages/return.rb +64 -0
  73. data/lib/olels/subobjects/ownership_note.rb +26 -0
  74. data/ole-qa-framework.gemspec +30 -0
  75. data/pkg/ole-qa-framework-2.1.0.gem +0 -0
  76. data/spec/common/browser_spec.rb +37 -0
  77. data/spec/common/data_object_spec.rb +37 -0
  78. data/spec/common/line_object_spec.rb +49 -0
  79. data/spec/common/page_spec.rb +44 -0
  80. data/spec/common/subline_object_spec.rb +54 -0
  81. data/spec/modules/qa_helpers_spec.rb +55 -0
  82. data/spec/modules/qa_page_helpers_spec.rb +43 -0
  83. data/spec/olefs/accounting_line_spec.rb +85 -0
  84. data/spec/olefs/building_lookup_spec.rb +45 -0
  85. data/spec/olefs/copies_line_spec.rb +70 -0
  86. data/spec/olefs/edocs_spec.rb +75 -0
  87. data/spec/olefs/exception_notes_line_spec.rb +52 -0
  88. data/spec/olefs/invoice_notes_line_spec.rb +45 -0
  89. data/spec/olefs/line_item_spec.rb +155 -0
  90. data/spec/olefs/lookup_spec.rb +44 -0
  91. data/spec/olefs/main_menu_spec.rb +34 -0
  92. data/spec/olefs/notes_line_spec.rb +65 -0
  93. data/spec/olefs/patron_lookup_spec.rb +54 -0
  94. data/spec/olefs/payment_request_spec.rb +85 -0
  95. data/spec/olefs/preq_creation_spec.rb +43 -0
  96. data/spec/olefs/preq_line_item_spec.rb +111 -0
  97. data/spec/olefs/processing_line_spec.rb +44 -0
  98. data/spec/olefs/purap_document_spec.rb +58 -0
  99. data/spec/olefs/purchase_order_spec.rb +77 -0
  100. data/spec/olefs/receipt_notes_line_spec.rb +54 -0
  101. data/spec/olefs/receive_spec.rb +66 -0
  102. data/spec/olefs/receiving_line_spec.rb +125 -0
  103. data/spec/olefs/requisition_spec.rb +83 -0
  104. data/spec/olefs/vendor_lookup_spec.rb +49 -0
  105. data/spec/olels/access_info_line_spec.rb +40 -0
  106. data/spec/olels/bib_editor_spec.rb +84 -0
  107. data/spec/olels/data_line_spec.rb +44 -0
  108. data/spec/olels/describe_workbench_spec.rb +44 -0
  109. data/spec/olels/editor_spec.rb +56 -0
  110. data/spec/olels/edocs_spec.rb +42 -0
  111. data/spec/olels/holdings_note_spec_spec.rb +41 -0
  112. data/spec/olels/instance_editor_spec.rb +81 -0
  113. data/spec/olels/item_editor_spec.rb +94 -0
  114. data/spec/olels/item_note_spec.rb +41 -0
  115. data/spec/olels/loan_spec.rb +104 -0
  116. data/spec/olels/lookup_spec.rb +38 -0
  117. data/spec/olels/main_menu_spec.rb +35 -0
  118. data/spec/olels/ownership_extent_line_spec.rb +58 -0
  119. data/spec/olels/ownership_note_spec.rb +41 -0
  120. data/spec/olels/return_spec.rb +72 -0
  121. data/spec/spec_helper.rb +21 -0
  122. data/spec/workflows/purap_spec.rb +221 -0
  123. metadata +313 -0
@@ -0,0 +1,54 @@
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 'A Patron Lookup page' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @patron_lookup = OLE_QA::Framework::OLELS::Patron_Lookup.new(@ole)
23
+ end
24
+
25
+ after :all do
26
+ @ole.quit
27
+ end
28
+
29
+ it 'should create a new instance' do
30
+ @patron_lookup.class.should == OLE_QA::Framework::OLELS::Patron_Lookup
31
+ @patron_lookup.class.superclass.should == OLE_QA::Framework::OLELS::Lookup
32
+ end
33
+
34
+ it 'should open the Patron Lookup screen via URL' do
35
+ @patron_lookup.open
36
+ @patron_lookup.title.text.should == "Patron"
37
+ end
38
+
39
+ it 'should have patron lookup elements' do
40
+ elements = @patron_lookup.elements
41
+ elements.include?(:patron_id_field).should be_true
42
+ elements.include?(:barcode_field).should be_true
43
+ elements.include?(:first_name_field).should be_true
44
+ elements.include?(:last_name_field).should be_true
45
+ elements.include?(:borrower_type_selector).should be_true
46
+ elements.include?(:email_address_field).should be_true
47
+ elements.include?(:search_button).should be_true
48
+ elements.include?(:clear_button).should be_true
49
+ elements.include?(:cancel_button).should be_true
50
+ elements.include?(:active_yes_button).should be_true
51
+ elements.include?(:active_no_button).should be_true
52
+ elements.include?(:active_both_button).should be_true
53
+ end
54
+ end
@@ -0,0 +1,85 @@
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 page' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @browser = @ole.browser
23
+ @preq = OLE_QA::Framework::OLEFS::Payment_Request.new(@ole)
24
+ end
25
+
26
+ after :all do
27
+ @ole.quit
28
+ end
29
+
30
+ it 'should create a new instance' do
31
+ @preq.class.should == OLE_QA::Framework::OLEFS::Payment_Request
32
+ @preq.class.superclass.should == OLE_QA::Framework::OLEFS::PURAP_Document
33
+ end
34
+
35
+ it 'should open a new PREQ document via URL' do
36
+ @preq.open
37
+ @preq.title.text.strip.should == "Payment Request"
38
+ end
39
+
40
+ it 'should have payment request elements' do
41
+ elements = @preq.methods
42
+ elements.include?(:invoice_number_field).should be_true
43
+ elements.include?(:pay_date_field).should be_true
44
+ elements.include?(:invoice_date_field).should be_true
45
+ elements.include?(:immediate_pay_checkbox).should be_true
46
+ elements.include?(:payment_attachment_checkbox).should be_true
47
+ elements.include?(:invoice_type_field).should be_true
48
+ elements.include?(:invoice_subtype_field).should be_true
49
+ elements.include?(:payment_method_selector).should be_true
50
+ elements.include?(:grand_total_field).should be_true
51
+ elements.include?(:additional_charges_toggle).should be_true
52
+ elements.include?(:freight_extended_cost_field).should be_true
53
+ elements.include?(:freight_description_field).should be_true
54
+ elements.include?(:shipping_handling_extended_cost_field).should be_true
55
+ elements.include?(:shipping_handling_description_field).should be_true
56
+ elements.include?(:minimum_order_extended_cost_field).should be_true
57
+ elements.include?(:minimum_order_description_field).should be_true
58
+ elements.include?(:misc_overhead_extended_cost_field).should be_true
59
+ elements.include?(:misc_overhead_description_field).should be_true
60
+ elements.include?(:prorate_by_quantity_checkbox).should be_true
61
+ elements.include?(:prorate_by_dollar_checkbox).should be_true
62
+ elements.include?(:prorate_manual_checkbox).should be_true
63
+ elements.include?(:close_po_checkbox).should be_true
64
+ end
65
+
66
+ it 'should have a new line item' do
67
+ @preq.methods.include?(:new_line_item).should be_true
68
+ @preq.new_line_item.class.should == OLE_QA::Framework::OLEFS::New_PREQ_Line_Item
69
+ end
70
+
71
+ it 'should create a line item' do
72
+ @preq.create_line_item(1)
73
+ @preq.methods.include?(:line_item_1).should be_true
74
+ @preq.line_item_1.class.should == OLE_QA::Framework::OLEFS::PREQ_Line_Item
75
+ end
76
+
77
+ it 'should remove a line item' do
78
+ @preq.remove_line_item(1)
79
+ @preq.methods.include?(:line_item_1).should be_false
80
+ end
81
+
82
+ it 'should raise an error when asked to remove a line item which does not exist' do
83
+ lambda {@preq.remove_line_item(1)}.should raise_error
84
+ end
85
+ 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
+ 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
+ it 'should create a new instance' do
26
+ @preq_screen.class.should == OLE_QA::Framework::OLEFS::PREQ_Creation
27
+ @preq_screen.class.superclass.should == OLE_QA::Framework::OLEFS::E_Doc
28
+ end
29
+
30
+ it 'should have PREQ creation screen elements' do
31
+ elements = @preq_screen.methods
32
+ elements.include?(:purchase_order_number_field).should be_true
33
+ elements.include?(:invoice_number_field).should be_true
34
+ elements.include?(:invoice_date_field).should be_true
35
+ elements.include?(:invoice_amount_field).should be_true
36
+ elements.include?(:special_handling_line_1).should be_true
37
+ elements.include?(:special_handling_line_2).should be_true
38
+ elements.include?(:special_handling_line_3).should be_true
39
+ elements.include?(:foreign_invoice_amount_field).should be_true
40
+ elements.include?(:continue_button).should be_true
41
+ elements.include?(:clear_button).should be_true
42
+ end
43
+ end
@@ -0,0 +1,111 @@
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
@@ -0,0 +1,44 @@
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 Processing Line object' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @browser = @ole.browser
23
+ @processing_line = OLE_QA::Framework::OLEFS::Processing_Line.new(@ole, 1, 1)
24
+ end
25
+
26
+ after :all do
27
+ @ole.quit
28
+ end
29
+
30
+ it 'should create a new instance' do
31
+ @processing_line.class.should == OLE_QA::Framework::OLEFS::Processing_Line
32
+ @processing_line.class.superclass.should == OLE_QA::Framework::Subline_Object
33
+ end
34
+
35
+ it 'should have a browser accessor' do
36
+ @processing_line.browser.class.should == @ole.browser.class
37
+ end
38
+
39
+ it 'should have processing line elements' do
40
+ methods = @processing_line.methods
41
+ methods.include?(:note_field).should be_true
42
+ methods.include?(:acknowledge_checkbox).should be_true
43
+ end
44
+ end
@@ -0,0 +1,58 @@
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 Purap Document page' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @purap_document = OLE_QA::Framework::OLEFS::PURAP_Document.new(@ole, @ole.base_url)
23
+ end
24
+
25
+ after :all do
26
+ @ole.quit
27
+ end
28
+
29
+ it 'should create a new instance' do
30
+ @purap_document.class.should == OLE_QA::Framework::OLEFS::PURAP_Document
31
+ @purap_document.class.superclass.should == OLE_QA::Framework::OLEFS::E_Doc
32
+ end
33
+
34
+ it 'should have PURAP document elements' do
35
+ elements = @purap_document.methods
36
+ elements.include?(:view_related_tab_toggle).should be_true
37
+ elements.include?(:view_related_po_link).should be_true
38
+ elements.include?(:view_related_requisition_link).should be_true
39
+ elements.include?(:delivery_tab_toggle).should be_true
40
+ elements.include?(:building_field).should be_true
41
+ elements.include?(:campus_field).should be_true
42
+ elements.include?(:closed_room_field).should be_true
43
+ elements.include?(:closed_building_field).should be_true
44
+ elements.include?(:closed_campus_field).should be_true
45
+ elements.include?(:closed_address_1_field).should be_true
46
+ elements.include?(:closed_address_2_field).should be_true
47
+ elements.include?(:closed_city_field).should be_true
48
+ elements.include?(:closed_state_field).should be_true
49
+ elements.include?(:closed_postal_code_field).should be_true
50
+ elements.include?(:closed_country_field).should be_true
51
+ elements.include?(:closed_delivery_to_field).should be_true
52
+ elements.include?(:closed_delivery_phone_number_field).should be_true
53
+ elements.include?(:closed_email_field).should be_true
54
+ elements.include?(:route_log_tab_toggle).should be_true
55
+ elements.include?(:vendor_tab_toggle).should be_true
56
+ elements.include?(:closed_vendor_name_field).should be_true
57
+ end
58
+ end
@@ -0,0 +1,77 @@
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 Purchase Order' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @purchase_order = OLE_QA::Framework::OLEFS::Purchase_Order.new(@ole)
23
+ end
24
+
25
+ after :all do
26
+ @ole.quit
27
+ end
28
+
29
+ it 'should create a new instance' do
30
+ @purchase_order.class.should == OLE_QA::Framework::OLEFS::Purchase_Order
31
+ @purchase_order.class.superclass.should == OLE_QA::Framework::OLEFS::PURAP_Document
32
+ end
33
+
34
+ it 'should have purchase order elements' do
35
+ elements = @purchase_order.methods
36
+ elements.include?(:additional_info_tab_toggle).should be_true
37
+ elements.include?(:additional_info_phone_number_field).should be_true
38
+ elements.include?(:delivery_tab_toggle).should be_true
39
+ elements.include?(:building_field).should be_true
40
+ elements.include?(:campus_field).should be_true
41
+ elements.include?(:room_field).should be_true
42
+ elements.include?(:building_search_icon).should be_true
43
+ elements.include?(:campus_search_icon).should be_true
44
+ elements.include?(:delivery_phone_number_field).should be_true
45
+ elements.include?(:vendor_tab_toggle).should be_true
46
+ elements.include?(:vendor_name_field).should be_true
47
+ elements.include?(:closed_vendor_name_field).should be_true
48
+ elements.include?(:vendor_search_icon).should be_true
49
+ elements.include?(:grand_total_field).should be_true
50
+ elements.include?(:sensitive_data_button).should be_true
51
+ elements.include?(:payment_hold_button).should be_true
52
+ elements.include?(:amend_button).should be_true
53
+ elements.include?(:void_order_button).should be_true
54
+ elements.include?(:receiving_button).should be_true
55
+ elements.include?(:print_button).should be_true
56
+ elements.include?(:send_ad_hoc_button).should be_true
57
+ end
58
+
59
+ it 'should have a new line item' do
60
+ @purchase_order.new_line_item.class.should == OLE_QA::Framework::OLEFS::New_Line_Item
61
+ end
62
+
63
+ it 'should create a line item' do
64
+ @purchase_order.create_line_item(1)
65
+ @purchase_order.methods.include?(:line_item_1).should be_true
66
+ @purchase_order.line_item_1.class.should == OLE_QA::Framework::OLEFS::Line_Item
67
+ end
68
+
69
+ it 'should delete a line item' do
70
+ @purchase_order.remove_line_item(1)
71
+ @purchase_order.methods.include?(:line_item_1).should be_false
72
+ end
73
+
74
+ it 'should not delete a line item which does not exist' do
75
+ lambda {@purchase_order.remove_line_item(1)}.should raise_error
76
+ end
77
+ end