geoblacklight 2.4.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +152 -64
  3. data/.rubocop.yml +15 -13
  4. data/.rubocop_todo.yml +66 -10
  5. data/README.md +1 -1
  6. data/Rakefile +1 -0
  7. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
  8. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
  9. data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
  10. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
  11. data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
  12. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
  13. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
  14. data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +0 -0
  15. data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
  16. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +1 -0
  18. data/app/assets/stylesheets/geoblacklight/modules/results.scss +16 -28
  19. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
  20. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
  21. data/app/controllers/download_controller.rb +12 -12
  22. data/app/controllers/relation_controller.rb +1 -0
  23. data/app/controllers/wms_controller.rb +1 -0
  24. data/app/helpers/arcgis_helper.rb +1 -0
  25. data/app/helpers/blacklight_helper.rb +1 -0
  26. data/app/helpers/carto_helper.rb +1 -0
  27. data/app/helpers/geoblacklight_helper.rb +25 -72
  28. data/app/models/concerns/geoblacklight/solr_document.rb +7 -6
  29. data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
  30. data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
  31. data/app/models/concerns/geoblacklight/solr_document/citation.rb +1 -0
  32. data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
  33. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
  34. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -1
  35. data/app/presenters/geoblacklight/document_presenter.rb +2 -1
  36. data/app/views/catalog/_arcgis.html.erb +4 -0
  37. data/app/views/catalog/_carto.html.erb +4 -0
  38. data/app/views/catalog/_downloads_primary.html.erb +8 -1
  39. data/app/views/catalog/_header_icons.html.erb +3 -3
  40. data/app/views/catalog/_home_text.html.erb +3 -0
  41. data/app/views/catalog/_index_split_default.html.erb +21 -21
  42. data/app/views/relation/_ancestors.html.erb +1 -4
  43. data/app/views/relation/_descendants.html.erb +2 -5
  44. data/app/views/relation/index.html.erb +20 -8
  45. data/app/views/relation/index.json.jbuilder +2 -1
  46. data/app/views/shared/_header_navbar.html.erb +0 -2
  47. data/bin/coverage.rb +36 -0
  48. data/config/initializers/rails_config.rb +1 -0
  49. data/config/locales/geoblacklight.en.yml +3 -2
  50. data/geoblacklight.gemspec +3 -6
  51. data/lib/generators/geoblacklight/assets_generator.rb +46 -0
  52. data/lib/generators/geoblacklight/install_generator.rb +3 -9
  53. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
  54. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
  55. data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
  56. data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
  57. data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -0
  58. data/lib/generators/geoblacklight/templates/catalog_controller.rb +3 -2
  59. data/lib/generators/geoblacklight/templates/settings.yml +0 -6
  60. data/lib/generators/geoblacklight/webpacker_generator.rb +1 -0
  61. data/lib/geoblacklight.rb +1 -0
  62. data/lib/geoblacklight/bounding_box.rb +1 -0
  63. data/lib/geoblacklight/catalog_helper_override.rb +1 -0
  64. data/lib/geoblacklight/constants.rb +1 -0
  65. data/lib/geoblacklight/download.rb +2 -1
  66. data/lib/geoblacklight/download/geojson_download.rb +1 -0
  67. data/lib/geoblacklight/download/geotiff_download.rb +1 -0
  68. data/lib/geoblacklight/download/hgl_download.rb +1 -0
  69. data/lib/geoblacklight/download/kmz_download.rb +2 -1
  70. data/lib/geoblacklight/download/shapefile_download.rb +1 -0
  71. data/lib/geoblacklight/engine.rb +1 -2
  72. data/lib/geoblacklight/exceptions.rb +1 -0
  73. data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
  74. data/lib/geoblacklight/item_viewer.rb +1 -0
  75. data/lib/geoblacklight/metadata.rb +1 -0
  76. data/lib/geoblacklight/metadata/base.rb +1 -0
  77. data/lib/geoblacklight/metadata/fgdc.rb +1 -0
  78. data/lib/geoblacklight/metadata/html.rb +2 -2
  79. data/lib/geoblacklight/metadata/iso19139.rb +1 -0
  80. data/lib/geoblacklight/metadata_transformer.rb +1 -0
  81. data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
  82. data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
  83. data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
  84. data/lib/geoblacklight/reference.rb +1 -0
  85. data/lib/geoblacklight/references.rb +7 -3
  86. data/lib/geoblacklight/relation/ancestors.rb +1 -0
  87. data/lib/geoblacklight/relation/descendants.rb +1 -0
  88. data/lib/geoblacklight/relation/relation_response.rb +2 -1
  89. data/lib/geoblacklight/routes.rb +1 -0
  90. data/lib/geoblacklight/routes/downloadable.rb +1 -0
  91. data/lib/geoblacklight/routes/exportable.rb +1 -0
  92. data/lib/geoblacklight/routes/wms.rb +1 -0
  93. data/lib/geoblacklight/version.rb +2 -1
  94. data/lib/geoblacklight/view_helper_override.rb +1 -0
  95. data/lib/geoblacklight/wms_layer.rb +1 -0
  96. data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
  97. data/lib/tasks/geoblacklight.rake +33 -32
  98. data/spec/controllers/catalog_controller_spec.rb +1 -0
  99. data/spec/controllers/download_controller_spec.rb +1 -0
  100. data/spec/controllers/relation_controller_spec.rb +1 -0
  101. data/spec/controllers/wms_controller_spec.rb +1 -0
  102. data/spec/factories/user.rb +1 -0
  103. data/spec/features/bookmarks_spec.rb +1 -0
  104. data/spec/features/configurable_basemap_spec.rb +1 -0
  105. data/spec/features/data_dictionary_download_spec.rb +1 -0
  106. data/spec/features/download_layer_spec.rb +1 -0
  107. data/spec/features/empty_search_spec.rb +1 -0
  108. data/spec/features/esri_viewer_spec.rb +1 -5
  109. data/spec/features/exports_spec.rb +4 -12
  110. data/spec/features/help_text_spec.rb +1 -0
  111. data/spec/features/home_page_spec.rb +6 -0
  112. data/spec/features/iiif_viewer_spec.rb +1 -0
  113. data/spec/features/index_map_spec.rb +1 -0
  114. data/spec/features/layer_inspection_spec.rb +1 -0
  115. data/spec/features/layer_opacity_spec.rb +1 -0
  116. data/spec/features/layer_preview_spec.rb +1 -0
  117. data/spec/features/layer_with_no_references_spec.rb +1 -0
  118. data/spec/features/linkified_attribute_table_spec.rb +1 -0
  119. data/spec/features/metadata_panel_spec.rb +1 -0
  120. data/spec/features/missing_metadata_spec.rb +1 -0
  121. data/spec/features/multiple_downloads_spec.rb +15 -0
  122. data/spec/features/oembed_spec.rb +1 -0
  123. data/spec/features/relations_spec.rb +10 -29
  124. data/spec/features/saved_searches_spec.rb +1 -0
  125. data/spec/features/search_bar_spec.rb +1 -0
  126. data/spec/features/search_results_map_spec.rb +1 -6
  127. data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
  128. data/spec/features/search_spec.rb +1 -0
  129. data/spec/features/show_page_metadata_spec.rb +1 -0
  130. data/spec/features/sms_spec.rb +1 -0
  131. data/spec/features/split_view.html.erb_spec.rb +2 -1
  132. data/spec/features/suppressed_records_spec.rb +1 -0
  133. data/spec/features/web_services_modal_spec.rb +1 -0
  134. data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
  135. data/spec/helpers/arcgis_helper_spec.rb +1 -0
  136. data/spec/helpers/carto_helper_spec.rb +1 -0
  137. data/spec/helpers/geoblacklight_helper_spec.rb +47 -14
  138. data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
  139. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
  140. data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
  141. data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
  142. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
  143. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
  144. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
  145. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
  146. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
  147. data/spec/lib/geoblacklight/download_spec.rb +2 -1
  148. data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
  149. data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
  150. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -0
  151. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
  152. data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
  153. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
  154. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
  155. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
  156. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
  157. data/spec/lib/geoblacklight/reference_spec.rb +1 -0
  158. data/spec/lib/geoblacklight/references_spec.rb +2 -3
  159. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +1 -0
  160. data/spec/lib/geoblacklight/relation/descendants_spec.rb +1 -0
  161. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
  162. data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
  163. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
  164. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -0
  165. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
  166. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -0
  167. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
  168. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
  169. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -0
  170. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
  171. data/spec/routing/catalog_routing_spec.rb +1 -0
  172. data/spec/spec_helper.rb +12 -9
  173. data/spec/support/backport_test_helpers.rb +1 -0
  174. data/spec/support/features.rb +1 -0
  175. data/spec/support/features/session_helpers.rb +1 -0
  176. data/spec/support/fixtures.rb +1 -0
  177. data/spec/tasks/geoblacklight_spec.rb +4 -3
  178. data/spec/teaspoon_env.rb +1 -0
  179. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
  180. data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
  181. data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
  182. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
  183. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
  184. data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
  185. data/template.rb +1 -0
  186. metadata +42 -68
  187. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
  188. data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
  189. data/app/views/catalog/_exports.html.erb +0 -3
  190. data/app/views/catalog/_show_tools.html.erb +0 -25
  191. data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
  192. data/vendor/assets/javascripts/readmore.js +0 -0
  193. data/vendor/assets/javascripts/readmore.min.js +0 -0
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'layer with no wms or iiif' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Attribute table values', js: true do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Metadata tools' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Missing metadata', js: true do
@@ -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,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Oembed layer' do
@@ -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('ul b', text: 'Source Datasets')
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('ul b', text: 'Derived Datasets')
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
- expect(page.body).to eq(expected_json_resp.to_json)
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('div.card-header', text: 'Data Relations')
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('div.panel-heading', text: 'Data Relations')
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 'saved searches' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'search bar' do
@@ -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 < 3
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 < 3
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 3
46
+ expect(position_in_result_page(page, 'cugir-007741')).to eq 4
46
47
  end
47
48
  end
48
49
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Search' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Metadata display on show page' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'SMS tool', js: true do
@@ -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('.documentHeader', match: :first) do
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)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Suppressed records' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'web services tools' do
@@ -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 ArcgisHelper, type: :helper do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe CartoHelper, type: :helper do
@@ -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(Test Test Earth Science)))
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(short description)
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 '#cartodb_link' do
219
+ describe '#carto_link' do
208
220
  it 'aliases CartoHelper#carto_link' do
209
- expect(helper.cartodb_link('http://demo.org/wfs/layer.json')).to eq(helper.carto_link('http://demo.org/wfs/layer.json'))
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(short description)) }
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
- it 'renders a goemetry type if configured' do
332
- allow(Settings).to receive(:USE_GEOM_FOR_RELATIONS_ICON).and_return(true)
333
- html = Capybara.string(helper.relations_icon({ 'layer_geom_type_s' => 'polygon' }, 'leaf'))
334
- expect(html.title.strip).to eq 'Polygon'
335
- end
336
- it 'renders provided icon if not configured to use geometry' do
337
- allow(Settings).to receive(:USE_GEOM_FOR_RELATIONS_ICON).and_return(false)
338
- html = Capybara.string(helper.relations_icon({ 'layer_geom_type_s' => 'polygon' }, 'leaf'))
339
- expect(html.title.strip).to eq 'Leaf'
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,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::BoundingBox do
@@ -1 +1,2 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
@@ -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(blue blah)
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::GeojsonDownload do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::GeotiffDownload do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::HglDownload do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::KmzDownload do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::ShapefileDownload do
@@ -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 "#{Rails.root}/tmp/cache/downloads"
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')