ole-qa-framework 3.14.1 → 3.15.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/LICENSE.md +1 -1
- data/README.md +93 -1
- data/Rakefile.rb +38 -12
- data/config/options.yml +11 -0
- data/data/circulation.yml +10 -0
- data/data/country.yml +3 -0
- data/lib/common/common_object.rb +1 -1
- data/lib/common/data_object.rb +1 -2
- data/lib/common/line_object.rb +1 -1
- data/lib/common/page.rb +27 -3
- data/lib/common/subline_object.rb +1 -1
- data/lib/data_factory/account_factory.rb +3 -3
- data/lib/data_factory/bib_factory.rb +14 -4
- data/lib/data_factory/metadata_factory.rb +4 -3
- data/lib/data_factory/patron_factory.rb +10 -5
- data/lib/data_factory/string_factory.rb +2 -2
- data/lib/docstore/common/results.rb +1 -1
- data/lib/docstore/pages/marc_results.rb +1 -1
- data/lib/docstore/pages/search.rb +1 -1
- data/lib/module/factory_helpers.rb +1 -1
- data/lib/module/qa_helpers.rb +1 -1
- data/lib/ole-qa-framework.rb +17 -16
- data/lib/ole_qa_framework/COMPATIBILITY.rb +1 -1
- data/lib/ole_qa_framework/VERSION.rb +2 -2
- data/lib/olefs/common/e_doc.rb +1 -1
- data/lib/olefs/common/lookup.rb +1 -1
- data/lib/olefs/common/purap_document.rb +1 -1
- data/lib/olefs/objects/invoice_current_item.rb +1 -1
- data/lib/olefs/objects/invoice_line.rb +1 -1
- data/lib/olefs/objects/line_item.rb +1 -1
- data/lib/olefs/objects/receiving_line.rb +1 -1
- data/lib/olefs/pages/building_lookup.rb +1 -1
- data/lib/olefs/pages/invoice.rb +1 -1
- data/lib/olefs/pages/load_report.rb +1 -1
- data/lib/olefs/pages/load_summary_lookup.rb +1 -1
- data/lib/olefs/pages/main_menu.rb +1 -1
- data/lib/olefs/pages/payment_request.rb +1 -1
- data/lib/olefs/pages/purchase_order.rb +1 -1
- data/lib/olefs/pages/receiving_document.rb +1 -1
- data/lib/olefs/pages/requisition.rb +1 -1
- data/lib/olefs/pages/vendor_lookup.rb +1 -1
- data/lib/olefs/subobjects/accounting_line.rb +1 -1
- data/lib/olefs/subobjects/copies_line.rb +1 -1
- data/lib/olefs/subobjects/exception_notes_line.rb +1 -1
- data/lib/olefs/subobjects/invoice_line_item.rb +1 -1
- data/lib/olefs/subobjects/notes_line.rb +1 -1
- data/lib/olefs/subobjects/processing_line.rb +1 -1
- data/lib/olefs/subobjects/receipt_notes_line.rb +1 -1
- data/lib/olels/common/batch_profile.rb +1 -1
- data/lib/olels/common/e_doc.rb +1 -1
- data/lib/olels/common/editor.rb +1 -1
- data/lib/olels/common/lookup.rb +1 -1
- data/lib/olels/objects/access_info_line.rb +1 -1
- data/lib/olels/objects/batch_data_mapping_line.rb +1 -1
- data/lib/olels/objects/batch_delete_field_line.rb +1 -1
- data/lib/olels/objects/batch_rename_field_line.rb +1 -1
- data/lib/olels/objects/control_006_line.rb +1 -1
- data/lib/olels/objects/control_007_line.rb +1 -1
- data/lib/olels/objects/data_line.rb +1 -1
- data/lib/olels/objects/editor_note.rb +1 -1
- data/lib/olels/objects/export_filter_line.rb +1 -1
- data/lib/olels/objects/holdings_note.rb +1 -1
- data/lib/olels/objects/import_defaults_line.rb +1 -1
- data/lib/olels/objects/import_match_line.rb +1 -1
- data/lib/olels/objects/import_pf_line.rb +1 -1
- data/lib/olels/objects/item_note.rb +1 -1
- data/lib/olels/objects/ownership_extent_line.rb +1 -1
- data/lib/olels/objects/patron_address_line.rb +1 -1
- data/lib/olels/objects/patron_email_line.rb +1 -1
- data/lib/olels/objects/patron_phone_line.rb +1 -1
- data/lib/olels/objects/workbench_line.rb +1 -1
- data/lib/olels/pages/batch_export_profile.rb +1 -1
- data/lib/olels/pages/batch_import_profile.rb +1 -1
- data/lib/olels/pages/batch_job_details.rb +1 -1
- data/lib/olels/pages/batch_job_report.rb +1 -1
- data/lib/olels/pages/batch_process.rb +1 -1
- data/lib/olels/pages/batch_profile_lookup.rb +1 -1
- data/lib/olels/pages/batch_type_lookup.rb +1 -1
- data/lib/olels/pages/bib_editor.rb +1 -1
- data/lib/olels/pages/describe_workbench.rb +1 -1
- data/lib/olels/pages/instance_editor.rb +1 -1
- data/lib/olels/pages/item_editor.rb +1 -1
- data/lib/olels/pages/item_lookup.rb +1 -1
- data/lib/olels/pages/loan.rb +1 -1
- data/lib/olels/pages/location.rb +1 -1
- data/lib/olels/pages/location_level_lookup.rb +1 -1
- data/lib/olels/pages/location_lookup.rb +1 -1
- data/lib/olels/pages/main_menu.rb +1 -1
- data/lib/olels/pages/old_describe_workbench.rb +1 -1
- data/lib/olels/pages/patron.rb +1 -1
- data/lib/olels/pages/patron_lookup.rb +1 -1
- data/lib/olels/pages/renewal.rb +1 -1
- data/lib/olels/pages/request.rb +1 -1
- data/lib/olels/pages/request_lookup.rb +1 -1
- data/lib/olels/pages/return.rb +1 -1
- data/lib/olels/pages/staff_upload.rb +1 -1
- data/lib/olels/subobjects/ownership_note.rb +1 -1
- data/spec/common/browser_spec.rb +2 -2
- data/spec/common/data_object_spec.rb +2 -2
- data/spec/common/line_object_spec.rb +2 -2
- data/spec/common/page_spec.rb +2 -2
- data/spec/common/session_spec.rb +62 -0
- data/spec/common/subline_object_spec.rb +2 -2
- data/spec/data_factory/account_factory_spec.rb +1 -1
- data/spec/data_factory/bib_factory_spec.rb +17 -1
- data/spec/data_factory/patron_factory_spec.rb +6 -1
- data/spec/data_factory/string_factory_spec.rb +1 -1
- data/spec/modules/qa_helpers_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +7 -9
- data/lib/config/alt/dev_env.yml +0 -8
- data/lib/config/alt/test_env.yml +0 -8
- data/lib/config/default_options.yml +0 -8
- data/lib/module/qa_data_helpers.rb +0 -17
- data/lib/module/qa_page_helpers.rb +0 -41
- data/spec/modules/qa_page_helpers_spec.rb +0 -54
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 725c44e11f55eccafd6ff4c7809e2b73b8e67eb4
|
|
4
|
+
data.tar.gz: 03eb2fb83bfd8cab61508524ca0ed69caffd0e61
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e30b829f8bef67fc32d46346b0a0a4644cb59422825cbeb5479d7082a8e3d1106ac9cb3a93bfd596071988e03bd9167292f9b17a7a1dfd1d0372bf7fcfda469d
|
|
7
|
+
data.tar.gz: e36db42fcfbbf8ebb55adf695acc3c51ce0ea3ae17978bbfb73c9ed8144b506a864a5af0b866479af4ebe9544dc3afc2fb76ef7f39d5de3f88b765f1bf8cdb02
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
### v3.15.0 - 2014/06/18
|
|
2
|
+
|
|
3
|
+
* Update Framework module & Session class
|
|
4
|
+
* Add session spec
|
|
5
|
+
* Move lib/config/default_options.yml to config/options.yml
|
|
6
|
+
* Update Rakefile
|
|
7
|
+
* Remove select_config task
|
|
8
|
+
* Add show_config task
|
|
9
|
+
* Add configurator task
|
|
10
|
+
* Update Readme
|
|
11
|
+
* Add instructions for show_config & configurator tasks
|
|
12
|
+
* Clean up modules
|
|
13
|
+
* Move page helpers to lib/common/page.rb
|
|
14
|
+
* Remove lib/module/qa_page_helpers.rb
|
|
15
|
+
* Remove redundant page helpers spec
|
|
16
|
+
* Remove lib/module/qa_data_helpers.rb
|
|
17
|
+
* Clean up Data Factories
|
|
18
|
+
* Change classes to modules
|
|
19
|
+
* Add country attribute to patron factory
|
|
20
|
+
* Add country data file to data/
|
|
21
|
+
* Update Copyright info
|
|
22
|
+
* Clean up specs
|
|
23
|
+
* Add @ole.nil? check to specs using live sessions
|
|
24
|
+
* Add circulation info selector to Bib Factory
|
|
25
|
+
* OLE_QA::Framework::Bib_Factory.circulation_info will return a hash containing
|
|
26
|
+
a circulation desk code, circulation desk name, and an array of locations which
|
|
27
|
+
are mapped to that circulation desk.
|
|
28
|
+
* Added examples to spec/data_factory/bib_factory_spec.rb
|
|
29
|
+
* Add institutional data configuration section to README.md
|
|
30
|
+
|
|
1
31
|
### v3.14.1 - 2014/05/19
|
|
2
32
|
|
|
3
33
|
* Add Conributions document
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
|
@@ -8,4 +8,96 @@ http://www.kuali.org/ole
|
|
|
8
8
|
- - -
|
|
9
9
|
This is a testing framework for the Kuali Open Library environment. It
|
|
10
10
|
is be used to define OLE pages and screen elements for OLE regression
|
|
11
|
-
testing scripts and the OLE Smoketest application.
|
|
11
|
+
testing scripts and the OLE Smoketest application.
|
|
12
|
+
|
|
13
|
+
### Configuration
|
|
14
|
+
|
|
15
|
+
Options can be set in the file config/options.yml. Here is a list of the
|
|
16
|
+
options hash keys and their meanings:
|
|
17
|
+
|
|
18
|
+
- :url:
|
|
19
|
+
- The URL of the main OLE installation you will be testing.
|
|
20
|
+
- :docstore_url:
|
|
21
|
+
- The URL of the OLE Document Store installation.
|
|
22
|
+
- :headless?:
|
|
23
|
+
- If set to true, the testing session will be run headlessly
|
|
24
|
+
in an XVFB session handled by the Headless gem.
|
|
25
|
+
- :implicit_wait:
|
|
26
|
+
- Used to set Selenium Webdriver's default wait period.
|
|
27
|
+
- :explicit_wait:
|
|
28
|
+
- Used to set the Watir Webdriver default wait period.
|
|
29
|
+
- :doc_wait:
|
|
30
|
+
- Used to set the maximum timeout for an OLE eDocument
|
|
31
|
+
to finish routing to the next step in its workflow.
|
|
32
|
+
- :browser:
|
|
33
|
+
- Pass an active instance of Watir Webdriver if you want to start
|
|
34
|
+
an OLE Framework session with an already-running browser.
|
|
35
|
+
|
|
36
|
+
These options can be set manually, or using the Rake configurator task.
|
|
37
|
+
Use the Rake show_config task to see the current options settings at any time.
|
|
38
|
+
|
|
39
|
+
### Instituational Data
|
|
40
|
+
|
|
41
|
+
Institutional data is defined in the YAML files in the data/ directory. The
|
|
42
|
+
OLE QA Framework can be adapted to use different institutional data first by
|
|
43
|
+
editing the YAML data files in data/, and optionally altering the default values
|
|
44
|
+
of a few data factories and their respective RSpec tests in the spec/ directory.
|
|
45
|
+
|
|
46
|
+
#### YAML Data Files
|
|
47
|
+
|
|
48
|
+
The data/ directory contains the following YAML data files:
|
|
49
|
+
|
|
50
|
+
- accounts.yml
|
|
51
|
+
- OLE account numbers, organized into a hash containing arrays of
|
|
52
|
+
account numbers organized by chart code.
|
|
53
|
+
- borrower_types.yml
|
|
54
|
+
- Borrower types used for patron and circulation information,
|
|
55
|
+
organized into an array.
|
|
56
|
+
- circulation.yml
|
|
57
|
+
- Circulation desks and the locations which they serve, organized
|
|
58
|
+
into an array containing a hash for each desk, which itself contains
|
|
59
|
+
an array of locations served by that desk.
|
|
60
|
+
- country.yml
|
|
61
|
+
- A string containing the country name to be used for patron information,
|
|
62
|
+
as it appears in the OLE application itself.
|
|
63
|
+
- objects.yml
|
|
64
|
+
- Object code values for accounting, organized into a hash containing
|
|
65
|
+
arrays of object codes organized by chart code.
|
|
66
|
+
- patron.yml
|
|
67
|
+
- An array of hashes containing patron information drawn from the OLE
|
|
68
|
+
demo data, with keys for ID, first and last name, and barcode.
|
|
69
|
+
- states.yml
|
|
70
|
+
- An array of states used for OLE patron information, as they appear
|
|
71
|
+
in the OLE application itself.
|
|
72
|
+
|
|
73
|
+
#### Default Data Values in Classes
|
|
74
|
+
|
|
75
|
+
The following classes in the lib/data_factory/ directory contain default
|
|
76
|
+
selections which may need to be changed for optimal functionality:
|
|
77
|
+
|
|
78
|
+
- account_factory.rb
|
|
79
|
+
- Methods for selecting account and object codes default to the :BL
|
|
80
|
+
chart selector.
|
|
81
|
+
- string_factory.rb
|
|
82
|
+
- Prices are formatted to two decimal places by default. Non-US prices
|
|
83
|
+
may need commas or other separator values.
|
|
84
|
+
- Phone numbers are in US NNN-NNN-NNNN format.
|
|
85
|
+
- patron_factory.rb
|
|
86
|
+
- Phone numbers are in US NNN-NNN-NNNN format.
|
|
87
|
+
|
|
88
|
+
#### Default Data Values in Specs
|
|
89
|
+
|
|
90
|
+
The following specs in spec/data_factory contain default selections which
|
|
91
|
+
may need to be changed for optimal functionality:
|
|
92
|
+
|
|
93
|
+
- bib_factory_spec.rb
|
|
94
|
+
- Tests for selecting a circulation desk use the 'BL_EDUC' circulation
|
|
95
|
+
desk, taken from the OLE demo data.
|
|
96
|
+
- string_factory_spec.rb
|
|
97
|
+
- Tests for phone numbers default to the US NNN-NNN-NNNN phone number
|
|
98
|
+
format.
|
|
99
|
+
- patron_factory_spec.rb
|
|
100
|
+
- Tests for phone numbers default to the US NNN-NNN-NNNN phone number
|
|
101
|
+
format.
|
|
102
|
+
|
|
103
|
+
|
data/Rakefile.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -20,6 +20,7 @@ require 'rspec/core/rake_task'
|
|
|
20
20
|
require 'bundler/gem_tasks'
|
|
21
21
|
require 'fileutils'
|
|
22
22
|
require 'lib/ole_qa_framework/COMPATIBILITY.rb'
|
|
23
|
+
require 'yaml'
|
|
23
24
|
|
|
24
25
|
desc "Print the current version number."
|
|
25
26
|
task :version do
|
|
@@ -31,16 +32,41 @@ task :works_with do
|
|
|
31
32
|
puts OLE_QA::Framework::OLE_VERSION
|
|
32
33
|
end
|
|
33
34
|
|
|
34
|
-
desc
|
|
35
|
-
task :
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
puts "
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
desc 'Interactively configure config/options.yml'
|
|
36
|
+
task :configurator do
|
|
37
|
+
config_file = File.open('config/options.yml','r')
|
|
38
|
+
options = YAML.load(config_file)
|
|
39
|
+
config_file.close
|
|
40
|
+
|
|
41
|
+
options.each do |k,v|
|
|
42
|
+
puts "#{k.to_s.ljust(20)}: #{v}"
|
|
43
|
+
puts "... (k)eep or (c)hange? [k|c]"
|
|
44
|
+
ans = STDIN.gets.chomp
|
|
45
|
+
if ans =~ /[Cc]/
|
|
46
|
+
puts "Enter new value:"
|
|
47
|
+
new_val = STDIN.gets.chomp
|
|
48
|
+
if v.is_a?(TrueClass) || v.is_a?(FalseClass)
|
|
49
|
+
new_val.match(/^[Tt]/) ? new_val = true : new_val = false
|
|
50
|
+
else
|
|
51
|
+
new_val = new_val.to_i unless new_val.to_i == 0
|
|
52
|
+
end
|
|
53
|
+
options[k] = new_val
|
|
54
|
+
puts "#{k.to_s.ljust(20)} updated to: #{new_val}"
|
|
55
|
+
end
|
|
45
56
|
end
|
|
57
|
+
|
|
58
|
+
config_file = File.open('config/options.yml','w')
|
|
59
|
+
YAML.dump(options,config_file)
|
|
60
|
+
config_file.close
|
|
61
|
+
|
|
46
62
|
end
|
|
63
|
+
|
|
64
|
+
desc 'Show current options in config/options.yml'
|
|
65
|
+
task :show_config do
|
|
66
|
+
config_file = File.open('config/options.yml','r')
|
|
67
|
+
options = YAML.load(config_file)
|
|
68
|
+
config_file.close
|
|
69
|
+
options.each do |k,v|
|
|
70
|
+
puts "#{k.to_s.ljust(20)}: #{v}"
|
|
71
|
+
end
|
|
72
|
+
end
|
data/config/options.yml
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Default options for an OLE QA Framework session.
|
|
2
|
+
# (Parsed at session instantiation. See
|
|
3
|
+
# OLE_QA::Framework::Session#new for
|
|
4
|
+
# more information.)
|
|
5
|
+
---
|
|
6
|
+
:url: http://tst.ole.kuali.org/
|
|
7
|
+
:docstore_url: http://tst.docstore.ole.kuali.org/
|
|
8
|
+
:headless?: true
|
|
9
|
+
:implicit_wait: 0
|
|
10
|
+
:explicit_wait: 30
|
|
11
|
+
:doc_wait: 45
|
data/data/country.yml
ADDED
data/lib/common/common_object.rb
CHANGED
data/lib/common/data_object.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -16,6 +16,5 @@ module OLE_QA::Framework
|
|
|
16
16
|
|
|
17
17
|
# An object in OLE which contains screen elements but is not itself a screen element.
|
|
18
18
|
class Data_Object < Common_Object
|
|
19
|
-
include OLE_QA::Framework::Data_Helpers
|
|
20
19
|
end
|
|
21
20
|
end
|
data/lib/common/line_object.rb
CHANGED
data/lib/common/page.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -29,8 +29,6 @@ module OLE_QA::Framework
|
|
|
29
29
|
# An array containing the elements (Symbol) to wait on before the page is considered loaded.
|
|
30
30
|
attr_reader :wait_on
|
|
31
31
|
|
|
32
|
-
include OLE_QA::Framework::Page_Helpers
|
|
33
|
-
|
|
34
32
|
# @param ole_session [Object] The OLE_QA::Framework::Session instance in which the page should load.
|
|
35
33
|
# @param url [String] The URL (if any) used to open the page. (Set to "" if unused.)
|
|
36
34
|
# @param lookup_url [String] The URL (if any) by which a document represented by the page can be opened.
|
|
@@ -99,6 +97,31 @@ module OLE_QA::Framework
|
|
|
99
97
|
false
|
|
100
98
|
end
|
|
101
99
|
|
|
100
|
+
# Set a line object definition on a page object.
|
|
101
|
+
# - A line object created with this method becomes an accessor attribute
|
|
102
|
+
# associated with an instance variable on the page or data object on
|
|
103
|
+
# which it is created.
|
|
104
|
+
#
|
|
105
|
+
# @param name [Symbol] The name the new line object will have on the object.
|
|
106
|
+
# (This will be an instance variable, so it cannot contain spaces.)
|
|
107
|
+
# @param klas [Class] The class to instantiate for the new line object.
|
|
108
|
+
# (An error will be returned if the class given is not defined.)
|
|
109
|
+
# @param force [Boolean] If set to true, this method can be used to override an existing line object definition.
|
|
110
|
+
#
|
|
111
|
+
# @raise StandardError if a parameter is of an incorrect type.
|
|
112
|
+
# @raise StandardError if an instance method already exists for a line object with the same name.
|
|
113
|
+
# (Suppress with force = true.)
|
|
114
|
+
#
|
|
115
|
+
def set_line(name, klas, force = false)
|
|
116
|
+
raise StandardError, "Name must be a symbol. Given: #{name} (#{name.class})" unless name.instance_of?(Symbol)
|
|
117
|
+
raise StandardError, "Klas must be a class. Given: #{klas} (#{klas.class})" unless klas.instance_of?(Class)
|
|
118
|
+
raise StandardError, "Line object is already defined. (Use the 'force = true' option to suppress this error.)" if @lines.include?(name) && ! force
|
|
119
|
+
instance_variable_set("@#{name}", klas.new(@ole, 1))
|
|
120
|
+
make_reader(name) unless force
|
|
121
|
+
@lines << name unless force
|
|
122
|
+
end
|
|
123
|
+
alias_method(:line, :set_line)
|
|
124
|
+
|
|
102
125
|
# Set screen elements common to most or all pages across the OLE interface.
|
|
103
126
|
def set_elements
|
|
104
127
|
# These elements exist outside of any frame, so @browser is used to force
|
|
@@ -121,5 +144,6 @@ module OLE_QA::Framework
|
|
|
121
144
|
# @return [Boolean] Whether the logout process succeeded.
|
|
122
145
|
function(:logout) { logout_button.click ; login_confirmation.present? ? false : true}
|
|
123
146
|
end
|
|
147
|
+
|
|
124
148
|
end
|
|
125
149
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
module OLE_QA::Framework
|
|
16
16
|
|
|
17
17
|
# Generate usable accounting strings from source files in ole-qa-framework/data/
|
|
18
|
-
|
|
18
|
+
module Account_Factory
|
|
19
19
|
|
|
20
20
|
account_file = File.open("#{OLE_QA::Framework.data_dir}/accounts.yml",'r')
|
|
21
21
|
@account_matrix = YAML.load(account_file)
|
|
@@ -49,4 +49,4 @@ module OLE_QA::Framework
|
|
|
49
49
|
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
|
-
end
|
|
52
|
+
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
module OLE_QA::Framework
|
|
16
|
-
# Manufacture strings for bibliographic record testing
|
|
17
|
-
|
|
16
|
+
# Manufacture strings for bibliographic, instance, and item record testing
|
|
17
|
+
module Bib_Factory
|
|
18
18
|
class << self
|
|
19
19
|
|
|
20
20
|
include OLE_QA::Framework::Factory_Helpers
|
|
@@ -60,6 +60,16 @@ module OLE_QA::Framework
|
|
|
60
60
|
str << name_builder(last_len.to_i)
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
|
+
|
|
64
|
+
# Return a hash containing circulation desk and location information.
|
|
65
|
+
# @note Pass a circulation desk code defined in data/circulation.yml to return
|
|
66
|
+
# info on a specific circulation desk.
|
|
67
|
+
def circulation_info(desk_code = '')
|
|
68
|
+
circ_ary = YAML.load_file(OLE_QA::Framework.data_dir + '/circulation.yml')
|
|
69
|
+
hsh_out = desk_code.empty? ? circ_ary.sample : circ_ary.find {|circ| circ[:code] == desk_code}
|
|
70
|
+
raise OLE_QA::Framework::Error,"No circulation desk found.#{ ' Given: ' + desk_code unless desk_code.empty?}" if hsh_out.nil?
|
|
71
|
+
return hsh_out
|
|
72
|
+
end
|
|
63
73
|
end
|
|
64
74
|
end
|
|
65
|
-
end
|
|
75
|
+
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
module OLE_QA::Framework
|
|
16
|
-
# This class contains methods to generate assorted metadata.
|
|
17
|
-
|
|
16
|
+
# This class contains methods to generate assorted metadata for the OLE application.
|
|
17
|
+
# {OLE_QA::Framework::Bib_Factory} should be used for creating bibliographic metadata.
|
|
18
|
+
module Metadata_Factory
|
|
18
19
|
class << self
|
|
19
20
|
include OLE_QA::Framework::Factory_Helpers
|
|
20
21
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2005-
|
|
1
|
+
# Copyright 2005-2014 The Kuali Foundation
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Educational Community License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
module OLE_QA::Framework
|
|
16
16
|
# Return usable patron records from source files in ole-qa-framework/data/patron.yml
|
|
17
|
-
|
|
17
|
+
module Patron_Factory
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
@patron_matrix = YAML.
|
|
21
|
-
@states = YAML.
|
|
22
|
-
@borrower_types = YAML.
|
|
20
|
+
@patron_matrix = YAML.load_file("#{OLE_QA::Framework.data_dir}/patron.yml")
|
|
21
|
+
@states = YAML.load_file("#{OLE_QA::Framework.data_dir}/states.yml")
|
|
22
|
+
@borrower_types = YAML.load_file("#{OLE_QA::Framework.data_dir}/borrower_types.yml")
|
|
23
|
+
@country = YAML.load_file("#{OLE_QA::Framework.data_dir}/country.yml")
|
|
23
24
|
|
|
24
25
|
class << self
|
|
25
26
|
|
|
@@ -35,6 +36,9 @@ module OLE_QA::Framework
|
|
|
35
36
|
# An array containing a collection of valid borrower types to use for patron records.
|
|
36
37
|
attr_reader :borrower_types
|
|
37
38
|
|
|
39
|
+
# A string containing the country name as it appears in the OLE application.
|
|
40
|
+
attr_reader :country
|
|
41
|
+
|
|
38
42
|
# Return a random patron record.
|
|
39
43
|
def select_patron
|
|
40
44
|
@patron_matrix.sample
|
|
@@ -50,6 +54,7 @@ module OLE_QA::Framework
|
|
|
50
54
|
patron[:city] = name_builder(sampler(4..12))
|
|
51
55
|
patron[:state] = @states.sample.upcase
|
|
52
56
|
patron[:postal_code] = num_str(5)
|
|
57
|
+
patron[:country] = @country
|
|
53
58
|
patron[:phone] = num_str(3) + '-' + num_str(3) + '-' + num_str(4)
|
|
54
59
|
patron[:email] = patron[:first] + patron[:last] + '@' + str(sampler(4..8)) + '.' + str(3)
|
|
55
60
|
patron
|