geoblacklight 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +21 -6
- data/.solr_wrapper +1 -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/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 +44 -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/_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.yml +74 -22
- 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 +12 -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 +11 -6
- 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/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 +9 -8
- data/spec/features/tms_spec.rb +6 -5
- data/spec/features/web_services_modal_spec.rb +37 -36
- data/spec/features/wmts_spec.rb +16 -15
- data/spec/features/xyz_spec.rb +6 -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 +2 -2
- 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 +6 -6
- 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 +34 -33
- 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 +29 -212
- 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
@@ -1,12 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Attribute table values", js: true do
|
6
|
+
xscenario "are linkified" do
|
6
7
|
# ArcGIS server returning an error. Wait until SVG elements are added
|
7
|
-
visit solr_document_path
|
8
|
-
expect(page).to have_css
|
9
|
-
page.first(
|
10
|
-
expect(page).to have_css 'td a[href="http://www.minneapolismn.gov/fire/stations/fire_station28"]', text:
|
8
|
+
visit solr_document_path "f406332e63eb4478a9560ad86ae90327_18"
|
9
|
+
expect(page).to have_css ".leaflet-overlay-pane svg"
|
10
|
+
page.first("svg g path").click
|
11
|
+
expect(page).to have_css 'td a[href="http://www.minneapolismn.gov/fire/stations/fire_station28"]', text: "http://www.minneapolismn.gov/fire/stations/fire_station28"
|
11
12
|
end
|
12
13
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
let(:
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Metadata tools" do
|
6
|
+
feature "when metadata references are available", js: true do
|
7
|
+
let(:iso19139) { File.read(Rails.root.join("..", "spec", "fixtures", "iso19139", "stanford-cg357zz0321.xml")) }
|
8
|
+
let(:fgdc) { File.read(Rails.root.join("..", "spec", "fixtures", "fgdc", "harvard-g7064-s2-1834-k3.xml")) }
|
9
|
+
let(:mods) { File.read(Rails.root.join("..", "spec", "fixtures", "mods", "stanford-cg357zz0321.mods")) }
|
9
10
|
let(:fgdc_response) { instance_double(Faraday::Response) }
|
10
11
|
let(:fgdc_connection) { instance_double(Faraday::Connection) }
|
11
12
|
let(:iso19139_response) { instance_double(Faraday::Response) }
|
@@ -17,35 +18,35 @@ feature 'Metadata tools' do
|
|
17
18
|
allow(iso19139_response).to receive(:body).and_return(iso19139)
|
18
19
|
allow(iso19139_response).to receive(:status).and_return(200)
|
19
20
|
allow(iso19139_connection).to receive(:get).and_return(iso19139_response)
|
20
|
-
allow(Faraday).to receive(:new).with(url:
|
21
|
+
allow(Faraday).to receive(:new).with(url: "https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml").and_return(iso19139_connection)
|
21
22
|
|
22
23
|
allow(fgdc_response).to receive(:body).and_return(fgdc)
|
23
24
|
allow(fgdc_response).to receive(:status).and_return(200)
|
24
25
|
allow(fgdc_connection).to receive(:get).and_return(fgdc_response)
|
25
|
-
allow(Faraday).to receive(:new).with(url:
|
26
|
+
allow(Faraday).to receive(:new).with(url: "https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml").and_return(fgdc_connection)
|
26
27
|
|
27
28
|
allow(response).to receive(:body).and_return(mods)
|
28
29
|
allow(response).to receive(:status).and_return(200)
|
29
30
|
allow(connection).to receive(:get).and_return(response)
|
30
|
-
allow(Faraday).to receive(:new).with(url:
|
31
|
+
allow(Faraday).to receive(:new).with(url: "http://purl.stanford.edu/cg357zz0321.mods").and_return(connection)
|
31
32
|
|
32
33
|
allow(Faraday).to receive(:new).with(hash_including(url: %r{solr/blacklight-core})).and_call_original
|
33
34
|
end
|
34
35
|
|
35
|
-
scenario
|
36
|
-
visit solr_document_path
|
37
|
-
expect(page).to have_css
|
38
|
-
click_link
|
36
|
+
scenario "shows up as HTML" do
|
37
|
+
visit solr_document_path "harvard-g7064-s2-1834-k3"
|
38
|
+
expect(page).to have_css "li.metadata a", text: "Metadata"
|
39
|
+
click_link "Metadata"
|
39
40
|
using_wait_time 15 do
|
40
|
-
within
|
41
|
-
expect(page).to have_css
|
42
|
-
expect(page).to have_css
|
43
|
-
expect(page).to have_css
|
41
|
+
within ".metadata-view" do
|
42
|
+
expect(page).to have_css ".pill-metadata", text: "FGDC"
|
43
|
+
expect(page).to have_css "dt", text: "Identification Information"
|
44
|
+
expect(page).to have_css "dt", text: "Metadata Reference Information"
|
44
45
|
end
|
45
46
|
end
|
46
47
|
end
|
47
|
-
context
|
48
|
-
let(:mods) { File.read(Rails.root.join(
|
48
|
+
context "when the metadata is in the XML" do
|
49
|
+
let(:mods) { File.read(Rails.root.join("..", "spec", "fixtures", "mods", "fb897vt9938.mods")) }
|
49
50
|
let(:response) { instance_double(Faraday::Response) }
|
50
51
|
let(:connection) { instance_double(Faraday::Connection) }
|
51
52
|
|
@@ -53,27 +54,27 @@ feature 'Metadata tools' do
|
|
53
54
|
allow(response).to receive(:body).and_return(mods)
|
54
55
|
allow(response).to receive(:status).and_return(200)
|
55
56
|
allow(connection).to receive(:get).and_return(response)
|
56
|
-
allow(Faraday).to receive(:new).with(url:
|
57
|
+
allow(Faraday).to receive(:new).with(url: "http://purl.stanford.edu/fb897vt9938.mods").and_return(connection)
|
57
58
|
allow(Faraday).to receive(:new).and_call_original
|
58
59
|
end
|
59
60
|
|
60
|
-
scenario
|
61
|
-
visit solr_document_path
|
62
|
-
expect(page).to have_css
|
63
|
-
click_link
|
61
|
+
scenario "shows up as XML" do
|
62
|
+
visit solr_document_path "stanford-cg357zz0321"
|
63
|
+
expect(page).to have_css "li.metadata a", text: "Metadata"
|
64
|
+
click_link "Metadata"
|
64
65
|
using_wait_time 15 do
|
65
|
-
within
|
66
|
-
expect(page).to have_css
|
67
|
-
expect(page).to have_css
|
66
|
+
within ".metadata-view" do
|
67
|
+
expect(page).to have_css ".pill-metadata", text: "MODS"
|
68
|
+
expect(page).to have_css ".CodeRay"
|
68
69
|
end
|
69
70
|
end
|
70
71
|
end
|
71
72
|
end
|
72
73
|
end
|
73
|
-
feature
|
74
|
-
scenario
|
75
|
-
visit solr_document_path
|
76
|
-
expect(page).not_to have_css
|
74
|
+
feature "when metadata references are not available" do
|
75
|
+
scenario "is not in tools" do
|
76
|
+
visit solr_document_path "mit-f6rqs4ucovjk2"
|
77
|
+
expect(page).not_to have_css "li.metadata a", text: "Metadata"
|
77
78
|
end
|
78
79
|
end
|
79
80
|
end
|
@@ -1,25 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Missing metadata", js: true do
|
6
|
+
scenario "Yields error free results page for no spatial" do
|
7
|
+
visit search_catalog_path(q: "ASTER Global Emissivity")
|
8
|
+
expect(page).to have_css("#map")
|
8
9
|
end
|
9
|
-
scenario
|
10
|
-
visit solr_document_path(
|
11
|
-
expect(page).to have_css(
|
10
|
+
scenario "Yields error free show page for no wxs_identifier or spatial" do
|
11
|
+
visit solr_document_path("aster-global-emissivity-dataset-1-kilometer-v003-ag1kmcad20")
|
12
|
+
expect(page).to have_css("#map")
|
12
13
|
end
|
13
|
-
scenario
|
14
|
-
visit solr_document_path(
|
15
|
-
expect(page).to have_css(
|
14
|
+
scenario "Yields error free show page for no layer_geom_type_s" do
|
15
|
+
visit solr_document_path("05d-03-noGeomType")
|
16
|
+
expect(page).to have_css("#map")
|
16
17
|
end
|
17
|
-
scenario
|
18
|
-
visit solr_document_path(
|
19
|
-
expect(page).to have_css(
|
18
|
+
scenario "Yields error free show page for no dct_provider_s" do
|
19
|
+
visit solr_document_path("99-0001-noprovider")
|
20
|
+
expect(page).to have_css("#map")
|
20
21
|
end
|
21
|
-
scenario
|
22
|
-
visit solr_document_path(
|
23
|
-
expect(page).to have_css(
|
22
|
+
scenario "Yields error free show page for no locn_geometry" do
|
23
|
+
visit solr_document_path("05d-p16022coll246-noGeo")
|
24
|
+
expect(page).to have_css("#map")
|
24
25
|
end
|
25
26
|
end
|
@@ -1,15 +1,16 @@
|
|
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_link
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Multiple downloads" do
|
6
|
+
feature "when item has multiple downloads in dct_references_s" do
|
7
|
+
scenario "downloads are listed in download card" do
|
8
|
+
visit solr_document_path "cugir-007950"
|
9
|
+
find("#downloads-button").click
|
10
|
+
within "#downloads-collapse" do
|
11
|
+
expect(page).to have_link "Shapefile", href: "https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip"
|
12
|
+
expect(page).to have_link "PDF", href: "https://cugir-data.s3.amazonaws.com/00/79/50/agBROO.pdf"
|
13
|
+
expect(page).to have_link "KMZ", href: "https://cugir-data.s3.amazonaws.com/00/79/50/agBROO2011.kmz"
|
13
14
|
end
|
14
15
|
end
|
15
16
|
end
|
@@ -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 "Oembed layer" do
|
6
|
+
scenario "Should show oembed content and map" do
|
7
|
+
visit solr_document_path("stanford-dc482zx1528")
|
8
|
+
expect(page).to have_css "#map"
|
8
9
|
expect(page).to have_css '[data-protocol="Oembed"]'
|
9
10
|
end
|
10
11
|
end
|
@@ -1,44 +1,69 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Display related documents" do
|
6
|
+
scenario "Record with dct_source_sm value(s) should have parent(s)" do
|
7
|
+
visit relations_solr_document_path("nyu_2451_34502")
|
8
|
+
expect(page).to have_css(".relations .card-header h2", text: "Source records...")
|
8
9
|
end
|
9
10
|
|
10
|
-
scenario
|
11
|
-
visit relations_solr_document_path(
|
12
|
-
expect(page).to have_css(
|
11
|
+
scenario "Record that is pointed to by others should have children" do
|
12
|
+
visit relations_solr_document_path("nyu_2451_34635")
|
13
|
+
expect(page).to have_css(".relations .card-header h2", text: "Derived records...")
|
13
14
|
end
|
14
15
|
|
15
|
-
scenario
|
16
|
-
visit relations_solr_document_path(
|
16
|
+
scenario "Relations should respond to json" do
|
17
|
+
visit relations_solr_document_path("nyu_2451_34635", format: "json")
|
17
18
|
response = JSON.parse(page.body)
|
18
|
-
expect(response[
|
19
|
-
expect(response[
|
20
|
-
expect(response[
|
19
|
+
expect(response["relations"]).not_to respond_to("source_ancestors")
|
20
|
+
expect(response["relations"]["source_descendants"]["docs"].first[Settings.FIELDS.ID]).to eq "nyu_2451_34502"
|
21
|
+
expect(response["current_doc"]).to eq "nyu_2451_34635"
|
21
22
|
end
|
22
23
|
|
23
|
-
scenario
|
24
|
-
visit solr_document_path(
|
25
|
-
expect(page).to have_css(
|
26
|
-
expect(page).to have_css(
|
24
|
+
scenario "Record with relations should render widget in catalog#show", js: true do
|
25
|
+
visit solr_document_path("nyu_2451_34635")
|
26
|
+
expect(page).to have_css(".card.relations")
|
27
|
+
expect(page).to have_css("div.card-header", text: "Derived records...")
|
27
28
|
end
|
28
29
|
|
29
|
-
scenario
|
30
|
-
visit solr_document_path(
|
31
|
-
expect(page).to have_no_css(
|
30
|
+
scenario "Record without relations should not render widget in catalog#show", js: true do
|
31
|
+
visit solr_document_path("harvard-g7064-s2-1834-k3")
|
32
|
+
expect(page).to have_no_css(".card.relations")
|
32
33
|
end
|
33
34
|
|
34
|
-
scenario
|
35
|
+
scenario "Relationship browse link returns relationship-scoped results", js: true do
|
35
36
|
# Wabash Topo parent record
|
36
|
-
visit solr_document_path(
|
37
|
+
visit solr_document_path("88cc9b19-3294-4da9-9edd-775c81fb1c59")
|
38
|
+
|
39
|
+
expect(page).to have_content("Has part...")
|
40
|
+
expect(page).to have_link("Browse all 4 records...")
|
41
|
+
click_link("Browse all 4 records...")
|
37
42
|
|
38
|
-
expect(page).
|
39
|
-
|
40
|
-
|
43
|
+
expect(page).not_to have_content("No results found for your search")
|
44
|
+
end
|
45
|
+
|
46
|
+
scenario "Record with dct_isPartOf_sm value(s) should link to relations", js: true do
|
47
|
+
# All Relationships
|
48
|
+
visit solr_document_path("all-relationships")
|
49
|
+
expect(page).to have_content("Is part of...")
|
50
|
+
end
|
51
|
+
|
52
|
+
scenario "Record pointed at by a parent with dct_isPartOf_sm value(s) should link back", js: true do
|
53
|
+
# The Related Record
|
54
|
+
visit solr_document_path("the-related-record")
|
55
|
+
expect(page).to have_content("Has part...")
|
56
|
+
end
|
57
|
+
|
58
|
+
scenario "Record with pcdm_memberOf_sm value(s) should link to relations", js: true do
|
59
|
+
# All Relationships
|
60
|
+
visit solr_document_path("all-relationships")
|
61
|
+
expect(page).to have_content("Belongs to collection...")
|
62
|
+
end
|
41
63
|
|
42
|
-
|
64
|
+
scenario "Record pointed at by a parent with pcdm_memberOf_sm value(s) should link back", js: true do
|
65
|
+
# The Related Record
|
66
|
+
visit solr_document_path("the-related-record")
|
67
|
+
expect(page).to have_content("Collection records...")
|
43
68
|
end
|
44
69
|
end
|
@@ -1,14 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "saved searches" do
|
6
|
+
scenario "list spatial search", js: true do
|
6
7
|
visit root_path
|
7
|
-
within
|
8
|
-
find(
|
8
|
+
within "#map" do
|
9
|
+
find(".search-control a").click
|
9
10
|
expect(page.current_url).to match(/bbox=/)
|
10
11
|
end
|
11
12
|
visit blacklight.search_history_path
|
12
|
-
expect(page).to have_css
|
13
|
+
expect(page).to have_css "td.query a", text: /#{I18n.t('geoblacklight.bbox_label')}/
|
13
14
|
end
|
14
15
|
end
|
@@ -1,13 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "search bar" do
|
6
|
+
scenario "present on a spatial search" do
|
7
|
+
visit search_catalog_path(bbox: "25 3 75 35")
|
8
|
+
expect(page).to have_css ".navbar-search"
|
8
9
|
end
|
9
|
-
scenario
|
10
|
-
visit search_catalog_path(q:
|
11
|
-
expect(page).to have_css
|
10
|
+
scenario "present on a text search" do
|
11
|
+
visit search_catalog_path(q: "test")
|
12
|
+
expect(page).to have_css ".navbar-search"
|
12
13
|
end
|
13
14
|
end
|
@@ -1,24 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "spatial search results with an WKT bounding box that crosses the anti-meridian" do
|
6
|
+
scenario "when searching within the covered area" do
|
6
7
|
# BBox param is in China
|
7
8
|
visit search_catalog_path(
|
8
|
-
q:
|
9
|
-
bbox:
|
9
|
+
q: "A new & accurate map of Asia",
|
10
|
+
bbox: "98.4375 31.765537 117.202148 45.429299"
|
10
11
|
)
|
11
|
-
result_id = page.all(
|
12
|
-
expect(result_id).to eq
|
12
|
+
result_id = page.all("div.documentHeader.row").first["data-layer-id"]
|
13
|
+
expect(result_id).to eq "57f0f116-b64e-4773-8684-96ba09afb549"
|
13
14
|
end
|
14
15
|
|
15
|
-
scenario
|
16
|
+
scenario "when searching outside the covered area" do
|
16
17
|
# BBox param is in Oklahoma
|
17
18
|
visit search_catalog_path(
|
18
|
-
q:
|
19
|
-
bbox:
|
19
|
+
q: "A new & accurate map of Asia",
|
20
|
+
bbox: "-98.717651 34.40691 -96.37207 36.199958"
|
20
21
|
)
|
21
|
-
results = page.all(
|
22
|
+
results = page.all("div.documentHeader.row")
|
22
23
|
expect(results.count).to eq 0
|
23
24
|
end
|
24
25
|
end
|
@@ -1,16 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "search results display document iconography" do
|
6
|
+
scenario "when viewing result row" do
|
6
7
|
# Search returns fixture stanford-cg357zz0321
|
7
8
|
visit search_catalog_path(
|
8
|
-
search_field:
|
9
|
-
q:
|
9
|
+
search_field: "all_fields",
|
10
|
+
q: "stanford-cg357zz0321"
|
10
11
|
)
|
11
|
-
first_result = page.all(
|
12
|
-
expect(first_result[0][:class]).to include
|
13
|
-
expect(first_result[1][:class]).to include
|
14
|
-
expect(first_result[2][:class]).to include
|
12
|
+
first_result = page.all("span.status-icons > span")
|
13
|
+
expect(first_result[0][:class]).to include "blacklight-icon-dataset"
|
14
|
+
expect(first_result[1][:class]).to include "blacklight-icon-stanford"
|
15
|
+
expect(first_result[2][:class]).to include "blacklight-icon-restricted"
|
15
16
|
end
|
16
17
|
end
|
@@ -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
|