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,9 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "iiif reference" do
|
6
|
+
scenario "displays leaflet viewer", js: true do
|
7
|
+
visit solr_document_path("princeton-02870w62c")
|
8
|
+
expect(page).to have_css ".leaflet-control-zoom", visible: true
|
8
9
|
end
|
9
10
|
end
|
@@ -1,31 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Index map" do
|
5
6
|
# Colors
|
6
|
-
default_color =
|
7
|
-
selected_color =
|
8
|
-
scenario
|
9
|
-
visit solr_document_path(
|
7
|
+
default_color = "#7FCDBB"
|
8
|
+
selected_color = "#2C7FB8"
|
9
|
+
scenario "displays index map viewer (polygon)", js: true do
|
10
|
+
visit solr_document_path("stanford-fb897vt9938")
|
10
11
|
# Wait until SVG elements are added
|
11
|
-
expect(page).to have_css
|
12
|
-
within
|
12
|
+
expect(page).to have_css ".leaflet-overlay-pane svg"
|
13
|
+
within "#map" do
|
13
14
|
expect(page).to have_css "svg g path:nth-child(2)[fill='#{default_color}']"
|
14
|
-
find(
|
15
|
+
find("svg g path:nth-child(2)").click
|
15
16
|
expect(page).to have_css "svg g path:nth-child(2)[fill='#{selected_color}']"
|
16
|
-
first(
|
17
|
+
first("svg g path").click
|
17
18
|
expect(page).to have_css "svg g path:nth-child(2)[fill='#{default_color}']"
|
18
19
|
end
|
19
20
|
end
|
20
|
-
scenario
|
21
|
-
visit solr_document_path(
|
21
|
+
scenario "displays index map viewer (points)", js: true do
|
22
|
+
visit solr_document_path("cornell-ny-aerial-photos-1960s")
|
22
23
|
# Wait until SVG elements are added
|
23
|
-
expect(page).to have_css
|
24
|
-
within
|
24
|
+
expect(page).to have_css ".leaflet-overlay-pane svg"
|
25
|
+
within "#map" do
|
25
26
|
expect(page).to have_css "svg g path:nth-child(2)[fill='#{default_color}']"
|
26
|
-
find(
|
27
|
+
find("svg g path:nth-child(2)").click
|
27
28
|
expect(page).to have_css "svg g path:nth-child(2)[fill='#{selected_color}']"
|
28
|
-
first(
|
29
|
+
first("svg g path").click
|
29
30
|
expect(page).to have_css "svg g path:nth-child(2)[fill='#{default_color}']"
|
30
31
|
end
|
31
32
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
expect(page).
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Layer inspection", js: true do
|
6
|
+
scenario "clicking map should trigger inspection" do
|
7
|
+
visit solr_document_path("nyu-2451-34564")
|
8
|
+
expect(page).to have_css("th", text: "Attribute")
|
9
|
+
find("#map").click
|
10
|
+
expect(page).not_to have_css("td.default-text")
|
10
11
|
end
|
11
12
|
end
|
@@ -1,22 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Layer opacity", js: true do
|
6
|
+
scenario "WMS layer should have opacity control" do
|
7
|
+
visit solr_document_path("mit-f6rqs4ucovjk2")
|
8
|
+
expect(page).to have_css("div.opacity-text", text: "75%")
|
9
|
+
expect(page.all("div.leaflet-layer")[1][:style]).to match(/opacity: 0.75;/)
|
9
10
|
end
|
10
11
|
|
11
|
-
scenario
|
12
|
-
skip
|
13
|
-
visit solr_document_path(
|
14
|
-
expect(page).to have_css(
|
15
|
-
expect(page.find(
|
12
|
+
scenario "ESRI image service layer should have opacity control" do
|
13
|
+
skip "CORS error - Purdue web services are down"
|
14
|
+
visit solr_document_path("32653ed6-8d83-4692-8a06-bf13ffe2c018")
|
15
|
+
expect(page).to have_css("div.opacity-text", text: "75%")
|
16
|
+
expect(page.find("img.leaflet-image-layer", match: :first)[:style]).to match(/opacity: 0.75;/)
|
16
17
|
end
|
17
18
|
|
18
|
-
scenario
|
19
|
-
visit solr_document_path(
|
20
|
-
expect(page).not_to have_css(
|
19
|
+
scenario "IIIF layer should not have opacity control" do
|
20
|
+
visit solr_document_path("princeton-02870w62c")
|
21
|
+
expect(page).not_to have_css("div.opacity-text", text: "75%")
|
21
22
|
end
|
22
23
|
end
|
@@ -1,18 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "Layer preview", js: true do
|
6
|
+
scenario "Restricted layer should show bounding box" do
|
7
|
+
visit solr_document_path("stanford-cg357zz0321")
|
8
|
+
within("#map") do
|
9
|
+
expect(page).to have_css("path")
|
9
10
|
end
|
10
11
|
end
|
11
12
|
|
12
|
-
scenario
|
13
|
-
visit solr_document_path(
|
14
|
-
within
|
15
|
-
expect(page).to have_css(
|
13
|
+
scenario "Public layer should show wms layer not bounding box" do
|
14
|
+
visit solr_document_path("mit-f6rqs4ucovjk2")
|
15
|
+
within ".leaflet-tile-pane" do
|
16
|
+
expect(page).to have_css(".leaflet-layer", count: 2)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
@@ -1,9 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'spec_helper'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
feature "layer with no wms or iiif" do
|
6
|
+
scenario "has map with bounding box" do
|
7
|
+
pending "waiting on #201, need example metadata record"
|
7
8
|
fail
|
8
9
|
end
|
9
10
|
end
|
@@ -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
|