geoblacklight 2.4.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +152 -64
- data/.rubocop.yml +15 -13
- data/.rubocop_todo.yml +66 -10
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
- data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
- data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
- data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
- data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
- data/app/assets/stylesheets/geoblacklight/modules/item.scss +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +16 -28
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
- data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
- data/app/controllers/download_controller.rb +12 -12
- data/app/controllers/relation_controller.rb +1 -0
- data/app/controllers/wms_controller.rb +1 -0
- data/app/helpers/arcgis_helper.rb +1 -0
- data/app/helpers/blacklight_helper.rb +1 -0
- data/app/helpers/carto_helper.rb +1 -0
- data/app/helpers/geoblacklight_helper.rb +25 -72
- data/app/models/concerns/geoblacklight/solr_document.rb +7 -6
- data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
- data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -1
- data/app/presenters/geoblacklight/document_presenter.rb +2 -1
- data/app/views/catalog/_arcgis.html.erb +4 -0
- data/app/views/catalog/_carto.html.erb +4 -0
- data/app/views/catalog/_downloads_primary.html.erb +8 -1
- data/app/views/catalog/_header_icons.html.erb +3 -3
- data/app/views/catalog/_home_text.html.erb +3 -0
- data/app/views/catalog/_index_split_default.html.erb +21 -21
- data/app/views/relation/_ancestors.html.erb +1 -4
- data/app/views/relation/_descendants.html.erb +2 -5
- data/app/views/relation/index.html.erb +20 -8
- data/app/views/relation/index.json.jbuilder +2 -1
- data/app/views/shared/_header_navbar.html.erb +0 -2
- data/bin/coverage.rb +36 -0
- data/config/initializers/rails_config.rb +1 -0
- data/config/locales/geoblacklight.en.yml +3 -2
- data/geoblacklight.gemspec +3 -6
- data/lib/generators/geoblacklight/assets_generator.rb +46 -0
- data/lib/generators/geoblacklight/install_generator.rb +3 -9
- data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
- data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
- data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
- data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
- data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -0
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +3 -2
- data/lib/generators/geoblacklight/templates/settings.yml +0 -6
- data/lib/generators/geoblacklight/webpacker_generator.rb +1 -0
- data/lib/geoblacklight.rb +1 -0
- data/lib/geoblacklight/bounding_box.rb +1 -0
- data/lib/geoblacklight/catalog_helper_override.rb +1 -0
- data/lib/geoblacklight/constants.rb +1 -0
- data/lib/geoblacklight/download.rb +2 -1
- data/lib/geoblacklight/download/geojson_download.rb +1 -0
- data/lib/geoblacklight/download/geotiff_download.rb +1 -0
- data/lib/geoblacklight/download/hgl_download.rb +1 -0
- data/lib/geoblacklight/download/kmz_download.rb +2 -1
- data/lib/geoblacklight/download/shapefile_download.rb +1 -0
- data/lib/geoblacklight/engine.rb +1 -2
- data/lib/geoblacklight/exceptions.rb +1 -0
- data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
- data/lib/geoblacklight/item_viewer.rb +1 -0
- data/lib/geoblacklight/metadata.rb +1 -0
- data/lib/geoblacklight/metadata/base.rb +1 -0
- data/lib/geoblacklight/metadata/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata/html.rb +2 -2
- data/lib/geoblacklight/metadata/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata_transformer.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
- data/lib/geoblacklight/reference.rb +1 -0
- data/lib/geoblacklight/references.rb +7 -3
- data/lib/geoblacklight/relation/ancestors.rb +1 -0
- data/lib/geoblacklight/relation/descendants.rb +1 -0
- data/lib/geoblacklight/relation/relation_response.rb +2 -1
- data/lib/geoblacklight/routes.rb +1 -0
- data/lib/geoblacklight/routes/downloadable.rb +1 -0
- data/lib/geoblacklight/routes/exportable.rb +1 -0
- data/lib/geoblacklight/routes/wms.rb +1 -0
- data/lib/geoblacklight/version.rb +2 -1
- data/lib/geoblacklight/view_helper_override.rb +1 -0
- data/lib/geoblacklight/wms_layer.rb +1 -0
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
- data/lib/tasks/geoblacklight.rake +33 -32
- data/spec/controllers/catalog_controller_spec.rb +1 -0
- data/spec/controllers/download_controller_spec.rb +1 -0
- data/spec/controllers/relation_controller_spec.rb +1 -0
- data/spec/controllers/wms_controller_spec.rb +1 -0
- data/spec/factories/user.rb +1 -0
- data/spec/features/bookmarks_spec.rb +1 -0
- data/spec/features/configurable_basemap_spec.rb +1 -0
- data/spec/features/data_dictionary_download_spec.rb +1 -0
- data/spec/features/download_layer_spec.rb +1 -0
- data/spec/features/empty_search_spec.rb +1 -0
- data/spec/features/esri_viewer_spec.rb +1 -5
- data/spec/features/exports_spec.rb +4 -12
- data/spec/features/help_text_spec.rb +1 -0
- data/spec/features/home_page_spec.rb +6 -0
- data/spec/features/iiif_viewer_spec.rb +1 -0
- data/spec/features/index_map_spec.rb +1 -0
- data/spec/features/layer_inspection_spec.rb +1 -0
- data/spec/features/layer_opacity_spec.rb +1 -0
- data/spec/features/layer_preview_spec.rb +1 -0
- data/spec/features/layer_with_no_references_spec.rb +1 -0
- data/spec/features/linkified_attribute_table_spec.rb +1 -0
- data/spec/features/metadata_panel_spec.rb +1 -0
- data/spec/features/missing_metadata_spec.rb +1 -0
- data/spec/features/multiple_downloads_spec.rb +15 -0
- data/spec/features/oembed_spec.rb +1 -0
- data/spec/features/relations_spec.rb +10 -29
- data/spec/features/saved_searches_spec.rb +1 -0
- data/spec/features/search_bar_spec.rb +1 -0
- data/spec/features/search_results_map_spec.rb +1 -6
- data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
- data/spec/features/search_spec.rb +1 -0
- data/spec/features/show_page_metadata_spec.rb +1 -0
- data/spec/features/sms_spec.rb +1 -0
- data/spec/features/split_view.html.erb_spec.rb +2 -1
- data/spec/features/suppressed_records_spec.rb +1 -0
- data/spec/features/web_services_modal_spec.rb +1 -0
- data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
- data/spec/helpers/arcgis_helper_spec.rb +1 -0
- data/spec/helpers/carto_helper_spec.rb +1 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +47 -14
- data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
- data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
- data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download_spec.rb +2 -1
- data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
- data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
- data/spec/lib/geoblacklight/reference_spec.rb +1 -0
- data/spec/lib/geoblacklight/references_spec.rb +2 -3
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +1 -0
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +1 -0
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
- data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
- data/spec/routing/catalog_routing_spec.rb +1 -0
- data/spec/spec_helper.rb +12 -9
- data/spec/support/backport_test_helpers.rb +1 -0
- data/spec/support/features.rb +1 -0
- data/spec/support/features/session_helpers.rb +1 -0
- data/spec/support/fixtures.rb +1 -0
- data/spec/tasks/geoblacklight_spec.rb +4 -3
- data/spec/teaspoon_env.rb +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
- data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
- data/template.rb +1 -0
- metadata +42 -68
- data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
- data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
- data/app/views/catalog/_exports.html.erb +0 -3
- data/app/views/catalog/_show_tools.html.erb +0 -25
- data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
- data/vendor/assets/javascripts/readmore.js +0 -0
- data/vendor/assets/javascripts/readmore.min.js +0 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
feature 'Multiple downloads' do
|
5
|
+
feature 'when item has multiple downloads in dct_references_s' do
|
6
|
+
scenario 'downloads are listed in download card' do
|
7
|
+
visit solr_document_path 'cugir-007950'
|
8
|
+
within '.card.downloads' do
|
9
|
+
expect(page).to have_link 'Shapefile', href: 'https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip'
|
10
|
+
expect(page).to have_link 'PDF', href: 'https://cugir-data.s3.amazonaws.com/00/79/50/agBROO.pdf'
|
11
|
+
expect(page).to have_link 'KMZ', href: 'https://cugir-data.s3.amazonaws.com/00/79/50/agBROO2011.kmz'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,52 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
feature 'Display related documents' do
|
4
|
-
let(:expected_json_resp) do
|
5
|
-
{
|
6
|
-
'ancestors' =>
|
7
|
-
{
|
8
|
-
'numFound' => 0,
|
9
|
-
'start' => 0,
|
10
|
-
'docs' => []
|
11
|
-
},
|
12
|
-
'descendants' =>
|
13
|
-
{
|
14
|
-
'numFound' => 1,
|
15
|
-
'start' => 0,
|
16
|
-
'docs' =>
|
17
|
-
[
|
18
|
-
{
|
19
|
-
'dc_title_s' => '2015 New York City Subway Complexes and Ridership',
|
20
|
-
'layer_slug_s' => 'nyu_2451_34502',
|
21
|
-
'layer_geom_type_s' => 'Point'
|
22
|
-
}
|
23
|
-
]
|
24
|
-
},
|
25
|
-
'current_doc' => 'nyu_2451_34635'
|
26
|
-
}
|
27
|
-
end
|
28
5
|
scenario 'Record with dc_source_sm value(s) should have parent(s)' do
|
29
6
|
visit relations_solr_document_path('nyu_2451_34502')
|
30
|
-
expect(page).to have_css('
|
7
|
+
expect(page).to have_css('.relations .card-header h2', text: 'Source Datasets')
|
31
8
|
end
|
32
9
|
|
33
10
|
scenario 'Record that is pointed to by others should have children' do
|
34
11
|
visit relations_solr_document_path('nyu_2451_34635')
|
35
|
-
expect(page).to have_css('
|
12
|
+
expect(page).to have_css('.relations .card-header h2', text: 'Derived Datasets')
|
36
13
|
end
|
37
14
|
|
38
15
|
scenario 'Relations should respond to json' do
|
39
16
|
visit relations_solr_document_path('nyu_2451_34635', format: 'json')
|
40
|
-
|
17
|
+
response = JSON.parse(page.body)
|
18
|
+
expect(response['ancestors']['numFound']).to eq 0
|
19
|
+
expect(response['descendants']['docs'].first['layer_slug_s']).to eq 'nyu_2451_34502'
|
20
|
+
expect(response['current_doc']).to eq 'nyu_2451_34635'
|
41
21
|
end
|
42
22
|
|
43
23
|
scenario 'Record with relations should render widget in catalog#show', js: true do
|
44
24
|
visit solr_document_path('nyu_2451_34635')
|
45
|
-
expect(page).to have_css('
|
25
|
+
expect(page).to have_css('.card.relations')
|
26
|
+
expect(page).to have_css('div.card-header', text: 'Derived Datasets')
|
46
27
|
end
|
47
28
|
|
48
29
|
scenario 'Record without relations should not render widget in catalog#show', js: true do
|
49
30
|
visit solr_document_path('harvard-g7064-s2-1834-k3')
|
50
|
-
expect(page).to have_no_css('
|
31
|
+
expect(page).to have_no_css('.card.relations')
|
51
32
|
end
|
52
33
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
feature 'search results map', js: true do
|
@@ -5,12 +6,6 @@ feature 'search results map', js: true do
|
|
5
6
|
visit search_catalog_path(q: 'Minnesota')
|
6
7
|
expect(page).to have_css '#map'
|
7
8
|
end
|
8
|
-
scenario 'present on a search result page' do
|
9
|
-
visit root_path
|
10
|
-
click_link 'Minnesota, United States'
|
11
|
-
results = page.all(:css, 'article.document')
|
12
|
-
expect(results.count).to equal(3)
|
13
|
-
end
|
14
9
|
scenario 'view is scoped to Minnesota' do
|
15
10
|
visit root_path
|
16
11
|
click_link 'Minnesota, United States'
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
feature 'spatial search results overlap ratio' do
|
@@ -34,15 +35,15 @@ feature 'spatial search results overlap ratio' do
|
|
34
35
|
|
35
36
|
# NY State result
|
36
37
|
# Bigger bbox / result bbox overlaps bbox param best
|
37
|
-
expect(position_in_result_page(page, 'cugir-008186')).to be <
|
38
|
+
expect(position_in_result_page(page, 'cugir-008186')).to be < 4
|
38
39
|
|
39
40
|
# NY State result
|
40
41
|
# Bigger bbox / result bbox overlaps bbox param best (score tie)
|
41
|
-
expect(position_in_result_page(page, 'cugir-008186-no-downloadurl')).to be <
|
42
|
+
expect(position_in_result_page(page, 'cugir-008186-no-downloadurl')).to be < 4
|
42
43
|
|
43
44
|
# NY Adirondak Region result
|
44
45
|
# Smaller bbox / result bbox overlaps bbox param the least
|
45
|
-
expect(position_in_result_page(page, 'cugir-007741')).to eq
|
46
|
+
expect(position_in_result_page(page, 'cugir-007741')).to eq 4
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
data/spec/features/sms_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
feature 'Index view', js: true do
|
@@ -51,7 +52,7 @@ feature 'Index view', js: true do
|
|
51
52
|
end
|
52
53
|
|
53
54
|
scenario 'click on a record area to expand collapse' do
|
54
|
-
within('
|
55
|
+
within('article', match: :first) do
|
55
56
|
expect(page).not_to have_css('.collapse')
|
56
57
|
find('button').click
|
57
58
|
expect(page).to have_css('.collapse', visible: true)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{
|
2
|
+
"geoblacklight_version": "1.0",
|
3
|
+
"dc_identifier_s": "https://cugir.library.cornell.edu/catalog/cugir-007950",
|
4
|
+
"dc_title_s": "Test record with additional download formats",
|
5
|
+
"dc_description_s": "This is a test record containing new-style references as nested child documents. In addition to the origianl shapefile download, the references section contains additional PDF and KMZ downloads.",
|
6
|
+
"dc_rights_s": "Public",
|
7
|
+
"dct_provenance_s": "Cornell",
|
8
|
+
"dct_references_s": "{\"http:\/\/schema.org\/downloadUrl\":[{\"url\":\"https:\/\/cugir-data.s3.amazonaws.com\/00\/79\/50\/cugir-007950.zip\",\"label\":\"Shapefile\"},{\"url\":\"https:\/\/cugir-data.s3.amazonaws.com\/00\/79\/50\/agBROO.pdf\",\"label\":\"PDF\"},{\"url\":\"https:\/\/cugir-data.s3.amazonaws.com\/00\/79\/50\/agBROO2011.kmz\",\"label\":\"KMZ\"}],\"http:\/\/www.opengis.net\/cat\/csw\/csdgm\":\"https:\/\/cugir-data.s3.amazonaws.com\/00\/79\/50\/fgdc.xml\",\"http:\/\/www.w3.org\/1999\/xhtml\":\"https:\/\/cugir-data.s3.amazonaws.com\/00\/79\/50\/fgdc.html\",\"http:\/\/www.opengis.net\/def\/serviceType\/ogc\/wfs\":\"https:\/\/cugir.library.cornell.edu\/geoserver\/cugir\/wfs\",\"http:\/\/www.opengis.net\/def\/serviceType\/ogc\/wms\":\"https:\/\/cugir.library.cornell.edu\/geoserver\/cugir\/wms\"}",
|
9
|
+
"layer_id_s": "cugir007950",
|
10
|
+
"layer_slug_s": "cugir-007950",
|
11
|
+
"dc_type_s": "Dataset",
|
12
|
+
"dc_format_s": "Shapefile",
|
13
|
+
"layer_geom_type_s": "Polygon",
|
14
|
+
"layer_modified_dt": "2019-05-24T00:00:00Z",
|
15
|
+
"dc_creator_sm": [
|
16
|
+
"Cornell Institute for Resource Information Sciences (Cornell IRIS)",
|
17
|
+
"NYS Department of Agriculture and Markets"
|
18
|
+
],
|
19
|
+
"dc_subject_sm": [
|
20
|
+
"New York State Agricultural District boundaries",
|
21
|
+
"Agriculture and Markets",
|
22
|
+
"Agricultural Districts Mapping Program"
|
23
|
+
],
|
24
|
+
"dct_spatial_sm": ["Broome County NY"],
|
25
|
+
"dct_issued_s": "2011-02-28",
|
26
|
+
"dct_temporal_sm": ["2011"],
|
27
|
+
"dct_isPartOf_sm": ["Agricultural Districts (NYS Ag and Markets)"],
|
28
|
+
"solr_geom": "ENVELOPE(-76.12987, -75.42034, 42.414648, 41.997963)",
|
29
|
+
"solr_year_i": 2011
|
30
|
+
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe GeoblacklightHelper, type: :helper do
|
@@ -8,7 +9,7 @@ describe GeoblacklightHelper, type: :helper do
|
|
8
9
|
let(:subject_field) { Settings.FIELDS.SUBJECT }
|
9
10
|
it 'contains unique links' do
|
10
11
|
expect(self).to receive(:search_catalog_path).exactly(3).times.and_return("http://example.com/catalog?f[#{subject_field}][]=category")
|
11
|
-
html = Capybara.string(render_facet_links(subject_field, %w
|
12
|
+
html = Capybara.string(render_facet_links(subject_field, %w[Test Test Earth Science]))
|
12
13
|
expect(html).to have_css 'a', count: 3
|
13
14
|
expect(html).to have_css 'a', text: 'Test', count: 1
|
14
15
|
expect(html).to have_css 'a', text: 'Earth', count: 1
|
@@ -52,6 +53,17 @@ describe GeoblacklightHelper, type: :helper do
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
56
|
+
describe '#download_link_file' do
|
57
|
+
let(:label) { 'Test Link Text' }
|
58
|
+
let(:id) { 'test-id' }
|
59
|
+
let(:url) { 'http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip' }
|
60
|
+
|
61
|
+
it 'generates a link to download the original file' do
|
62
|
+
puts download_link_file(label, id, url)
|
63
|
+
expect(download_link_file(label, id, url)).to eq '<a contentUrl="http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip" class="btn btn-default download download-original" data-download="trigger" data-download-type="direct" data-download-id="test-id" href="http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip">Test Link Text</a>'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
55
67
|
describe '#download_link_direct' do
|
56
68
|
let(:text) { 'Test Link Text' }
|
57
69
|
let(:references_field) { Settings.FIELDS.REFERENCES }
|
@@ -185,7 +197,7 @@ describe GeoblacklightHelper, type: :helper do
|
|
185
197
|
context 'as a multivalued Array' do
|
186
198
|
let(:document_attributes) do
|
187
199
|
{
|
188
|
-
value: %w
|
200
|
+
value: %w[short description]
|
189
201
|
}
|
190
202
|
end
|
191
203
|
it 'uses both values' do
|
@@ -204,9 +216,9 @@ describe GeoblacklightHelper, type: :helper do
|
|
204
216
|
allow(helper).to receive(:application_name).and_return('GeoBlacklight')
|
205
217
|
end
|
206
218
|
|
207
|
-
describe '#
|
219
|
+
describe '#carto_link' do
|
208
220
|
it 'aliases CartoHelper#carto_link' do
|
209
|
-
expect(helper.
|
221
|
+
expect(helper.carto_link('http://demo.org/wfs/layer.json')).to eq(helper.carto_link('http://demo.org/wfs/layer.json'))
|
210
222
|
end
|
211
223
|
end
|
212
224
|
end
|
@@ -240,7 +252,7 @@ describe GeoblacklightHelper, type: :helper do
|
|
240
252
|
|
241
253
|
describe '#render_value_as_truncate_abstract' do
|
242
254
|
context 'with multiple values' do
|
243
|
-
let(:document) { SolrDocument.new(value: %w
|
255
|
+
let(:document) { SolrDocument.new(value: %w[short description]) }
|
244
256
|
it 'wraps in correct DIV class' do
|
245
257
|
expect(helper.render_value_as_truncate_abstract(document)).to eq '<div class="truncate-abstract">short description</div>'
|
246
258
|
end
|
@@ -328,15 +340,36 @@ describe GeoblacklightHelper, type: :helper do
|
|
328
340
|
end
|
329
341
|
|
330
342
|
describe '#relations_icon' do
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
343
|
+
context 'when configured to use the geometry type' do
|
344
|
+
before do
|
345
|
+
allow(Settings).to receive(:USE_GEOM_FOR_RELATIONS_ICON).and_return(true)
|
346
|
+
end
|
347
|
+
|
348
|
+
it 'renders a goemetry type as the icon' do
|
349
|
+
html = Capybara.string(helper.relations_icon({ 'layer_geom_type_s' => 'polygon' }, 'leaf'))
|
350
|
+
expect(html.title.strip).to eq 'Polygon'
|
351
|
+
end
|
352
|
+
|
353
|
+
it 'has the svg_tooltip class so that the Bootstrap tooltip is applied' do
|
354
|
+
html = Capybara.string(helper.relations_icon({ 'layer_geom_type_s' => 'polygon' }, 'leaf'))
|
355
|
+
expect(html).to have_css('.blacklight-icons.svg_tooltip')
|
356
|
+
end
|
357
|
+
end
|
358
|
+
|
359
|
+
context 'when not confiugred to use the geometry type' do
|
360
|
+
before do
|
361
|
+
allow(Settings).to receive(:USE_GEOM_FOR_RELATIONS_ICON).and_return(false)
|
362
|
+
end
|
363
|
+
|
364
|
+
it 'renders the provided icon' do
|
365
|
+
html = Capybara.string(helper.relations_icon({ 'layer_geom_type_s' => 'polygon' }, 'leaf'))
|
366
|
+
expect(html.title.strip).to eq 'Leaf'
|
367
|
+
end
|
368
|
+
|
369
|
+
it 'does not have the svg_tooltip class' do
|
370
|
+
html = Capybara.string(helper.relations_icon({ 'layer_geom_type_s' => 'polygon' }, 'leaf'))
|
371
|
+
expect(html).not_to have_css('.blacklight-icons.svg_tooltip')
|
372
|
+
end
|
340
373
|
end
|
341
374
|
end
|
342
375
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
//= require geoblacklight
|
2
|
+
|
3
|
+
describe('setupInspection', function() {
|
4
|
+
describe('Inspect attribute on the map', function() {
|
5
|
+
it('identifyFeatures is defined', function() {
|
6
|
+
expect(L.esri.identifyFeatures).toBeDefined();
|
7
|
+
});
|
8
|
+
it('Tasks is not defined', function() {
|
9
|
+
expect(L.esri.Tasks).toBeUndefined();
|
10
|
+
});
|
11
|
+
});
|
12
|
+
});
|
@@ -1,7 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe Geoblacklight::DocumentPresenter do
|
4
5
|
# Please see https://github.com/projectblacklight/blacklight/blob/v6.15.0/spec/presenters/index_presenter_spec.rb#L4
|
6
|
+
subject { presenter }
|
5
7
|
let(:request_context) { double(document_index_view_type: 'list') }
|
6
8
|
let(:blacklight_config) do
|
7
9
|
Blacklight::Configuration.new.configure do |config|
|
@@ -12,7 +14,6 @@ describe Geoblacklight::DocumentPresenter do
|
|
12
14
|
end
|
13
15
|
end
|
14
16
|
let(:solr_fields) { Settings.FIELDS }
|
15
|
-
subject { presenter }
|
16
17
|
let(:presenter) do
|
17
18
|
described_class.new(document, request_context, blacklight_config)
|
18
19
|
end
|
@@ -23,7 +24,7 @@ describe Geoblacklight::DocumentPresenter do
|
|
23
24
|
layer_id_s: 'druid:abc123',
|
24
25
|
non_index_field: 'do not render',
|
25
26
|
period: 'Ends with period.',
|
26
|
-
multi_display: %w
|
27
|
+
multi_display: %w[blue blah]
|
27
28
|
)
|
28
29
|
end
|
29
30
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe Geoblacklight::Download do
|
@@ -31,7 +32,7 @@ describe Geoblacklight::Download do
|
|
31
32
|
end
|
32
33
|
describe '#file_path' do
|
33
34
|
it 'returns the path with name and extension' do
|
34
|
-
expect(download.class.file_path).to eq
|
35
|
+
expect(download.class.file_path).to eq Rails.root.join('tmp', 'cache', 'downloads')
|
35
36
|
end
|
36
37
|
it 'is configurable' do
|
37
38
|
expect(Settings).to receive(:DOWNLOAD_PATH).and_return('configured/path')
|