exlibris-aleph 1.1.0 → 2.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/README.md +199 -82
- data/Rakefile +8 -14
- data/lib/exlibris-aleph.rb +0 -3
- data/lib/exlibris/aleph/admin_library.rb +27 -0
- data/lib/exlibris/aleph/api/base.rb +27 -0
- data/lib/exlibris/aleph/api/client/base.rb +86 -0
- data/lib/exlibris/aleph/api/client/patron.rb +20 -0
- data/lib/exlibris/aleph/api/client/patron/address.rb +22 -0
- data/lib/exlibris/aleph/api/client/patron/record.rb +23 -0
- data/lib/exlibris/aleph/api/client/patron/record/item.rb +26 -0
- data/lib/exlibris/aleph/api/client/patron/record/item/create_hold.rb +31 -0
- data/lib/exlibris/aleph/api/client/patron/record/item/create_hold/parameters.rb +55 -0
- data/lib/exlibris/aleph/api/client/patron/record/item/hold.rb +29 -0
- data/lib/exlibris/aleph/api/client/patron/status.rb +22 -0
- data/lib/exlibris/aleph/api/client/record.rb +21 -0
- data/lib/exlibris/aleph/api/client/record/filters.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/holding.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/holdings.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/item.rb +23 -0
- data/lib/exlibris/aleph/api/client/record/items.rb +23 -0
- data/lib/exlibris/aleph/api/reader/base.rb +15 -0
- data/lib/exlibris/aleph/api/reader/patron.rb +19 -0
- data/lib/exlibris/aleph/api/reader/patron/address.rb +90 -0
- data/lib/exlibris/aleph/api/reader/patron/record.rb +38 -0
- data/lib/exlibris/aleph/api/reader/patron/record/item.rb +77 -0
- data/lib/exlibris/aleph/api/reader/patron/record/item/create_hold.rb +33 -0
- data/lib/exlibris/aleph/api/reader/patron/record/item/hold.rb +56 -0
- data/lib/exlibris/aleph/api/reader/patron/status.rb +33 -0
- data/lib/exlibris/aleph/api/reader/record.rb +10 -0
- data/lib/exlibris/aleph/api/reader/record/item.rb +45 -0
- data/lib/exlibris/aleph/collection.rb +26 -0
- data/lib/exlibris/aleph/config.rb +17 -57
- data/lib/exlibris/aleph/holding.rb +59 -0
- data/lib/exlibris/aleph/holding/metadata.rb +28 -0
- data/lib/exlibris/aleph/holdings.rb +51 -0
- data/lib/exlibris/aleph/item.rb +138 -0
- data/lib/exlibris/aleph/item/call_number.rb +14 -0
- data/lib/exlibris/aleph/item/circulation_policy.rb +30 -0
- data/lib/exlibris/aleph/item/circulation_policy/display.rb +16 -0
- data/lib/exlibris/aleph/item/circulation_policy/identifier.rb +34 -0
- data/lib/exlibris/aleph/item/circulation_policy/privileges.rb +72 -0
- data/lib/exlibris/aleph/item/circulation_status.rb +31 -0
- data/lib/exlibris/aleph/item/display_mask.rb +19 -0
- data/lib/exlibris/aleph/item/opac_note.rb +17 -0
- data/lib/exlibris/aleph/item/processing_status.rb +23 -0
- data/lib/exlibris/aleph/item/queue.rb +32 -0
- data/lib/exlibris/aleph/item/status.rb +23 -0
- data/lib/exlibris/aleph/items.rb +51 -0
- data/lib/exlibris/aleph/metadata.rb +25 -0
- data/lib/exlibris/aleph/patron.rb +18 -82
- data/lib/exlibris/aleph/patron/address.rb +56 -0
- data/lib/exlibris/aleph/patron/circulation_policy.rb +26 -0
- data/lib/exlibris/aleph/patron/circulation_policy/identifier.rb +29 -0
- data/lib/exlibris/aleph/patron/circulation_policy/privileges.rb +56 -0
- data/lib/exlibris/aleph/patron/record.rb +39 -0
- data/lib/exlibris/aleph/patron/record/circulation_policy.rb +18 -0
- data/lib/exlibris/aleph/patron/record/circulation_policy/privileges.rb +42 -0
- data/lib/exlibris/aleph/patron/record/item.rb +63 -0
- data/lib/exlibris/aleph/patron/record/item/circulation_policy.rb +21 -0
- data/lib/exlibris/aleph/patron/record/item/circulation_policy/privileges.rb +39 -0
- data/lib/exlibris/aleph/patron/record/item/create_hold.rb +43 -0
- data/lib/exlibris/aleph/patron/record/item/hold.rb +41 -0
- data/lib/exlibris/aleph/patron/status.rb +19 -0
- data/lib/exlibris/aleph/pickup_location.rb +12 -0
- data/lib/exlibris/aleph/record.rb +14 -43
- data/lib/exlibris/aleph/record/metadata.rb +8 -0
- data/lib/exlibris/aleph/sub_library.rb +30 -0
- data/lib/exlibris/aleph/table/base.rb +22 -0
- data/lib/exlibris/aleph/table/collections.rb +17 -0
- data/lib/exlibris/aleph/table/item/circulation_policies.rb +65 -0
- data/lib/exlibris/aleph/table/item/display_masks.rb +19 -0
- data/lib/exlibris/aleph/table/patron/circulation_policies.rb +47 -0
- data/lib/exlibris/aleph/table/patron/statuses.rb +19 -0
- data/lib/exlibris/aleph/table/reader/base.rb +57 -0
- data/lib/exlibris/aleph/table/reader/collections.rb +35 -0
- data/lib/exlibris/aleph/table/reader/item_circulation_policies.rb +50 -0
- data/lib/exlibris/aleph/table/reader/item_display_masks.rb +19 -0
- data/lib/exlibris/aleph/table/reader/matcher/base.rb +30 -0
- data/lib/exlibris/aleph/table/reader/matcher/collections.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/item_circulation_policies.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/item_display_masks.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/patron_circulation_policies.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/patron_statuses.rb +17 -0
- data/lib/exlibris/aleph/table/reader/matcher/sub_libraries.rb +17 -0
- data/lib/exlibris/aleph/table/reader/patron_circulation_policies.rb +51 -0
- data/lib/exlibris/aleph/table/reader/patron_statuses.rb +19 -0
- data/lib/exlibris/aleph/table/reader/row/base.rb +25 -0
- data/lib/exlibris/aleph/table/reader/row/collections.rb +13 -0
- data/lib/exlibris/aleph/table/reader/row/item_circulation_policies.rb +17 -0
- data/lib/exlibris/aleph/table/reader/row/item_display_masks.rb +13 -0
- data/lib/exlibris/aleph/table/reader/row/patron_circulation_policies.rb +20 -0
- data/lib/exlibris/aleph/table/reader/row/patron_statuses.rb +13 -0
- data/lib/exlibris/aleph/table/reader/row/sub_libraries.rb +13 -0
- data/lib/exlibris/aleph/table/reader/sub_libraries.rb +32 -0
- data/lib/exlibris/aleph/table/sub_libraries.rb +11 -0
- data/lib/exlibris/aleph/tables_manager.rb +66 -0
- data/lib/exlibris/aleph/version.rb +1 -1
- data/spec/exlibris/aleph/admin_library_spec.rb +83 -0
- data/spec/exlibris/aleph/api/base_spec.rb +23 -0
- data/spec/exlibris/aleph/api/client/base_spec.rb +40 -0
- data/spec/exlibris/aleph/api/client/patron/address_spec.rb +40 -0
- data/spec/exlibris/aleph/api/client/patron/record/item/create_hold/parameters_spec.rb +101 -0
- data/spec/exlibris/aleph/api/client/patron/record/item/create_hold_spec.rb +102 -0
- data/spec/exlibris/aleph/api/client/patron/record/item/hold_spec.rb +89 -0
- data/spec/exlibris/aleph/api/client/patron/record/item_spec.rb +52 -0
- data/spec/exlibris/aleph/api/client/patron/record_spec.rb +45 -0
- data/spec/exlibris/aleph/api/client/patron/status_spec.rb +40 -0
- data/spec/exlibris/aleph/api/client/patron_spec.rb +38 -0
- data/spec/exlibris/aleph/api/client/record/filters_spec.rb +46 -0
- data/spec/exlibris/aleph/api/client/record/holding_spec.rb +41 -0
- data/spec/exlibris/aleph/api/client/record/holdings_spec.rb +46 -0
- data/spec/exlibris/aleph/api/client/record/item_spec.rb +41 -0
- data/spec/exlibris/aleph/api/client/record/items_spec.rb +46 -0
- data/spec/exlibris/aleph/api/client/record_spec.rb +43 -0
- data/spec/exlibris/aleph/api/reader/base_spec.rb +18 -0
- data/spec/exlibris/aleph/api/reader/patron/address_spec.rb +151 -0
- data/spec/exlibris/aleph/api/reader/patron/record/item/create_hold_spec.rb +65 -0
- data/spec/exlibris/aleph/api/reader/patron/record/item/hold_spec.rb +145 -0
- data/spec/exlibris/aleph/api/reader/patron/record/item_spec.rb +266 -0
- data/spec/exlibris/aleph/api/reader/patron/record_spec.rb +98 -0
- data/spec/exlibris/aleph/api/reader/patron/status_spec.rb +57 -0
- data/spec/exlibris/aleph/api/reader/patron_spec.rb +28 -0
- data/spec/exlibris/aleph/api/reader/record/item_spec.rb +178 -0
- data/spec/exlibris/aleph/collection_spec.rb +95 -0
- data/spec/exlibris/aleph/config_spec.rb +17 -0
- data/spec/exlibris/aleph/holding/metadata_spec.rb +57 -0
- data/spec/exlibris/aleph/holding_spec.rb +53 -0
- data/spec/exlibris/aleph/holdings_spec.rb +59 -0
- data/spec/exlibris/aleph/item/call_number_spec.rb +20 -0
- data/spec/exlibris/aleph/item/circulation_policy/display_spec.rb +33 -0
- data/spec/exlibris/aleph/item/circulation_policy/identifier_spec.rb +154 -0
- data/spec/exlibris/aleph/item/circulation_policy/privileges_spec.rb +183 -0
- data/spec/exlibris/aleph/item/circulation_policy_spec.rb +146 -0
- data/spec/exlibris/aleph/item/circulation_status_spec.rb +83 -0
- data/spec/exlibris/aleph/item/display_mask_spec.rb +72 -0
- data/spec/exlibris/aleph/item/opac_note_spec.rb +19 -0
- data/spec/exlibris/aleph/item/processing_status_spec.rb +75 -0
- data/spec/exlibris/aleph/item/queue_spec.rb +31 -0
- data/spec/exlibris/aleph/item/status_spec.rb +80 -0
- data/spec/exlibris/aleph/item_spec.rb +97 -0
- data/spec/exlibris/aleph/items_spec.rb +59 -0
- data/spec/exlibris/aleph/metadata_spec.rb +118 -0
- data/spec/exlibris/aleph/patron/address_spec.rb +68 -0
- data/spec/exlibris/aleph/patron/circulation_policy/identifier_spec.rb +115 -0
- data/spec/exlibris/aleph/patron/circulation_policy/privileges_spec.rb +128 -0
- data/spec/exlibris/aleph/patron/circulation_policy_spec.rb +119 -0
- data/spec/exlibris/aleph/patron/record/circulation_policy/privileges_spec.rb +88 -0
- data/spec/exlibris/aleph/patron/record/circulation_policy_spec.rb +37 -0
- data/spec/exlibris/aleph/patron/record/item/circulation_policy/privileges_spec.rb +76 -0
- data/spec/exlibris/aleph/patron/record/item/circulation_policy_spec.rb +52 -0
- data/spec/exlibris/aleph/patron/record/item/create_hold_spec.rb +49 -0
- data/spec/exlibris/aleph/patron/record/item/hold_spec.rb +41 -0
- data/spec/exlibris/aleph/patron/record/item_spec.rb +64 -0
- data/spec/exlibris/aleph/patron/record_spec.rb +30 -0
- data/spec/exlibris/aleph/patron/status_spec.rb +72 -0
- data/spec/exlibris/aleph/patron_spec.rb +28 -0
- data/spec/exlibris/aleph/pickup_location_spec.rb +19 -0
- data/spec/exlibris/aleph/record/metadata_spec.rb +120 -0
- data/spec/exlibris/aleph/record_spec.rb +44 -0
- data/spec/exlibris/aleph/sub_library_spec.rb +110 -0
- data/spec/exlibris/aleph/table/base_spec.rb +17 -0
- data/spec/exlibris/aleph/table/collections_spec.rb +24 -0
- data/spec/exlibris/aleph/table/item/circulation_policies_spec.rb +65 -0
- data/spec/exlibris/aleph/table/item/display_masks_spec.rb +26 -0
- data/spec/exlibris/aleph/table/patron/circulation_policies_spec.rb +47 -0
- data/spec/exlibris/aleph/table/patron/statuses_spec.rb +26 -0
- data/spec/exlibris/aleph/table/reader/base_spec.rb +28 -0
- data/spec/exlibris/aleph/table/reader/collections_spec.rb +33 -0
- data/spec/exlibris/aleph/table/reader/item_circulation_policies_spec.rb +33 -0
- data/spec/exlibris/aleph/table/reader/item_display_masks_spec.rb +27 -0
- data/spec/exlibris/aleph/table/reader/matcher/base_spec.rb +32 -0
- data/spec/exlibris/aleph/table/reader/matcher/collections_spec.rb +39 -0
- data/spec/exlibris/aleph/table/reader/matcher/item_circulation_policies_spec.rb +39 -0
- data/spec/exlibris/aleph/table/reader/matcher/item_display_masks_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/matcher/patron_circulation_policies_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/matcher/patron_statuses_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/matcher/sub_libraries_spec.rb +40 -0
- data/spec/exlibris/aleph/table/reader/patron_circulation_policies_spec.rb +27 -0
- data/spec/exlibris/aleph/table/reader/patron_statuses_spec.rb +27 -0
- data/spec/exlibris/aleph/table/reader/row/base_spec.rb +20 -0
- data/spec/exlibris/aleph/table/reader/row/collections_spec.rb +37 -0
- data/spec/exlibris/aleph/table/reader/row/item_circulation_policies_spec.rb +89 -0
- data/spec/exlibris/aleph/table/reader/row/item_display_masks_spec.rb +29 -0
- data/spec/exlibris/aleph/table/reader/row/patron_circulation_policies_spec.rb +115 -0
- data/spec/exlibris/aleph/table/reader/row/patron_statuses_spec.rb +29 -0
- data/spec/exlibris/aleph/table/reader/row/sub_libraries_spec.rb +41 -0
- data/spec/exlibris/aleph/table/reader/sub_libraries_spec.rb +36 -0
- data/spec/exlibris/aleph/table/sub_libraries_spec.rb +19 -0
- data/spec/exlibris/aleph/tables_manager_spec.rb +120 -0
- data/spec/exlibris/aleph_spec.rb +5 -0
- data/spec/spec_helper.rb +27 -0
- data/spec/support/mnt/aleph_tab/adm50/tab/filename +0 -0
- data/{test → spec/support}/mnt/aleph_tab/alephe/tab/tab_sub_library.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/pc_tab_exp_field_extended.eng +0 -0
- data/{test/mnt/aleph_tab → spec/support/mnt/aleph_tab/nyu50/tab}/tab15.eng +2 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab16 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab31 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab37 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab40.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu50/tab/tab_www_item_desc.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/pc_tab_exp_field_extended.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab15.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab16 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab31 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab37 +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab40.eng +0 -0
- data/{test → spec/support}/mnt/aleph_tab/nyu51/tab/tab_www_item_desc.eng +0 -0
- data/spec/vcr_cassettes/patron.yml +1443 -0
- data/spec/vcr_cassettes/record.yml +763 -0
- metadata +351 -165
- data/lib/exlibris/aleph/abstract.rb +0 -28
- data/lib/exlibris/aleph/rest/base.rb +0 -56
- data/lib/exlibris/aleph/tab_helper.rb +0 -303
- data/lib/exlibris/aleph/tabs_parser/base.rb +0 -49
- data/lib/exlibris/aleph/tabs_parser/pc_tab_exp_field_extended.rb +0 -20
- data/lib/exlibris/aleph/tabs_parser/sub_library.rb +0 -32
- data/lib/exlibris/aleph/tabs_parser/tab15_by_item_process_status.rb +0 -33
- data/lib/exlibris/aleph/tabs_parser/tab15_by_item_status.rb +0 -33
- data/lib/exlibris/aleph/tabs_parser/tab31.rb +0 -39
- data/lib/exlibris/aleph/tabs_parser/tab37.rb +0 -63
- data/lib/exlibris/aleph/tabs_parser/tab40.rb +0 -20
- data/lib/exlibris/aleph/tabs_parser/tab_sub_library.rb +0 -21
- data/lib/exlibris/aleph/tabs_parser/tab_www_item_desc.rb +0 -20
- data/lib/exlibris/aleph/task_installer.rb +0 -25
- data/lib/exlibris/aleph/write_attributes.rb +0 -38
- data/lib/exlibris/aleph/xml_util.rb +0 -50
- data/lib/exlibris/aleph/xservice/bor_auth.rb +0 -47
- data/lib/tasks/exlibris-aleph_tasks.rake +0 -48
- data/test/config/aleph/alephe/sub_libraries.yml +0 -801
- data/test/config/aleph/nyu50/collections.yml +0 -1168
- data/test/config/aleph/nyu50/item_permissions_by_item_process_status.yml +0 -61876
- data/test/config/aleph/nyu50/item_permissions_by_item_status.yml +0 -17319
- data/test/config/aleph/nyu50/items.yml +0 -617
- data/test/config/aleph/nyu50/patron_permissions.yml +0 -19720
- data/test/config/aleph/nyu50/patrons.yml +0 -249
- data/test/config/aleph/nyu50/pickup_locations.yml +0 -2910
- data/test/config/aleph/nyu51/collections.yml +0 -41
- data/test/config/aleph/nyu51/item_permissions_by_item_process_status.yml +0 -7689
- data/test/config/aleph/nyu51/item_permissions_by_item_status.yml +0 -430
- data/test/config/aleph/nyu51/items.yml +0 -617
- data/test/config/aleph/nyu51/patron_permissions.yml +0 -6588
- data/test/config/aleph/nyu51/patrons.yml +0 -237
- data/test/config/aleph/nyu51/pickup_locations.yml +0 -456
- data/test/config_test.rb +0 -24
- data/test/exlibris-aleph_test.rb +0 -7
- data/test/mnt/aleph_tab/nyu50/tab/tab15.eng +0 -4742
- data/test/mnt/aleph_tab/pc_tab_exp_field_extended.eng +0 -158
- data/test/mnt/aleph_tab/tab16 +0 -3792
- data/test/mnt/aleph_tab/tab31 +0 -998
- data/test/mnt/aleph_tab/tab37 +0 -405
- data/test/mnt/aleph_tab/tab40.eng +0 -335
- data/test/mnt/aleph_tab/tab_sub_library.eng +0 -378
- data/test/mnt/aleph_tab/tab_www_item_desc.eng +0 -208
- data/test/patron_test.rb +0 -98
- data/test/record_benchmarks.rb +0 -26
- data/test/record_test.rb +0 -64
- data/test/support/config.yml +0 -2
- data/test/tab_helper_benchmarks.rb +0 -53
- data/test/tab_helper_test.rb +0 -192
- data/test/test_helper.rb +0 -46
- data/test/vcr_cassettes/bor_auth.yml +0 -42
- data/test/vcr_cassettes/patron.yml +0 -142
- data/test/vcr_cassettes/patron_address.yml +0 -45
- data/test/vcr_cassettes/patron_bogus_url.yml +0 -731
- data/test/vcr_cassettes/patron_error.yml +0 -93
- data/test/vcr_cassettes/record.yml +0 -146
- data/test/vcr_cassettes/record_bogus_url.yml +0 -690
- data/test/xservice/bor_auth_test.rb +0 -28
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe ItemDisplayMasks do
|
|
8
|
+
let(:data) { ['Lost/Claimed ', 'Request ILL'] }
|
|
9
|
+
subject(:item_display_masks) { ItemDisplayMasks.new(data) }
|
|
10
|
+
it { should be_a Base }
|
|
11
|
+
it { should be_a ItemDisplayMasks }
|
|
12
|
+
describe '#data' do
|
|
13
|
+
subject { item_display_masks.data }
|
|
14
|
+
it { should eq data }
|
|
15
|
+
end
|
|
16
|
+
describe '#display' do
|
|
17
|
+
subject { item_display_masks.display }
|
|
18
|
+
it { should eq 'Lost/Claimed' }
|
|
19
|
+
end
|
|
20
|
+
describe '#mask' do
|
|
21
|
+
subject { item_display_masks.mask }
|
|
22
|
+
it { should eq 'Request ILL' }
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe PatronCirculationPolicies do
|
|
8
|
+
let(:data) { ['BOBST', '03', 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'Y', 'N',
|
|
9
|
+
'F', 'A', ' ', '20130831', '0000000500', 'N', 'N', 'N', '20', 'N',
|
|
10
|
+
'N', 'N', 'N'] }
|
|
11
|
+
subject(:patron_circulation_policies) { PatronCirculationPolicies.new(data) }
|
|
12
|
+
it { should be_a Base }
|
|
13
|
+
it { should be_a PatronCirculationPolicies }
|
|
14
|
+
describe '#data' do
|
|
15
|
+
subject { patron_circulation_policies.data }
|
|
16
|
+
it { should eq data }
|
|
17
|
+
end
|
|
18
|
+
describe '#sub_library_code' do
|
|
19
|
+
subject { patron_circulation_policies.sub_library_code }
|
|
20
|
+
it { should eq 'BOBST' }
|
|
21
|
+
end
|
|
22
|
+
describe '#patron_status_code' do
|
|
23
|
+
subject { patron_circulation_policies.patron_status_code }
|
|
24
|
+
it { should eq '03' }
|
|
25
|
+
end
|
|
26
|
+
describe '#borrow' do
|
|
27
|
+
subject { patron_circulation_policies.borrow }
|
|
28
|
+
it { should eq 'Y' }
|
|
29
|
+
end
|
|
30
|
+
describe '#photocopy' do
|
|
31
|
+
subject { patron_circulation_policies.photocopy }
|
|
32
|
+
it { should eq 'N' }
|
|
33
|
+
end
|
|
34
|
+
describe '#override' do
|
|
35
|
+
subject { patron_circulation_policies.override }
|
|
36
|
+
it { should eq 'Y' }
|
|
37
|
+
end
|
|
38
|
+
describe '#request_multiple' do
|
|
39
|
+
subject { patron_circulation_policies.request_multiple }
|
|
40
|
+
it { should eq 'N' }
|
|
41
|
+
end
|
|
42
|
+
describe '#check_loan' do
|
|
43
|
+
subject { patron_circulation_policies.check_loan }
|
|
44
|
+
it { should eq 'Y' }
|
|
45
|
+
end
|
|
46
|
+
describe '#request' do
|
|
47
|
+
subject { patron_circulation_policies.request }
|
|
48
|
+
it { should eq 'Y' }
|
|
49
|
+
end
|
|
50
|
+
describe '#renew' do
|
|
51
|
+
subject { patron_circulation_policies.renew }
|
|
52
|
+
it { should eq 'Y' }
|
|
53
|
+
end
|
|
54
|
+
describe '#ignore_late_return' do
|
|
55
|
+
subject { patron_circulation_policies.ignore_late_return }
|
|
56
|
+
it { should eq 'N' }
|
|
57
|
+
end
|
|
58
|
+
describe '#photocopy_charge' do
|
|
59
|
+
subject { patron_circulation_policies.photocopy_charge }
|
|
60
|
+
it { should eq 'F' }
|
|
61
|
+
end
|
|
62
|
+
describe '#expiration_date_operator' do
|
|
63
|
+
subject { patron_circulation_policies.expiration_date_operator }
|
|
64
|
+
it { should eq 'A' }
|
|
65
|
+
end
|
|
66
|
+
describe '#expiration_date_operator_type' do
|
|
67
|
+
subject { patron_circulation_policies.expiration_date_operator_type }
|
|
68
|
+
it { should eq '' }
|
|
69
|
+
end
|
|
70
|
+
describe '#expiration_date_parameter' do
|
|
71
|
+
subject { patron_circulation_policies.expiration_date_parameter }
|
|
72
|
+
it { should eq '20130831' }
|
|
73
|
+
end
|
|
74
|
+
describe '#cash_overspend_limit' do
|
|
75
|
+
subject { patron_circulation_policies.cash_overspend_limit }
|
|
76
|
+
it { should eq '0000000500' }
|
|
77
|
+
end
|
|
78
|
+
describe '#request_on_shelf' do
|
|
79
|
+
subject { patron_circulation_policies.request_on_shelf }
|
|
80
|
+
it { should eq 'N' }
|
|
81
|
+
end
|
|
82
|
+
describe '#loan_display' do
|
|
83
|
+
subject { patron_circulation_policies.loan_display }
|
|
84
|
+
it { should eq 'N' }
|
|
85
|
+
end
|
|
86
|
+
describe '#reading_room_permission' do
|
|
87
|
+
subject { patron_circulation_policies.reading_room_permission }
|
|
88
|
+
it { should eq 'N' }
|
|
89
|
+
end
|
|
90
|
+
describe '#default_hold_priority' do
|
|
91
|
+
subject { patron_circulation_policies.default_hold_priority }
|
|
92
|
+
it { should eq '20' }
|
|
93
|
+
end
|
|
94
|
+
describe '#book' do
|
|
95
|
+
subject { patron_circulation_policies.book }
|
|
96
|
+
it { should eq 'N' }
|
|
97
|
+
end
|
|
98
|
+
describe '#ignore_closing_hours_for_booking' do
|
|
99
|
+
subject { patron_circulation_policies.ignore_closing_hours_for_booking }
|
|
100
|
+
it { should eq 'N' }
|
|
101
|
+
end
|
|
102
|
+
describe '#automatically_create_aleph_record' do
|
|
103
|
+
subject { patron_circulation_policies.automatically_create_aleph_record }
|
|
104
|
+
it { should eq 'N' }
|
|
105
|
+
end
|
|
106
|
+
describe '#rush_cataloging' do
|
|
107
|
+
subject { patron_circulation_policies.rush_cataloging }
|
|
108
|
+
it { should eq 'N' }
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe PatronStatuses do
|
|
8
|
+
let(:data) { ['Palmer Faculty ', '03'] }
|
|
9
|
+
subject(:patron_statuses) { PatronStatuses.new(data) }
|
|
10
|
+
it { should be_a Base }
|
|
11
|
+
it { should be_a PatronStatuses }
|
|
12
|
+
describe '#data' do
|
|
13
|
+
subject { patron_statuses.data }
|
|
14
|
+
it { should eq data }
|
|
15
|
+
end
|
|
16
|
+
describe '#code' do
|
|
17
|
+
subject { patron_statuses.code }
|
|
18
|
+
it { should eq '03' }
|
|
19
|
+
end
|
|
20
|
+
describe '#display' do
|
|
21
|
+
subject { patron_statuses.display }
|
|
22
|
+
it { should eq 'Palmer Faculty' }
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
module Row
|
|
7
|
+
describe SubLibraries do
|
|
8
|
+
let(:data) { ['BOBST', '1', 'NYU50', 'L', 'NYU Bobst '] }
|
|
9
|
+
subject(:sub_libraries) { SubLibraries.new(data) }
|
|
10
|
+
it { should be_a Base }
|
|
11
|
+
it { should be_a SubLibraries }
|
|
12
|
+
describe '#data' do
|
|
13
|
+
subject { sub_libraries.data }
|
|
14
|
+
it { should eq data }
|
|
15
|
+
end
|
|
16
|
+
describe '#code' do
|
|
17
|
+
subject { sub_libraries.code }
|
|
18
|
+
it { should eq 'BOBST' }
|
|
19
|
+
end
|
|
20
|
+
describe '#type' do
|
|
21
|
+
subject { sub_libraries.type }
|
|
22
|
+
it { should eq '1' }
|
|
23
|
+
end
|
|
24
|
+
describe '#admin_library_code' do
|
|
25
|
+
subject { sub_libraries.admin_library_code }
|
|
26
|
+
it { should eq 'NYU50' }
|
|
27
|
+
end
|
|
28
|
+
describe '#alpha' do
|
|
29
|
+
subject { sub_libraries.alpha }
|
|
30
|
+
it { should eq 'L' }
|
|
31
|
+
end
|
|
32
|
+
describe '#display' do
|
|
33
|
+
subject { sub_libraries.display }
|
|
34
|
+
it { should eq 'NYU Bobst' }
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
module Reader
|
|
6
|
+
describe SubLibraries do
|
|
7
|
+
let(:irrelevant_codes) { Config.irrelevant_sub_libraries }
|
|
8
|
+
subject(:sub_libraries) { SubLibraries.new }
|
|
9
|
+
describe '#admin_library' do
|
|
10
|
+
subject { sub_libraries.admin_library }
|
|
11
|
+
it { should eq AdminLibrary.new('alephe') }
|
|
12
|
+
end
|
|
13
|
+
describe '#filename' do
|
|
14
|
+
subject { sub_libraries.filename }
|
|
15
|
+
it { should eq 'tab_sub_library.eng' }
|
|
16
|
+
end
|
|
17
|
+
describe '#all' do
|
|
18
|
+
subject { sub_libraries.all }
|
|
19
|
+
it { should be_an Array }
|
|
20
|
+
it { should_not be_empty }
|
|
21
|
+
it 'should contain SubLibraries' do
|
|
22
|
+
subject.each do |sub_library|
|
|
23
|
+
expect(sub_library).to be_a SubLibrary
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
it 'should not include irrelevant codes' do
|
|
27
|
+
subject.find do |sub_library|
|
|
28
|
+
expect(irrelevant_codes).not_to include(sub_library.code)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
module Table
|
|
5
|
+
describe SubLibraries do
|
|
6
|
+
subject(:sub_libraries) { SubLibraries.new }
|
|
7
|
+
describe '#all' do
|
|
8
|
+
subject { sub_libraries.all }
|
|
9
|
+
it { should be_an Array }
|
|
10
|
+
it { should_not be_empty }
|
|
11
|
+
end
|
|
12
|
+
describe '#each' do
|
|
13
|
+
subject { sub_libraries.each }
|
|
14
|
+
it { should be_an Enumerable }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
module Exlibris
|
|
3
|
+
module Aleph
|
|
4
|
+
describe TablesManager do
|
|
5
|
+
subject(:tables_manager) { TablesManager.instance }
|
|
6
|
+
it { should be_a TablesManager }
|
|
7
|
+
describe TablesManager::TIME_TO_LIVE do
|
|
8
|
+
subject { TablesManager::TIME_TO_LIVE }
|
|
9
|
+
it { should eq 86400 }
|
|
10
|
+
end
|
|
11
|
+
describe '#equal?' do
|
|
12
|
+
let(:other_instance) { TablesManager.instance }
|
|
13
|
+
subject { tables_manager.equal?(other_instance) }
|
|
14
|
+
it { should be_true }
|
|
15
|
+
end
|
|
16
|
+
describe '#expired?' do
|
|
17
|
+
subject { tables_manager.expired? }
|
|
18
|
+
it { should be_false }
|
|
19
|
+
context 'when the table has been in use for more than a day' do
|
|
20
|
+
it 'should be true' do
|
|
21
|
+
expect(tables_manager.expired?).to be_false
|
|
22
|
+
Timecop.freeze(Time.now + 86401) do
|
|
23
|
+
expect(subject).to be_true
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe '#sub_libraries' do
|
|
29
|
+
subject { tables_manager.sub_libraries }
|
|
30
|
+
it { should be_a Table::SubLibraries }
|
|
31
|
+
context 'when the tables manager is not expired' do
|
|
32
|
+
it { should be tables_manager.sub_libraries }
|
|
33
|
+
end
|
|
34
|
+
context 'when the tables manager is expired' do
|
|
35
|
+
it 'should not be the same object' do
|
|
36
|
+
subject
|
|
37
|
+
Timecop.freeze(Time.now + 86401) do
|
|
38
|
+
expect(subject).not_to be tables_manager.sub_libraries
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
describe '#collections' do
|
|
44
|
+
subject { tables_manager.collections }
|
|
45
|
+
it { should be_a Table::Collections }
|
|
46
|
+
context 'when the tables manager is not expired' do
|
|
47
|
+
it { should be tables_manager.collections }
|
|
48
|
+
end
|
|
49
|
+
context 'when the tables manager is expired' do
|
|
50
|
+
it 'should not be the same object' do
|
|
51
|
+
subject
|
|
52
|
+
Timecop.freeze(Time.now + 86401) do
|
|
53
|
+
expect(subject).not_to be tables_manager.collections
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
describe '#patron_statuses' do
|
|
59
|
+
subject { tables_manager.patron_statuses }
|
|
60
|
+
it { should be_a Table::Patron::Statuses }
|
|
61
|
+
context 'when the tables manager is not expired' do
|
|
62
|
+
it { should be tables_manager.patron_statuses }
|
|
63
|
+
end
|
|
64
|
+
context 'when the tables manager is expired' do
|
|
65
|
+
it 'should not be the same object' do
|
|
66
|
+
subject
|
|
67
|
+
Timecop.freeze(Time.now + 86401) do
|
|
68
|
+
expect(subject).not_to be tables_manager.patron_statuses
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
describe '#patron_circulation_policies' do
|
|
74
|
+
subject { tables_manager.patron_circulation_policies }
|
|
75
|
+
it { should be_a Table::Patron::CirculationPolicies }
|
|
76
|
+
context 'when the tables manager is not expired' do
|
|
77
|
+
it { should be tables_manager.patron_circulation_policies }
|
|
78
|
+
end
|
|
79
|
+
context 'when the tables manager is expired' do
|
|
80
|
+
it 'should not be the same object' do
|
|
81
|
+
subject
|
|
82
|
+
Timecop.freeze(Time.now + 86401) do
|
|
83
|
+
expect(subject).not_to be tables_manager.patron_circulation_policies
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
describe '#item_circulation_policies' do
|
|
89
|
+
subject { tables_manager.item_circulation_policies }
|
|
90
|
+
it { should be_a Table::Item::CirculationPolicies }
|
|
91
|
+
context 'when the tables manager is not expired' do
|
|
92
|
+
it { should be tables_manager.item_circulation_policies }
|
|
93
|
+
end
|
|
94
|
+
context 'when the tables manager is expired' do
|
|
95
|
+
it 'should not be the same object' do
|
|
96
|
+
subject
|
|
97
|
+
Timecop.freeze(Time.now + 86401) do
|
|
98
|
+
expect(subject).not_to be tables_manager.item_circulation_policies
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
describe '#item_display_masks' do
|
|
104
|
+
subject { tables_manager.item_display_masks }
|
|
105
|
+
it { should be_a Table::Item::DisplayMasks }
|
|
106
|
+
context 'when the tables manager is not expired' do
|
|
107
|
+
it { should be tables_manager.item_display_masks }
|
|
108
|
+
end
|
|
109
|
+
context 'when the tables manager is expired' do
|
|
110
|
+
it 'should not be the same object' do
|
|
111
|
+
subject
|
|
112
|
+
Timecop.freeze(Time.now + 86401) do
|
|
113
|
+
expect(subject).not_to be tables_manager.item_display_masks
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
$:.unshift File.expand_path('..', __FILE__)
|
|
2
|
+
$:.unshift File.expand_path('../../lib', __FILE__)
|
|
3
|
+
require 'coveralls'
|
|
4
|
+
Coveralls.wear!
|
|
5
|
+
require 'rspec'
|
|
6
|
+
require 'vcr'
|
|
7
|
+
require 'timecop'
|
|
8
|
+
require 'exlibris-aleph'
|
|
9
|
+
|
|
10
|
+
require 'pry'
|
|
11
|
+
|
|
12
|
+
VCR.configure do |config|
|
|
13
|
+
config.hook_into :faraday
|
|
14
|
+
config.cassette_library_dir = 'spec/vcr_cassettes'
|
|
15
|
+
config.configure_rspec_metadata!
|
|
16
|
+
config.filter_sensitive_data("library.edu") { "library.nyu.edu" }
|
|
17
|
+
config.filter_sensitive_data('BOR_ID') { ENV['BOR_ID'] }
|
|
18
|
+
config.filter_sensitive_data('BOR_ID_WITHOUT_HOLD_PERMISSION') do
|
|
19
|
+
ENV['BOR_ID_WITHOUT_HOLD_PERMISSION']
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
Exlibris::Aleph.configure do |config|
|
|
24
|
+
config.base_url = 'http://aleph.library.nyu.edu'
|
|
25
|
+
config.adms = ['NYU50', 'NYU51']
|
|
26
|
+
config.table_path = "#{File.dirname(__FILE__)}/support/mnt/aleph_tab"
|
|
27
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -574,6 +574,7 @@ BOBST ## AC L AFC-Post cataloging Y Y Y N Y Y N Y N 00 N A
|
|
|
574
574
|
BOBST ## AO L NYU AFC Offsite mediated avail Y Y N N Y Y N N N 00 N A
|
|
575
575
|
BOBST ## AP L NYU AFC Offsite mediated proce Y Y N N Y Y N N N 00 N A
|
|
576
576
|
BOBST ## AR L Received N N N N Y Y N N N 00 N A
|
|
577
|
+
BOBST 01 BD L At Bindery N N C N Y Y N N N 00 N A
|
|
577
578
|
BOBST ## BD L At Bindery N N C N Y Y N N N 00 N A
|
|
578
579
|
BOBST ## BL L Billed as lost N N N Y Y Y N N N 00 N A
|
|
579
580
|
BOBST ## BO L Bound Y N N N Y Y N N N 00 N A
|
|
@@ -4740,3 +4741,4 @@ TNSGI ## ## L IS and IPS not used by TNSGI N N N N N N N N N 00 N A
|
|
|
4740
4741
|
TNSKE ## ## L IS and IPS not used by TNSKE N N N N N N N N N 00 N A
|
|
4741
4742
|
TNSSC ## ## L IS and IPS not used by TNSSC N N N N N N N N N 00 N A
|
|
4742
4743
|
TNSOS ## ## L IS and IPS not used by TNSOS N N N N N N N N N 00 N A
|
|
4744
|
+
BOBST ## ## L IS and IPS not used by TNSOS N N N N N N N N N 00 N A
|