geoblacklight 4.0.0 → 4.1.1
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/.github/workflows/ruby.yml +23 -8
- data/.gitignore +3 -0
- data/.standard.yml +1 -0
- data/Gemfile +13 -11
- data/README.md +1 -1
- data/Rakefile +42 -50
- data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +26 -0
- data/app/assets/images/blacklight/arizona.svg +4 -0
- data/app/assets/images/blacklight/circle-info-solid.svg +1 -0
- data/app/assets/images/blacklight/fire-solid.svg +1 -0
- data/app/assets/images/blacklight/lightbulb-solid.svg +1 -0
- data/app/assets/images/blacklight/nebraska.svg +4 -0
- data/app/assets/images/blacklight/rutgers.svg +5 -0
- data/app/assets/images/blacklight/triangle-exclamation-solid.svg +1 -0
- data/app/assets/javascripts/geoblacklight/basemaps.js +1 -1
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +8 -0
- data/app/components/geoblacklight/display_note_component.html.erb +1 -0
- data/app/components/geoblacklight/display_note_component.rb +47 -0
- data/app/components/geoblacklight/icon_facet_item_component.rb +2 -2
- data/app/controllers/download_controller.rb +36 -37
- data/app/controllers/relation_controller.rb +1 -0
- data/app/controllers/wms_controller.rb +1 -0
- data/app/helpers/arcgis_helper.rb +2 -1
- data/app/helpers/blacklight_helper.rb +2 -1
- data/app/helpers/carto_helper.rb +3 -2
- data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +2 -1
- data/app/helpers/geoblacklight_helper.rb +47 -36
- data/app/models/concerns/geoblacklight/bbox_filter_query.rb +1 -1
- data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +3 -2
- data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/inspection.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document.rb +17 -9
- data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +2 -1
- data/app/presenters/geoblacklight/document_presenter.rb +3 -2
- data/app/views/catalog/_citation.html.erb +35 -10
- data/app/views/catalog/_show_default_display_note.html.erb +7 -0
- data/app/views/catalog/_show_sidebar.html.erb +1 -0
- data/app/views/catalog/_show_sidebar_static_map.html.erb +10 -0
- data/app/views/relation/index.json.jbuilder +1 -1
- data/config/initializers/new_gbl_settings_defaults_4.1.yml +104 -0
- data/config/initializers/rails_config.rb +5 -1
- data/config/locales/geoblacklight.en.yml +18 -10
- data/geoblacklight.gemspec +36 -40
- data/lib/generators/geoblacklight/assets_generator.rb +15 -15
- data/lib/generators/geoblacklight/install_generator.rb +24 -23
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +66 -71
- data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +2 -2
- data/lib/generators/geoblacklight/templates/settings.yml +76 -24
- data/lib/geoblacklight/bounding_box.rb +1 -0
- data/lib/geoblacklight/constants.rb +26 -25
- data/lib/geoblacklight/download/geojson_download.rb +10 -9
- data/lib/geoblacklight/download/geotiff_download.rb +6 -5
- data/lib/geoblacklight/download/hgl_download.rb +4 -3
- data/lib/geoblacklight/download/kmz_download.rb +11 -10
- data/lib/geoblacklight/download/shapefile_download.rb +10 -9
- data/lib/geoblacklight/download.rb +12 -11
- data/lib/geoblacklight/engine.rb +10 -9
- data/lib/geoblacklight/exceptions.rb +3 -0
- data/lib/geoblacklight/faraday_middleware/follow_redirects.rb +14 -11
- data/lib/geoblacklight/geometry.rb +6 -5
- data/lib/geoblacklight/item_viewer.rb +4 -3
- data/lib/geoblacklight/metadata/base.rb +4 -3
- data/lib/geoblacklight/metadata/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata/html.rb +5 -4
- data/lib/geoblacklight/metadata/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/base.rb +5 -4
- data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata_transformer.rb +6 -2
- data/lib/geoblacklight/reference.rb +3 -2
- data/lib/geoblacklight/references.rb +12 -7
- data/lib/geoblacklight/relation/ancestors.rb +4 -3
- data/lib/geoblacklight/relation/descendants.rb +4 -3
- data/lib/geoblacklight/relation/relation_response.rb +3 -2
- data/lib/geoblacklight/routes/downloadable.rb +3 -2
- data/lib/geoblacklight/routes/exportable.rb +4 -3
- data/lib/geoblacklight/routes/wms.rb +2 -1
- data/lib/geoblacklight/routes.rb +4 -3
- data/lib/geoblacklight/version.rb +2 -1
- data/lib/geoblacklight/view_helper_override.rb +3 -2
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +5 -4
- data/lib/geoblacklight/wms_layer.rb +4 -3
- data/lib/geoblacklight.rb +32 -31
- data/lib/tasks/geoblacklight.rake +45 -44
- data/schema/geoblacklight-schema-aardvark.json +6 -0
- data/spec/components/geoblacklight/display_note_component_spec.rb +27 -0
- data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +11 -10
- data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +8 -7
- data/spec/config/initializers/rails_config_spec.rb +10 -9
- data/spec/controllers/catalog_controller_spec.rb +27 -26
- data/spec/controllers/download_controller_spec.rb +50 -49
- data/spec/controllers/relation_controller_spec.rb +5 -4
- data/spec/controllers/wms_controller_spec.rb +10 -9
- data/spec/factories/user.rb +3 -2
- data/spec/features/bookmarks_spec.rb +7 -6
- data/spec/features/citations_spec.rb +12 -0
- data/spec/features/configurable_basemap_spec.rb +12 -11
- data/spec/features/data_dictionary_download_spec.rb +11 -10
- data/spec/features/download_layer_spec.rb +64 -63
- data/spec/features/empty_search_spec.rb +6 -5
- data/spec/features/esri_viewer_spec.rb +33 -32
- data/spec/features/exports_spec.rb +18 -17
- data/spec/features/full_screen_controll_spec.rb +8 -8
- data/spec/features/help_text_spec.rb +6 -5
- data/spec/features/home_page_spec.rb +30 -29
- data/spec/features/iiif_viewer_spec.rb +6 -5
- data/spec/features/index_map_spec.rb +17 -16
- data/spec/features/layer_inspection_spec.rb +8 -7
- data/spec/features/layer_opacity_spec.rb +15 -14
- data/spec/features/layer_preview_spec.rb +11 -10
- data/spec/features/layer_with_no_references_spec.rb +5 -4
- data/spec/features/linkified_attribute_table_spec.rb +8 -7
- data/spec/features/metadata_panel_spec.rb +32 -31
- data/spec/features/missing_metadata_spec.rb +18 -17
- data/spec/features/multiple_downloads_spec.rb +11 -10
- data/spec/features/oembed_spec.rb +6 -5
- data/spec/features/relations_spec.rb +51 -26
- data/spec/features/saved_searches_spec.rb +7 -6
- data/spec/features/search_bar_spec.rb +9 -8
- data/spec/features/search_results_complex_geometry_spec.rb +12 -11
- data/spec/features/search_results_icons_spec.rb +10 -9
- data/spec/features/search_results_map_spec.rb +21 -20
- data/spec/features/search_results_overlap_ratio_spec.rb +17 -16
- data/spec/features/search_spec.rb +19 -18
- data/spec/features/show_page_download_spec.rb +15 -14
- data/spec/features/show_page_metadata_spec.rb +9 -8
- data/spec/features/show_page_sidebar_static_map_spec.rb +21 -0
- data/spec/features/sms_spec.rb +12 -11
- data/spec/features/split_view.html.erb_spec.rb +56 -55
- data/spec/features/suppressed_records_spec.rb +10 -9
- data/spec/features/tilejson_spec.rb +12 -9
- data/spec/features/tms_spec.rb +6 -5
- data/spec/features/web_services_modal_spec.rb +39 -38
- data/spec/features/wmts_spec.rb +20 -17
- data/spec/features/xyz_spec.rb +6 -5
- data/spec/fixtures/manifests/tilejson.json +1 -1
- data/spec/fixtures/manifests/wmts-single.xml +5 -5
- data/spec/fixtures/solr_documents/actual-papermap1.json +1 -1
- data/spec/fixtures/solr_documents/actual-point1.json +1 -1
- data/spec/fixtures/solr_documents/actual-polygon1.json +1 -1
- data/spec/fixtures/solr_documents/actual-raster1.json +1 -1
- data/spec/fixtures/solr_documents/baruch_ancestor1.json +1 -1
- data/spec/fixtures/solr_documents/baruch_ancestor2.json +1 -1
- data/spec/fixtures/solr_documents/baruch_documentation_download.json +2 -2
- data/spec/fixtures/solr_documents/cornell_html_metadata.json +1 -1
- data/spec/fixtures/solr_documents/display-note.json +52 -0
- data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +1 -1
- data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-feature-layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-image-map-layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-wms-layer.json +1 -1
- data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
- data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +1 -1
- data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +1 -1
- data/spec/fixtures/solr_documents/index-map-polygon.json +1 -1
- data/spec/fixtures/solr_documents/index-map-stanford.json +1 -1
- data/spec/fixtures/solr_documents/index_map_point.json +1 -1
- data/spec/fixtures/solr_documents/princeton-parent.json +1 -1
- data/spec/fixtures/solr_documents/public_direct_download.json +1 -1
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +1 -1
- data/spec/fixtures/solr_documents/restricted-line.json +1 -1
- data/spec/fixtures/solr_documents/tilejson.json +3 -3
- data/spec/fixtures/solr_documents/umn_metro_result1.json +2 -2
- data/spec/fixtures/solr_documents/umn_state_result1.json +1 -1
- data/spec/fixtures/solr_documents/umn_state_result2.json +1 -1
- data/spec/fixtures/solr_documents/uva_slug_colon.json +1 -1
- data/spec/fixtures/solr_documents/wmts-multiple.json +1 -1
- data/spec/fixtures/solr_documents/wmts-single-layer.json +7 -7
- data/spec/fixtures/solr_documents/xyz.json +3 -3
- data/spec/helpers/arcgis_helper_spec.rb +8 -7
- data/spec/helpers/carto_helper_spec.rb +6 -5
- data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +10 -15
- data/spec/helpers/geoblacklight_helper_spec.rb +139 -138
- data/spec/lib/geoblacklight/bounding_box_spec.rb +14 -13
- data/spec/lib/geoblacklight/document_presenter_spec.rb +26 -25
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +8 -7
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +8 -7
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +16 -15
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +9 -8
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +8 -7
- data/spec/lib/geoblacklight/download_spec.rb +61 -60
- data/spec/lib/geoblacklight/geometry_spec.rb +29 -28
- data/spec/lib/geoblacklight/item_viewer_spec.rb +25 -24
- data/spec/lib/geoblacklight/metadata/base_spec.rb +44 -43
- data/spec/lib/geoblacklight/metadata/html_spec.rb +7 -6
- data/spec/lib/geoblacklight/metadata_spec.rb +15 -14
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +13 -12
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +8 -7
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +8 -7
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +15 -14
- data/spec/lib/geoblacklight/reference_spec.rb +28 -27
- data/spec/lib/geoblacklight/references_spec.rb +89 -76
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +17 -16
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +17 -16
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +29 -28
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +14 -13
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +19 -18
- data/spec/lib/geoblacklight/wms_layer_spec.rb +31 -30
- data/spec/models/concerns/geoblacklight/bbox_filter_field_spec.rb +31 -31
- data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +32 -32
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +16 -15
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +7 -6
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +16 -17
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +7 -6
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +121 -107
- data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +8 -7
- data/spec/presenters/geoblacklight/bbox_item_presenter_spec.rb +10 -10
- data/spec/routing/catalog_routing_spec.rb +4 -3
- data/spec/spec_helper.rb +35 -38
- data/spec/support/backport_test_helpers.rb +6 -5
- data/spec/support/features/session_helpers.rb +8 -7
- data/spec/support/features.rb +2 -1
- data/spec/support/fixtures.rb +2 -1
- data/spec/tasks/geoblacklight_spec.rb +10 -9
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +16 -15
- data/spec/views/catalog/_document_split.html.erb_spec.rb +3 -2
- data/spec/views/catalog/_index_split.html.erb_spec.rb +3 -2
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +5 -4
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +11 -10
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +13 -12
- data/template.rb +9 -8
- metadata +40 -216
- data/.gitmodules +0 -0
- data/.rubocop.yml +0 -111
- data/.rubocop_todo.yml +0 -437
- data/config/initializers/new_gbl_settings_defaults_3_4.yml +0 -6
- /data/app/assets/images/blacklight/{berkeley.svg → university-of-california-berkeley.svg} +0 -0
@@ -1,48 +1,49 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "search results map", js: true do
|
6
|
+
scenario "present on a search result page" do
|
7
|
+
visit search_catalog_path(q: "Minnesota")
|
8
|
+
expect(page).to have_css "#map"
|
8
9
|
end
|
9
|
-
xscenario
|
10
|
+
xscenario "view is scoped to Minnesota" do
|
10
11
|
# pending 'Minnesota fixtures have changed.'
|
11
12
|
visit root_path
|
12
|
-
click_link
|
13
|
-
expect(page).to have_css
|
14
|
-
bbox = page.find(
|
13
|
+
click_link "Minnesota, United States"
|
14
|
+
expect(page).to have_css "#map"
|
15
|
+
bbox = page.find("#map")["data-js-map-render-bbox"]
|
15
16
|
|
16
17
|
# Example bbox for Place > Minnesota, United States:
|
17
18
|
# "-101.90917968749999,38.75408327579141,-83.27636718749999,53.27835301753182"
|
18
|
-
left, bottom, right, top = bbox.split(
|
19
|
+
left, bottom, right, top = bbox.split(",")
|
19
20
|
expect(left.to_f).to be_within(2).of(-101)
|
20
21
|
expect(bottom.to_f).to be_within(3).of(38)
|
21
22
|
expect(right.to_f).to be_within(2).of(-83)
|
22
23
|
expect(top.to_f).to be_within(2).of(53)
|
23
24
|
end
|
24
|
-
scenario
|
25
|
-
visit search_catalog_path(q:
|
26
|
-
expect(page).to have_css
|
27
|
-
bbox = page.find(
|
25
|
+
scenario "view is scoped to Twin Cities metro area" do
|
26
|
+
visit search_catalog_path(q: "Minneapolis")
|
27
|
+
expect(page).to have_css "#map"
|
28
|
+
bbox = page.find("#map")["data-js-map-render-bbox"]
|
28
29
|
|
29
30
|
# Example bbox for q: Minneapolis
|
30
31
|
# "-94.537353515625,44.004669106432225,-92.208251953125,45.87088761346192"
|
31
|
-
left, bottom, right, top = bbox.split(
|
32
|
+
left, bottom, right, top = bbox.split(",")
|
32
33
|
expect(left.to_f).to be_within(1).of(-94)
|
33
34
|
expect(bottom.to_f).to be_within(1).of(44)
|
34
35
|
expect(right.to_f).to be_within(1).of(-92)
|
35
36
|
expect(top.to_f).to be_within(1).of(45)
|
36
37
|
end
|
37
|
-
scenario
|
38
|
+
scenario "view is scoped to NYC" do
|
38
39
|
visit root_path
|
39
|
-
click_link
|
40
|
-
expect(page).to have_css
|
41
|
-
bbox = page.find(
|
40
|
+
click_link "New York, New York"
|
41
|
+
expect(page).to have_css "#map"
|
42
|
+
bbox = page.find("#map")["data-js-map-render-bbox"]
|
42
43
|
|
43
44
|
# Example bbox for Place > New York, New York, United States
|
44
45
|
# "-74.26895141601562,40.455307212131494,-73.68667602539061,40.95501133048621"
|
45
|
-
left, bottom, right, top = bbox.split(
|
46
|
+
left, bottom, right, top = bbox.split(",")
|
46
47
|
expect(left.to_f).to be_within(2).of(-74)
|
47
48
|
expect(bottom.to_f).to be_within(2).of(40)
|
48
49
|
expect(right.to_f).to be_within(2).of(-73)
|
@@ -1,56 +1,57 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "spatial search results overlap ratio" do
|
6
|
+
scenario "result bboxes fully contained, overlap ratio applied to relevancy" do
|
6
7
|
allow(Settings).to receive(:OVERLAP_RATIO_BOOST).and_return 200
|
7
8
|
|
8
9
|
# BBox param is the US upper midwest and Canada, roughly centered on the state of Minnesota
|
9
10
|
visit search_catalog_path(
|
10
|
-
bbox:
|
11
|
-
"f[#{Settings.FIELDS.PROVIDER}][]":
|
11
|
+
bbox: "-103.196521 39.21962 -84.431873 53.63497",
|
12
|
+
"f[#{Settings.FIELDS.PROVIDER}][]": "University of Minnesota"
|
12
13
|
)
|
13
14
|
|
14
15
|
# MN State result
|
15
16
|
# Slightly bigger bbox / result bbox fits bbox param best
|
16
|
-
expect(position_in_result_page(page,
|
17
|
+
expect(position_in_result_page(page, "e9c71086-6b25-4950-8e1c-84c2794e3382")).to eq 1
|
17
18
|
|
18
19
|
# MN State result
|
19
20
|
# Slightly smaller bbox / result bbox fits bbox param second best
|
20
|
-
expect(position_in_result_page(page,
|
21
|
+
expect(position_in_result_page(page, "2eddde2f-c222-41ca-bd07-2fd74a21f4de")).to eq 2
|
21
22
|
|
22
23
|
# TC Metro result
|
23
24
|
# Smaller bbox / result bbox fits bbox param third
|
24
|
-
expect(position_in_result_page(page,
|
25
|
+
expect(position_in_result_page(page, "02236876-9c21-42f6-9870-d2562da8e44f")).to eq 3
|
25
26
|
end
|
26
27
|
|
27
|
-
scenario
|
28
|
+
scenario "three bboxes overlap, but none are fully contained, overlap ratio should still impact relevancy" do
|
28
29
|
allow(Settings).to receive(:OVERLAP_RATIO_BOOST).and_return 200
|
29
30
|
|
30
31
|
# BBox param is the center to western edge of New York state and Canada, roughly centered on Lake Ontario
|
31
32
|
visit search_catalog_path(
|
32
|
-
bbox:
|
33
|
-
"f[#{Settings.FIELDS.PROVIDER}][]":
|
33
|
+
bbox: "-83.750499 40.41709 -74.368175 47.963663",
|
34
|
+
"f[#{Settings.FIELDS.PROVIDER}][]": "Cornell"
|
34
35
|
)
|
35
36
|
|
36
37
|
# NY State result
|
37
38
|
# Bigger bbox / result bbox overlaps bbox param best
|
38
|
-
expect(position_in_result_page(page,
|
39
|
+
expect(position_in_result_page(page, "cugir-008186")).to be < 4
|
39
40
|
|
40
41
|
# NY State result
|
41
42
|
# Bigger bbox / result bbox overlaps bbox param best (score tie)
|
42
|
-
expect(position_in_result_page(page,
|
43
|
+
expect(position_in_result_page(page, "cugir-008186-no-downloadurl")).to be < 4
|
43
44
|
|
44
45
|
# NY Adirondak Region result
|
45
46
|
# Smaller bbox / result bbox overlaps bbox param the least
|
46
|
-
expect(position_in_result_page(page,
|
47
|
+
expect(position_in_result_page(page, "cugir-007741")).to eq 4
|
47
48
|
end
|
48
49
|
end
|
49
50
|
|
50
51
|
def position_in_result_page(page, id)
|
51
52
|
results = []
|
52
|
-
page.all(
|
53
|
-
results << div[
|
53
|
+
page.all("div.documentHeader.row").each do |div|
|
54
|
+
results << div["data-layer-id"]
|
54
55
|
end
|
55
56
|
results.index(id) + 1
|
56
57
|
end
|
@@ -1,37 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Search" do
|
6
|
+
scenario "Suppressed records are hidden" do
|
7
|
+
visit "/?q=Sanborn+Map+Company"
|
8
|
+
expect(page).to have_css ".document", count: 1
|
8
9
|
end
|
9
10
|
|
10
|
-
scenario
|
11
|
-
visit
|
11
|
+
scenario "When searching child records from a parent record, supressed records are not hidden", js: true do
|
12
|
+
visit "/catalog/princeton-1r66j405w"
|
12
13
|
|
13
|
-
within(
|
14
|
+
within(".card.relations.relationship-source_descendants") do
|
14
15
|
expect(page).to have_link(href: /f%5Bdct_source_sm%5D/)
|
15
16
|
end
|
16
17
|
|
17
|
-
click_link
|
18
|
-
expect(page).to have_css
|
18
|
+
click_link "Browse all 4 records..."
|
19
|
+
expect(page).to have_css ".document", count: 4
|
19
20
|
end
|
20
21
|
|
21
|
-
scenario
|
22
|
-
visit
|
22
|
+
scenario "When sorting by year desc, highest value sorts first" do
|
23
|
+
visit "/?f%5Bschema_provider_s%5D%5B%5D=University+of+Minnesota&sort=gbl_indexYear_im+desc%2C+dct_title_sort+asc"
|
23
24
|
|
24
|
-
first_doc = find(
|
25
|
+
first_doc = find(".document", match: :first)
|
25
26
|
|
26
27
|
# Doc with gbl_indexYear_im value: [2014, 2030]
|
27
|
-
expect(first_doc[
|
28
|
+
expect(first_doc["data-document-id"]).to eq("02236876-9c21-42f6-9870-d2562da8e44f")
|
28
29
|
end
|
29
30
|
|
30
|
-
scenario
|
31
|
-
visit
|
32
|
-
last_doc = find_all(
|
31
|
+
scenario "When sorting by year, missing values sort last" do
|
32
|
+
visit "/?f%5Bschema_provider_s%5D%5B%5D=University+of+Minnesota&sort=gbl_indexYear_im+desc%2C+dct_title_sort+asc"
|
33
|
+
last_doc = find_all(".document").last
|
33
34
|
|
34
35
|
# Doc without gbl_indexYear_im value
|
35
|
-
expect(last_doc[
|
36
|
+
expect(last_doc["data-document-id"]).to eq("05d-03-nogeomtype")
|
36
37
|
end
|
37
38
|
end
|
@@ -1,28 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Download display on show page" do
|
6
|
+
scenario "with download String" do
|
7
|
+
visit solr_document_path "2eddde2f-c222-41ca-bd07-2fd74a21f4de"
|
8
|
+
find("#downloads-button").click
|
9
|
+
within "#downloads-collapse" do
|
9
10
|
expect(page).to have_selector(:css, 'a[href="ftp://gdrs.dnr.state.mn.us/gdrs/data/pub/us_mn_state_dnr/fgdb_base_usgs_scanned_topo_100k_drg.zip"]')
|
10
11
|
end
|
11
12
|
end
|
12
13
|
|
13
|
-
scenario
|
14
|
-
visit solr_document_path
|
15
|
-
find(
|
16
|
-
within
|
14
|
+
scenario "with download Array" do
|
15
|
+
visit solr_document_path "princeton-sx61dn82p"
|
16
|
+
find("#downloads-button").click
|
17
|
+
within "#downloads-collapse" do
|
17
18
|
expect(page).to have_selector(:css, 'a[href="https://figgy.princeton.edu/downloads/a990e1b4-7f0e-44b8-ae2a-de7e93cdd74a/file/36a2274c-e0c6-4901-a14f-7c422d15e194"]')
|
18
19
|
expect(page).to have_selector(:css, 'a[href="https://libimages1.princeton.edu/loris/figgy_prod/2e%2Fa9%2F43%2F2ea943b0bd4348fc9954b299f1b359f6%2Fintermediate_file.jp2/full/full/0/default.jpg"]')
|
19
20
|
end
|
20
21
|
end
|
21
22
|
|
22
|
-
scenario
|
23
|
-
visit solr_document_path
|
24
|
-
find(
|
25
|
-
within
|
23
|
+
scenario "with Harvard hgl_download" do
|
24
|
+
visit solr_document_path "harvard-g7064-s2-1834-k3"
|
25
|
+
find("#downloads-button").click
|
26
|
+
within "#downloads-collapse" do
|
26
27
|
expect(page).to have_selector(:css, 'a[href="/download/hgl/harvard-g7064-s2-1834-k3"][data-download-type="harvard-hgl"]')
|
27
28
|
end
|
28
29
|
end
|
@@ -1,13 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
expect(page).to have_css
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Metadata display on show page" do
|
6
|
+
scenario "with default CatalogController specified fields" do
|
7
|
+
visit solr_document_path "stanford-dp018hs9766"
|
8
|
+
within ".document-metadata" do
|
9
|
+
expect(page).to have_css "dt", count: 16
|
10
|
+
expect(page).to have_css "dd", count: 16
|
11
|
+
expect(page).to have_css "div.truncate-abstract", count: 1
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Display sidebar static map on catalog#show page" do
|
6
|
+
scenario "Document viewer protocol: IIIF (show)" do
|
7
|
+
visit solr_document_path "princeton-02870w62c"
|
8
|
+
within ".page-sidebar" do
|
9
|
+
expect(page).to have_content "Location"
|
10
|
+
expect(page).to have_css "div#static-map"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
scenario "Document viewer protocol: WMS (do not show)" do
|
15
|
+
visit solr_document_path "stanford-cg357zz0321"
|
16
|
+
within ".page-sidebar" do
|
17
|
+
expect(page).to have_no_content "Location"
|
18
|
+
expect(page).to have_no_css "div#static-map"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/spec/features/sms_spec.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
expect(page).to have_css
|
13
|
-
expect(page).to have_css
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "SMS tool", js: true do
|
6
|
+
scenario "shows up in tools" do
|
7
|
+
visit solr_document_path "stanford-cg357zz0321"
|
8
|
+
expect(page).to have_css "li.sms a", text: "SMS This"
|
9
|
+
click_link "SMS This"
|
10
|
+
within ".modal-body" do
|
11
|
+
expect(page).to have_css "input", count: 1
|
12
|
+
expect(page).to have_css "label", text: "Phone Number:"
|
13
|
+
expect(page).to have_css "select", count: 1
|
14
|
+
expect(page).to have_css "label", text: "Carrier"
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
@@ -1,90 +1,91 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Index view", js: true do
|
5
6
|
let(:subject_field) { Settings.FIELDS.SUBJECT }
|
6
7
|
before do
|
7
|
-
visit search_catalog_path(q:
|
8
|
+
visit search_catalog_path(q: "*")
|
8
9
|
end
|
9
10
|
|
10
|
-
scenario
|
11
|
-
visit search_catalog_path(f: {
|
12
|
-
expect(page).to have_css(
|
13
|
-
expect(page).to have_css(
|
14
|
-
expect(page).to have_css(
|
11
|
+
scenario "should have documents and map on page" do
|
12
|
+
visit search_catalog_path(f: {Settings.FIELDS.PROVIDER => ["Stanford"]})
|
13
|
+
expect(page).to have_css("#documents")
|
14
|
+
expect(page).to have_css(".document", count: 6)
|
15
|
+
expect(page).to have_css("#map")
|
15
16
|
end
|
16
17
|
|
17
|
-
scenario
|
18
|
-
visit search_catalog_path(f: {
|
19
|
-
expect(page).to have_css(
|
20
|
-
expect(page).to have_css(
|
18
|
+
scenario "should have sort and per_page on page" do
|
19
|
+
visit search_catalog_path(f: {Settings.FIELDS.PROVIDER => ["Stanford"]})
|
20
|
+
expect(page).to have_css("#sort-dropdown")
|
21
|
+
expect(page).to have_css("#per_page-dropdown")
|
21
22
|
end
|
22
23
|
|
23
|
-
scenario
|
24
|
-
within
|
25
|
-
expect(page).to have_css(
|
26
|
-
expect(page).to have_css(
|
27
|
-
expect(page).to have_css(
|
28
|
-
expect(page).to have_css(
|
29
|
-
expect(page).to have_css(
|
30
|
-
expect(page).to have_css(
|
31
|
-
expect(page).to have_css(
|
32
|
-
expect(page).to have_css(
|
33
|
-
expect(page).to have_css(
|
34
|
-
expect(page).to have_css(
|
35
|
-
expect(page).to have_css(
|
36
|
-
expect(page).to have_css(
|
24
|
+
scenario "should have facets listed correctly" do
|
25
|
+
within "#facet-panel-collapse" do
|
26
|
+
expect(page).to have_css("div.card.facet-limit", text: "Year")
|
27
|
+
expect(page).to have_css("div.card.facet-limit", text: "Place")
|
28
|
+
expect(page).to have_css("div.card.facet-limit", text: "Access")
|
29
|
+
expect(page).to have_css("div.card.facet-limit", text: "Resource Class")
|
30
|
+
expect(page).to have_css("div.card.facet-limit", text: "Resource Type")
|
31
|
+
expect(page).to have_css("div.card.facet-limit", text: "Format")
|
32
|
+
expect(page).to have_css("div.card.facet-limit", text: "Subject")
|
33
|
+
expect(page).to have_css("div.card.facet-limit", text: "Theme")
|
34
|
+
expect(page).to have_css("div.card.facet-limit", text: "Creator")
|
35
|
+
expect(page).to have_css("div.card.facet-limit", text: "Publisher")
|
36
|
+
expect(page).to have_css("div.card.facet-limit", text: "Provider")
|
37
|
+
expect(page).to have_css("div.card.facet-limit", text: "Georeferenced")
|
37
38
|
end
|
38
|
-
click_button
|
39
|
+
click_button "Provider"
|
39
40
|
using_wait_time 120 do
|
40
|
-
expect(page).to have_css(
|
41
|
-
expect(page).to have_css(
|
42
|
-
expect(page).to have_css(
|
43
|
-
expect(page).to have_css(
|
41
|
+
expect(page).to have_css("a.facet-select", text: "University of Minnesota", visible: true)
|
42
|
+
expect(page).to have_css("a.facet-select", text: "MIT", visible: true)
|
43
|
+
expect(page).to have_css("a.facet-select", text: "Stanford", visible: true)
|
44
|
+
expect(page).to have_css(".more_facets a", text: /more\sProvider\s»/, visible: true)
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
47
|
-
scenario
|
48
|
+
scenario "hover on record should produce bounding box on map" do
|
48
49
|
# Needed to find an svg element on the page
|
49
|
-
visit search_catalog_path(f: {
|
50
|
+
visit search_catalog_path(f: {Settings.FIELDS.PROVIDER => ["Stanford"]})
|
50
51
|
# BL7 has svg icons, so sniffing for SVG path won't return false
|
51
52
|
# expect(Nokogiri::HTML.parse(page.body).css('path').length).to eq 0
|
52
|
-
find(
|
53
|
-
within(
|
54
|
-
expect(page).to have_css(
|
53
|
+
find(".documentHeader", match: :first).hover
|
54
|
+
within("#map") do
|
55
|
+
expect(page).to have_css("path")
|
55
56
|
end
|
56
57
|
end
|
57
58
|
|
58
|
-
scenario
|
59
|
-
within(
|
60
|
-
expect(page).not_to have_css(
|
61
|
-
find(
|
62
|
-
expect(page).to have_css(
|
59
|
+
scenario "click on a record area to expand collapse" do
|
60
|
+
within("article", match: :first) do
|
61
|
+
expect(page).not_to have_css(".collapse")
|
62
|
+
find("button").click
|
63
|
+
expect(page).to have_css(".collapse", visible: true)
|
63
64
|
end
|
64
65
|
end
|
65
66
|
|
66
|
-
scenario
|
67
|
-
visit
|
68
|
-
find(
|
69
|
-
expect(find(
|
67
|
+
scenario "spatial search should reset to page one" do
|
68
|
+
visit "/?per_page=5&q=%2A&page=2"
|
69
|
+
find("#map").double_click
|
70
|
+
expect(find(".page-entries")).to have_content(/^1 - \d of \d.*$/)
|
70
71
|
end
|
71
72
|
|
72
|
-
scenario
|
73
|
+
scenario "clicking map search should retain current search parameters" do
|
73
74
|
visit "/?f[#{subject_field}][]=Population"
|
74
|
-
find(
|
75
|
-
within
|
76
|
-
expect(page).to have_content(
|
77
|
-
expect(page).to have_css
|
75
|
+
find("#map").double_click
|
76
|
+
within "#appliedParams" do
|
77
|
+
expect(page).to have_content("Subject Population")
|
78
|
+
expect(page).to have_css "span.filter-name", text: "Bounding Box"
|
78
79
|
end
|
79
80
|
end
|
80
81
|
|
81
|
-
scenario
|
82
|
-
visit search_catalog_path(f: {
|
83
|
-
within(
|
82
|
+
scenario "should have schema.org props listed" do
|
83
|
+
visit search_catalog_path(f: {Settings.FIELDS.PROVIDER => ["Stanford"]})
|
84
|
+
within(".documentHeader", match: :first) do
|
84
85
|
expect(page).to have_css("a[itemprop='name']")
|
85
|
-
find(
|
86
|
+
find(".caret-toggle").click
|
86
87
|
end
|
87
|
-
within(
|
88
|
+
within(".more-info-area", match: :first) do
|
88
89
|
expect(page).to have_css("small[itemprop='description']")
|
89
90
|
end
|
90
91
|
end
|
@@ -1,15 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Suppressed records" do
|
6
|
+
scenario "are viewable" do
|
7
|
+
visit solr_document_path "princeton-jq085m62x"
|
8
|
+
expect(page).to have_css("#document")
|
8
9
|
end
|
9
10
|
|
10
|
-
scenario
|
11
|
-
visit solr_document_path
|
12
|
-
click_link
|
13
|
-
expect(page).to have_css
|
11
|
+
scenario "are exportable" do
|
12
|
+
visit solr_document_path "princeton-jq085m62x"
|
13
|
+
click_link "Web services"
|
14
|
+
expect(page).to have_css "h1.modal-title", text: "Web services"
|
14
15
|
end
|
15
16
|
end
|
@@ -1,22 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "tilejson layer" do
|
5
6
|
before do
|
6
|
-
WebMock.disable_net_connect!(allow_localhost: true, allow:
|
7
|
+
WebMock.disable_net_connect!(allow_localhost: true, allow: "chromedriver.storage.googleapis.com")
|
7
8
|
end
|
8
9
|
|
9
10
|
after do
|
10
11
|
WebMock.allow_net_connect!
|
11
12
|
end
|
12
13
|
|
13
|
-
scenario
|
14
|
+
scenario "displays tilejson layer", js: true do
|
14
15
|
# Mock tilejson manifest url
|
15
|
-
stub_request(:get,
|
16
|
-
.to_return(status: 200, body: read_fixture(
|
16
|
+
stub_request(:get, "https://map-tiles-staging.princeton.edu/2a91d82c541c426cb787cc62afe8f248/mosaicjson/tilejson.json")
|
17
|
+
.to_return(status: 200, body: read_fixture("manifests/tilejson.json"))
|
18
|
+
|
19
|
+
visit solr_document_path("princeton-fk4544658v-tilejson")
|
17
20
|
|
18
|
-
|
19
|
-
expect(page).to have_css
|
20
|
-
expect(page).to have_css "
|
21
|
+
expect(page).to have_css ".leaflet-control-zoom", visible: :visible
|
22
|
+
expect(page).to have_css "div[data-protocol='Tilejson']"
|
23
|
+
expect(page).to have_css "div[data-url='https://map-tiles-staging.princeton.edu/2a91d82c541c426cb787cc62afe8f248/mosaicjson/tilejson.json']"
|
21
24
|
end
|
22
25
|
end
|
data/spec/features/tms_spec.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "tms layer" do
|
6
|
+
scenario "displays tms layer", js: true do
|
7
|
+
visit solr_document_path("cugir-007957")
|
8
|
+
expect(page).to have_css ".leaflet-control-zoom", visible: true
|
8
9
|
expect(page).to have_css "img[src*='cugir.library.cornell.edu']"
|
9
10
|
end
|
10
11
|
end
|