ole-qa-framework 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,49 @@
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
+
19
+ describe 'A Line Object' do
20
+
21
+ before :all do
22
+ @ole = OLE_QA::Framework::Session.new
23
+ @line_object = OLE_QA::Framework::Line_Object.new(@ole, 1)
24
+ end
25
+
26
+ after :all do
27
+ @ole.quit
28
+ end
29
+
30
+ it 'should create a new instance' do
31
+ @line_object.class.should == OLE_QA::Framework::Line_Object
32
+ end
33
+
34
+ it 'should be a subclass of data object' do
35
+ @line_object.class.superclass.should == OLE_QA::Framework::Data_Object
36
+ end
37
+
38
+ it 'should have a browser accessor' do
39
+ @line_object.browser.class.should == @ole.browser.class
40
+ end
41
+
42
+ it 'should have a line number' do
43
+ @line_object.line_number.should == 1
44
+ end
45
+
46
+ it 'should have a line id' do
47
+ @line_object.line_id.should == 0
48
+ end
49
+ 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
+
19
+ describe "A Page" do
20
+
21
+ before :all do
22
+ @ole = OLE_QA::Framework::Session.new
23
+ @page = OLE_QA::Framework::Page.new(@ole, @ole.base_url)
24
+ end
25
+
26
+ it "should open via url" do
27
+ @page.open
28
+ @ole.browser.title.should == "Kuali Portal Index"
29
+ end
30
+
31
+ it 'should have a browser accessor' do
32
+ @page.browser.class.should == @ole.browser.class
33
+ end
34
+
35
+ it 'should have a URL attribute' do
36
+ @page.url.should == @ole.base_url
37
+ end
38
+
39
+ it 'should set a frame element on the browser if one is present' do
40
+ @page.browser.link(:text => "Requisition").click
41
+ @page.browser.class.should == Watir::Frame
42
+ end
43
+
44
+ end
@@ -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 Subline Object' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @line_num = 1
23
+ @subline_num = 1
24
+ @subline = OLE_QA::Framework::Subline_Object.new(@ole, @line_num, @subline_num)
25
+ end
26
+
27
+ after :all do
28
+ @ole.quit
29
+ end
30
+
31
+ it 'should create a new instance' do
32
+ @subline.class.should == OLE_QA::Framework::Subline_Object
33
+ end
34
+
35
+ it 'should be a subclass of data object' do
36
+ @subline.class.superclass.should == OLE_QA::Framework::Data_Object
37
+ end
38
+
39
+ it 'should have a line number' do
40
+ @subline.line_number.should == 1
41
+ end
42
+
43
+ it 'should have a line id' do
44
+ @subline.line_id.should == 0
45
+ end
46
+
47
+ it 'should have a subline number' do
48
+ @subline.subline_number.should == 1
49
+ end
50
+
51
+ it 'should have a subline id' do
52
+ @subline.subline_id.should == 0
53
+ end
54
+ end
@@ -0,0 +1,55 @@
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 Helpers module' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+
23
+ class TestObject
24
+ include OLE_QA::Framework::Helpers
25
+ def initialize(ole_session)
26
+ make_accessor(:foo)
27
+ @foo = "foo"
28
+ make_reader(:plugh)
29
+ @plugh = "plugh"
30
+ make_writer(:xyzzy)
31
+ @xyzzy = ""
32
+ end
33
+ def give_xyzzy
34
+ @xyzzy
35
+ end
36
+ end
37
+
38
+ @test_object = TestObject.new(@ole)
39
+ end
40
+
41
+ it 'should do create an accessor attribute' do
42
+ @test_object.foo.should == "foo"
43
+ @test_object.foo = "foo bar baz"
44
+ @test_object.foo.should == "foo bar baz"
45
+ end
46
+
47
+ it 'should create a reader attribute' do
48
+ @test_object.plugh.should == "plugh"
49
+ end
50
+
51
+ it 'should create a writer attribute' do
52
+ @test_object.xyzzy = "xyzzy"
53
+ @test_object.give_xyzzy.should == "xyzzy"
54
+ end
55
+ 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 'The Helpers module' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @fs_page = OLE_QA::Framework::Page.new(@ole, @ole.fs_url)
23
+ @ls_page = OLE_QA::Framework::Page.new(@ole, @ole.ls_url)
24
+ end
25
+
26
+ it 'should be able to login to OLEFS' do
27
+ @fs_page.open
28
+ @fs_page.login("ole-abeal").should be_true
29
+ end
30
+
31
+ it 'should be able to logout from OLEFS' do
32
+ @fs_page.logout.should be_true
33
+ end
34
+
35
+ it 'should be able to login to OLELS' do
36
+ @ls_page.open
37
+ @ls_page.login("dev2").should be_true
38
+ end
39
+
40
+ it 'should be able to logout from OLELS' do
41
+ @ls_page.logout.should be_true
42
+ end
43
+ 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 accounting line' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @accounting_line = OLE_QA::Framework::OLEFS::Accounting_Line.new(@ole, 1, 1)
23
+ @new_accounting_line = OLE_QA::Framework::OLEFS::New_Accounting_Line.new(@ole, 1, 0)
24
+ end
25
+
26
+ after :all do
27
+ @ole.quit
28
+ end
29
+
30
+ it 'should create a new instance' do
31
+ @accounting_line.class.should == OLE_QA::Framework::OLEFS::Accounting_Line
32
+ @new_accounting_line.class.should == OLE_QA::Framework::OLEFS::New_Accounting_Line
33
+ end
34
+
35
+ it 'should be a subclass of subline object' do
36
+ @accounting_line.class.superclass.should == OLE_QA::Framework::Subline_Object
37
+ @new_accounting_line.class.superclass.should == OLE_QA::Framework::Subline_Object
38
+ end
39
+
40
+ it 'should have a browser accessor' do
41
+ @accounting_line.browser.class.should == @ole.browser.class
42
+ @new_accounting_line.browser.class.should == @ole.browser.class
43
+ end
44
+
45
+ it 'should have line number attributes' do
46
+ @accounting_line.line_number.should == 1
47
+ @accounting_line.subline_number.should == 1
48
+ @new_accounting_line.line_number.should == 1
49
+ @new_accounting_line.subline_number.should == 0
50
+ end
51
+
52
+ it 'should have accounting line elements' do
53
+ methods_array = @accounting_line.methods
54
+ methods_array.include?(:account_number_field).should be_true
55
+ methods_array.include?(:sub_account_number_field).should be_true
56
+ methods_array.include?(:object_field).should be_true
57
+ methods_array.include?(:sub_object_field).should be_true
58
+ methods_array.include?(:project_field).should be_true
59
+ methods_array.include?(:org_ref_id_field).should be_true
60
+ methods_array.include?(:dollar_field).should be_true
61
+ methods_array.include?(:percent_field).should be_true
62
+ methods_array.include?(:chart_selector).should be_true
63
+ methods_array.include?(:delete_button).should be_true
64
+ methods_array.include?(:balance_inquiry_button).should be_true
65
+ methods_array.include?(:closed_chart_field).should be_true
66
+ methods_array.include?(:closed_account_number_field).should be_true
67
+ methods_array.include?(:closed_object_field).should be_true
68
+ methods_array.include?(:closed_dollar_field).should be_true
69
+ methods_array.include?(:closed_percent_field).should be_true
70
+ end
71
+
72
+ it 'should have new accounting line elements' do
73
+ methods = @new_accounting_line.methods
74
+ methods.include?(:chart_selector).should be_true
75
+ methods.include?(:account_number_field).should be_true
76
+ methods.include?(:sub_account_number_field).should be_true
77
+ methods.include?(:object_field).should be_true
78
+ methods.include?(:sub_object_field).should be_true
79
+ methods.include?(:project_field).should be_true
80
+ methods.include?(:org_ref_id_field).should be_true
81
+ methods.include?(:dollar_field).should be_true
82
+ methods.include?(:percent_field).should be_true
83
+ methods.include?(:add_button).should be_true
84
+ end
85
+ end
@@ -0,0 +1,45 @@
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 Building Lookup page' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @building_lookup = OLE_QA::Framework::OLEFS::Building_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
+ @building_lookup.class.should == OLE_QA::Framework::OLEFS::Building_Lookup
31
+ @building_lookup.class.superclass.should == OLE_QA::Framework::OLEFS::Lookup
32
+ end
33
+
34
+ it 'should open via URL' do
35
+ @building_lookup.open
36
+ @building_lookup.title.text.strip.should == "Building Lookup"
37
+ end
38
+
39
+ it 'should have building lookup elements' do
40
+ methods = @building_lookup.methods
41
+ methods.include?(:campus_code_field).should be_true
42
+ methods.include?(:building_code_field).should be_true
43
+ methods.include?(:building_name_field).should be_true
44
+ end
45
+ end
@@ -0,0 +1,70 @@
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 copies line' do
19
+
20
+ before :all do
21
+ @ole = OLE_QA::Framework::Session.new
22
+ @copies_line = OLE_QA::Framework::OLEFS::Copies_Line.new(@ole, 1, 1)
23
+ @new_copies_line = OLE_QA::Framework::OLEFS::New_Copies_Line.new(@ole, 1, 0)
24
+ end
25
+
26
+ after :all do
27
+ @ole.quit
28
+ end
29
+
30
+ it 'should create a new instance' do
31
+ @copies_line.class.should == OLE_QA::Framework::OLEFS::Copies_Line
32
+ @new_copies_line.class.should == OLE_QA::Framework::OLEFS::New_Copies_Line
33
+ end
34
+
35
+ it 'should be a subclass of subline object' do
36
+ @copies_line.class.superclass.should == OLE_QA::Framework::Subline_Object
37
+ @new_copies_line.class.superclass.should == OLE_QA::Framework::Subline_Object
38
+ end
39
+
40
+ it 'should have a browser accessor' do
41
+ @copies_line.browser.class.should == @ole.browser.class
42
+ @new_copies_line.browser.class.should == @ole.browser.class
43
+ end
44
+
45
+ it 'should have line number methods' do
46
+ @copies_line.line_number.should == 1
47
+ @copies_line.subline_number.should == 1
48
+ @new_copies_line.line_number.should == 1
49
+ @new_copies_line.subline_number.should == 0
50
+ end
51
+
52
+ it 'should have copies line elements' do
53
+ methods = @copies_line.methods
54
+ methods.include?(:location_copies_selector).should be_true
55
+ methods.include?(:delete_button).should be_true
56
+ methods.include?(:closed_copies_field).should be_true
57
+ methods.include?(:closed_location_copies_field).should be_true
58
+ methods.include?(:closed_parts_field).should be_true
59
+ methods.include?(:closed_part_enumeration_field).should be_true
60
+ methods.include?(:closed_starting_copy_field).should be_true
61
+ end
62
+
63
+ it 'should have new copies line elements' do
64
+ methods = @new_copies_line.methods
65
+ methods.include?(:copies_field).should be_true
66
+ methods.include?(:location_copies_selector).should be_true
67
+ methods.include?(:starting_copy_field).should be_true
68
+ methods.include?(:add_button).should be_true
69
+ end
70
+ end