geoblacklight 2.1.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +214 -108
  3. data/.gitignore +3 -1
  4. data/.rubocop.yml +19 -15
  5. data/.rubocop_todo.yml +28 -159
  6. data/Gemfile +3 -8
  7. data/README.md +6 -7
  8. data/Rakefile +1 -0
  9. data/app/assets/images/blacklight/arrow-circle-down.svg +3 -0
  10. data/app/assets/images/blacklight/baruch-cuny.svg +3 -0
  11. data/app/assets/images/blacklight/berkeley.svg +4 -0
  12. data/app/assets/images/blacklight/book.svg +3 -0
  13. data/app/assets/images/blacklight/bookmark.svg +3 -0
  14. data/app/assets/images/blacklight/cd-rom.svg +3 -0
  15. data/app/assets/images/blacklight/chicago.svg +4 -0
  16. data/app/assets/images/blacklight/citation.svg +3 -0
  17. data/app/assets/images/blacklight/collection.svg +3 -0
  18. data/app/assets/images/blacklight/columbia.svg +3 -0
  19. data/app/assets/images/blacklight/cornell.svg +5 -0
  20. data/app/assets/images/blacklight/dvd-rom.svg +3 -0
  21. data/app/assets/images/blacklight/email.svg +3 -0
  22. data/app/assets/images/blacklight/esri-globe.svg +31 -37
  23. data/app/assets/images/blacklight/geoblacklight-icons.json +2079 -0
  24. data/app/assets/images/blacklight/globe.svg +3 -0
  25. data/app/assets/images/blacklight/harvard.svg +3 -0
  26. data/app/assets/images/blacklight/home.svg +3 -0
  27. data/app/assets/images/blacklight/illinois.svg +4 -0
  28. data/app/assets/images/blacklight/image.svg +3 -0
  29. data/app/assets/images/blacklight/indiana.svg +3 -0
  30. data/app/assets/images/blacklight/iowa.svg +3 -0
  31. data/app/assets/images/blacklight/leaf.svg +3 -0
  32. data/app/assets/images/blacklight/lewis-clark.svg +5 -0
  33. data/app/assets/images/blacklight/line.svg +4 -0
  34. data/app/assets/images/blacklight/logo.svg +1 -0
  35. data/app/assets/images/blacklight/map-marker.svg +3 -0
  36. data/app/assets/images/blacklight/map.svg +3 -0
  37. data/app/assets/images/blacklight/maryland.svg +3 -0
  38. data/app/assets/images/blacklight/massgis.svg +3 -0
  39. data/app/assets/images/blacklight/metadata.svg +3 -0
  40. data/app/assets/images/blacklight/michigan-state.svg +4 -0
  41. data/app/assets/images/blacklight/michigan.svg +3 -0
  42. data/app/assets/images/blacklight/minnesota.svg +3 -0
  43. data/app/assets/images/blacklight/mit.svg +3 -0
  44. data/app/assets/images/blacklight/mixed.svg +5 -0
  45. data/app/assets/images/blacklight/multilinestring.svg +6 -0
  46. data/app/assets/images/blacklight/multipoint.svg +3 -0
  47. data/app/assets/images/blacklight/multipolygon.svg +6 -0
  48. data/app/assets/images/blacklight/nyu.svg +6 -0
  49. data/app/assets/images/blacklight/ohio-state.svg +5 -0
  50. data/app/assets/images/blacklight/pagelines-brands.svg +3 -0
  51. data/app/assets/images/blacklight/paper-map.svg +3 -0
  52. data/app/assets/images/blacklight/penn-state.svg +4 -0
  53. data/app/assets/images/blacklight/point.svg +3 -0
  54. data/app/assets/images/blacklight/polygon.svg +4 -0
  55. data/app/assets/images/blacklight/polyline.svg +6 -0
  56. data/app/assets/images/blacklight/princeton.svg +3 -0
  57. data/app/assets/images/blacklight/public.svg +3 -0
  58. data/app/assets/images/blacklight/purdue.svg +4 -0
  59. data/app/assets/images/blacklight/raster.svg +3 -0
  60. data/app/assets/images/blacklight/restricted.svg +3 -0
  61. data/app/assets/images/blacklight/sms.svg +3 -0
  62. data/app/assets/images/blacklight/stanford.svg +3 -0
  63. data/app/assets/images/blacklight/table.svg +3 -0
  64. data/app/assets/images/blacklight/tags.svg +3 -0
  65. data/app/assets/images/blacklight/texas.svg +3 -0
  66. data/app/assets/images/blacklight/tufts.svg +3 -0
  67. data/app/assets/images/blacklight/ucla.svg +3 -0
  68. data/app/assets/images/blacklight/uva.svg +3 -0
  69. data/app/assets/images/blacklight/web_services.svg +3 -0
  70. data/app/assets/images/blacklight/wisconsin.svg +3 -0
  71. data/app/assets/javascripts/geoblacklight/basemaps.js +18 -0
  72. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
  73. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +1 -1
  74. data/app/assets/javascripts/geoblacklight/modules/help_text.js +7 -0
  75. data/app/assets/javascripts/geoblacklight/modules/home.js +1 -1
  76. data/app/assets/javascripts/geoblacklight/modules/item.js +19 -2
  77. data/app/assets/javascripts/geoblacklight/modules/results.js +4 -2
  78. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
  79. data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
  80. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
  81. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +13 -0
  82. data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
  83. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
  84. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
  85. data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +8 -9
  86. data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
  87. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
  88. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +49 -59
  89. data/app/assets/stylesheets/geoblacklight/modules/item.scss +17 -0
  90. data/app/assets/stylesheets/geoblacklight/modules/results.scss +47 -28
  91. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
  92. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -55
  93. data/app/controllers/download_controller.rb +12 -12
  94. data/app/controllers/relation_controller.rb +1 -0
  95. data/app/controllers/wms_controller.rb +1 -0
  96. data/app/helpers/arcgis_helper.rb +1 -0
  97. data/app/helpers/blacklight_helper.rb +1 -0
  98. data/app/helpers/carto_helper.rb +1 -0
  99. data/app/helpers/geoblacklight_helper.rb +62 -19
  100. data/app/models/concerns/geoblacklight/solr_document.rb +18 -8
  101. data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
  102. data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
  103. data/app/models/concerns/geoblacklight/solr_document/citation.rb +29 -0
  104. data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
  105. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
  106. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +8 -1
  107. data/app/presenters/geoblacklight/document_presenter.rb +2 -1
  108. data/app/views/catalog/_arcgis.html.erb +4 -0
  109. data/app/views/catalog/_carto.html.erb +4 -0
  110. data/app/views/catalog/_citation.html.erb +11 -0
  111. data/app/views/catalog/_data_dictionary.html.erb +3 -2
  112. data/app/views/catalog/_document_action.html.erb +1 -1
  113. data/app/views/catalog/_document_split.html.erb +1 -1
  114. data/app/views/catalog/_downloads_primary.html.erb +8 -1
  115. data/app/views/catalog/_header_icons.html.erb +3 -3
  116. data/app/views/catalog/_home_text.html.erb +8 -5
  117. data/app/views/catalog/_index_split_default.html.erb +22 -14
  118. data/app/views/catalog/_show_default_viewer_container.html.erb +6 -1
  119. data/app/views/catalog/_show_header_default.html.erb +2 -4
  120. data/app/views/catalog/_web_services_wfs.html.erb +3 -3
  121. data/app/views/catalog/_web_services_wms.html.erb +3 -3
  122. data/app/views/catalog/metadata.html.erb +3 -1
  123. data/app/views/catalog/web_services.html.erb +9 -7
  124. data/app/views/relation/_ancestors.html.erb +3 -5
  125. data/app/views/relation/_descendants.html.erb +4 -6
  126. data/app/views/relation/index.html.erb +20 -8
  127. data/app/views/relation/index.json.jbuilder +2 -1
  128. data/app/views/shared/_header_navbar.html.erb +1 -1
  129. data/bin/coverage.rb +36 -0
  130. data/config/initializers/rails_config.rb +1 -0
  131. data/config/locales/geoblacklight.en.yml +75 -2
  132. data/geoblacklight.gemspec +6 -8
  133. data/lib/generators/geoblacklight/assets_generator.rb +46 -0
  134. data/lib/generators/geoblacklight/install_generator.rb +8 -9
  135. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
  136. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
  137. data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
  138. data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
  139. data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -1
  140. data/lib/generators/geoblacklight/templates/catalog_controller.rb +6 -2
  141. data/lib/generators/geoblacklight/templates/settings.yml +17 -0
  142. data/lib/generators/geoblacklight/webpacker_generator.rb +2 -1
  143. data/lib/geoblacklight.rb +1 -0
  144. data/lib/geoblacklight/bounding_box.rb +1 -0
  145. data/lib/geoblacklight/catalog_helper_override.rb +2 -1
  146. data/lib/geoblacklight/constants.rb +4 -2
  147. data/lib/geoblacklight/download.rb +6 -5
  148. data/lib/geoblacklight/download/geojson_download.rb +1 -0
  149. data/lib/geoblacklight/download/geotiff_download.rb +1 -0
  150. data/lib/geoblacklight/download/hgl_download.rb +1 -0
  151. data/lib/geoblacklight/download/kmz_download.rb +2 -1
  152. data/lib/geoblacklight/download/shapefile_download.rb +1 -0
  153. data/lib/geoblacklight/engine.rb +1 -2
  154. data/lib/geoblacklight/exceptions.rb +1 -0
  155. data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
  156. data/lib/geoblacklight/item_viewer.rb +6 -1
  157. data/lib/geoblacklight/metadata.rb +1 -0
  158. data/lib/geoblacklight/metadata/base.rb +16 -10
  159. data/lib/geoblacklight/metadata/fgdc.rb +1 -0
  160. data/lib/geoblacklight/metadata/html.rb +2 -2
  161. data/lib/geoblacklight/metadata/iso19139.rb +1 -0
  162. data/lib/geoblacklight/metadata_transformer.rb +1 -0
  163. data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
  164. data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
  165. data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
  166. data/lib/geoblacklight/reference.rb +3 -1
  167. data/lib/geoblacklight/references.rb +7 -3
  168. data/lib/geoblacklight/relation/ancestors.rb +2 -1
  169. data/lib/geoblacklight/relation/descendants.rb +2 -1
  170. data/lib/geoblacklight/relation/relation_response.rb +2 -1
  171. data/lib/geoblacklight/routes.rb +1 -0
  172. data/lib/geoblacklight/routes/downloadable.rb +1 -0
  173. data/lib/geoblacklight/routes/exportable.rb +1 -0
  174. data/lib/geoblacklight/routes/wms.rb +1 -0
  175. data/lib/geoblacklight/version.rb +2 -1
  176. data/lib/geoblacklight/view_helper_override.rb +2 -1
  177. data/lib/geoblacklight/wms_layer.rb +3 -2
  178. data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
  179. data/lib/tasks/geoblacklight.rake +33 -32
  180. data/package.json +4 -0
  181. data/schema/references.md +2 -1
  182. data/solr/conf/schema.xml +5 -5
  183. data/spec/controllers/catalog_controller_spec.rb +1 -0
  184. data/spec/controllers/download_controller_spec.rb +2 -1
  185. data/spec/controllers/relation_controller_spec.rb +1 -0
  186. data/spec/controllers/wms_controller_spec.rb +2 -1
  187. data/spec/factories/user.rb +1 -0
  188. data/spec/features/bookmarks_spec.rb +1 -0
  189. data/spec/features/configurable_basemap_spec.rb +10 -0
  190. data/spec/features/data_dictionary_download_spec.rb +1 -0
  191. data/spec/features/download_layer_spec.rb +1 -0
  192. data/spec/features/empty_search_spec.rb +1 -0
  193. data/spec/features/esri_viewer_spec.rb +1 -6
  194. data/spec/features/exports_spec.rb +4 -3
  195. data/spec/features/help_text_spec.rb +9 -0
  196. data/spec/features/home_page_spec.rb +6 -0
  197. data/spec/features/iiif_viewer_spec.rb +1 -0
  198. data/spec/features/index_map_spec.rb +1 -0
  199. data/spec/features/layer_inspection_spec.rb +1 -0
  200. data/spec/features/layer_opacity_spec.rb +1 -0
  201. data/spec/features/layer_preview_spec.rb +1 -0
  202. data/spec/features/layer_with_no_references_spec.rb +1 -0
  203. data/spec/features/linkified_attribute_table_spec.rb +1 -0
  204. data/spec/features/metadata_panel_spec.rb +52 -8
  205. data/spec/features/missing_metadata_spec.rb +13 -0
  206. data/spec/features/multiple_downloads_spec.rb +15 -0
  207. data/spec/features/oembed_spec.rb +10 -0
  208. data/spec/features/relations_spec.rb +10 -28
  209. data/spec/features/saved_searches_spec.rb +1 -0
  210. data/spec/features/search_bar_spec.rb +1 -0
  211. data/spec/features/search_results_map_spec.rb +2 -7
  212. data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
  213. data/spec/features/search_spec.rb +1 -0
  214. data/spec/features/show_page_metadata_spec.rb +1 -0
  215. data/spec/features/sms_spec.rb +1 -0
  216. data/spec/features/split_view.html.erb_spec.rb +5 -4
  217. data/spec/features/suppressed_records_spec.rb +15 -0
  218. data/spec/features/web_services_modal_spec.rb +1 -0
  219. data/spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml +1 -0
  220. data/spec/fixtures/iso19139/stanford-cg357zz0321.xml +581 -0
  221. data/spec/fixtures/mods/fb897vt9938.mods +111 -0
  222. data/spec/fixtures/mods/stanford-cg357zz0321.mods +113 -0
  223. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +1 -1
  224. data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +30 -0
  225. data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +17 -0
  226. data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +23 -0
  227. data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
  228. data/spec/fixtures/solr_documents/oembed.json +24 -0
  229. data/spec/helpers/arcgis_helper_spec.rb +1 -0
  230. data/spec/helpers/carto_helper_spec.rb +1 -0
  231. data/spec/helpers/geoblacklight_helper_spec.rb +81 -12
  232. data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
  233. data/spec/javascripts/metadata_download_button_spec.js +1 -1
  234. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
  235. data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
  236. data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
  237. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
  238. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
  239. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
  240. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
  241. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
  242. data/spec/lib/geoblacklight/download_spec.rb +4 -3
  243. data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
  244. data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
  245. data/spec/lib/geoblacklight/metadata/base_spec.rb +22 -7
  246. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
  247. data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
  248. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
  249. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
  250. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
  251. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
  252. data/spec/lib/geoblacklight/reference_spec.rb +31 -0
  253. data/spec/lib/geoblacklight/references_spec.rb +2 -3
  254. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +2 -1
  255. data/spec/lib/geoblacklight/relation/descendants_spec.rb +2 -1
  256. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
  257. data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
  258. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
  259. data/spec/lib/geoblacklight/wms_layer_spec.rb +3 -2
  260. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
  261. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +14 -0
  262. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
  263. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
  264. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +47 -0
  265. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
  266. data/spec/routing/catalog_routing_spec.rb +1 -0
  267. data/spec/spec_helper.rb +20 -14
  268. data/spec/support/backport_test_helpers.rb +1 -0
  269. data/spec/support/features.rb +1 -0
  270. data/spec/support/features/session_helpers.rb +1 -0
  271. data/spec/support/fixtures.rb +8 -0
  272. data/spec/tasks/geoblacklight_spec.rb +19 -0
  273. data/spec/teaspoon_env.rb +1 -0
  274. data/spec/test_app_templates/Gemfile.extra +1 -0
  275. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
  276. data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
  277. data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
  278. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
  279. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
  280. data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
  281. data/template.rb +1 -0
  282. data/vendor/assets/stylesheets/leaflet.css +0 -1
  283. metadata +158 -75
  284. data/app/assets/images/blacklight/logo.png +0 -0
  285. data/app/assets/javascripts/geoblacklight/modules/collapse.js +0 -7
  286. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
  287. data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
  288. data/app/views/catalog/_exports.html.erb +0 -11
  289. data/app/views/catalog/_show_tools.html.erb +0 -25
  290. data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
  291. data/vendor/assets/javascripts/readmore.min.js +0 -11
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Download layer' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Empty search' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'feature_layer reference', js: true do
@@ -13,7 +14,6 @@ feature 'feature_layer reference', js: true do
13
14
  expect(page).to have_css 'img.leaflet-image-layer', visible: true
14
15
  end
15
16
  scenario 'displays dynamic layer (single layer)' do
16
- pending 'external service disabled cors access'
17
17
  visit solr_document_path '4669301e-b4b2-4c8b-bf40-01b968a2865b'
18
18
  expect(page).to have_css '.leaflet-control-zoom', visible: true
19
19
  expect(page).to have_css 'img.leaflet-image-layer', visible: true
@@ -25,11 +25,6 @@ feature 'feature_layer reference', js: true do
25
25
  expect(Nokogiri::HTML.parse(page.body).css('g').length).to eq 23
26
26
  fail
27
27
  end
28
- scenario 'displays image map layer' do
29
- visit solr_document_path '32653ed6-8d83-4692-8a06-bf13ffe2c018'
30
- expect(page).to have_css '.leaflet-control-zoom', visible: true
31
- expect(page).to have_css 'img.leaflet-image-layer', visible: true
32
- end
33
28
  scenario 'displays tiled map layer' do
34
29
  visit solr_document_path 'nyu-test-soil-survey-map'
35
30
  expect(page).to have_css '.leaflet-control-zoom', visible: true
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Export features' do
@@ -5,7 +6,7 @@ feature 'Export features' do
5
6
  feature 'Open in Carto' do
6
7
  scenario 'shows up in tools' do
7
8
  visit solr_document_path 'tufts-cambridgegrid100-04'
8
- expect(page).to have_css 'li.exports a', text: 'Open in Carto'
9
+ expect(page).to have_css 'li.carto a', text: 'Open in Carto'
9
10
  click_link 'Open in Carto'
10
11
  end
11
12
  end
@@ -14,14 +15,14 @@ feature 'Export features' do
14
15
  feature 'Open in ArcGIS Online' do
15
16
  scenario 'shows up in tools' do
16
17
  visit solr_document_path '90f14ff4-1359-4beb-b931-5cb41d20ab90'
17
- expect(page).to have_css 'li.exports a', text: 'Open in ArcGIS Online'
18
+ expect(page).to have_css 'li.arcgis a', text: 'Open in ArcGIS Online'
18
19
  end
19
20
  end
20
21
  end
21
22
  feature 'when restricted or no wfs' do
22
23
  scenario 'is not in tools' do
23
24
  visit solr_document_path 'princeton-02870w62c'
24
- expect(page).not_to have_css 'li.exports a', text: 'Open in Carto'
25
+ expect(page).not_to have_css 'li.carto a', text: 'Open in Carto'
25
26
  end
26
27
  end
27
28
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ feature 'Help Text' do
5
+ scenario 'Displays help text entry' do
6
+ visit '/catalog/stanford-cg357zz0321'
7
+ expect(page).to have_css '.help-text', count: 1
8
+ end
9
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Home page', js: true do # use js: true for tests which require js, but it slows things down
@@ -37,4 +38,9 @@ feature 'Home page', js: true do # use js: true for tests which require js, but
37
38
  end
38
39
  expect(page).to have_css '#documents'
39
40
  end
41
+ scenario 'can search by placename' do
42
+ click_link 'Minnesota, United States'
43
+ results = page.all(:css, 'article.document')
44
+ expect(results.count).to equal(3)
45
+ end
40
46
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'iiif reference' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Index map' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Layer inspection', js: true do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Layer opacity', js: true do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Layer preview', js: true do
@@ -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,7 +1,37 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Metadata tools' do
4
5
  feature 'when metadata references are available', js: :true do
6
+ let(:iso19139) { File.read(Rails.root.join('..', 'spec', 'fixtures', 'iso19139', 'stanford-cg357zz0321.xml')) }
7
+ let(:fgdc) { File.read(Rails.root.join('..', 'spec', 'fixtures', 'fgdc', 'harvard-g7064-s2-1834-k3.xml')) }
8
+ let(:mods) { File.read(Rails.root.join('..', 'spec', 'fixtures', 'mods', 'stanford-cg357zz0321.mods')) }
9
+ let(:fgdc_response) { instance_double(Faraday::Response) }
10
+ let(:fgdc_connection) { instance_double(Faraday::Connection) }
11
+ let(:iso19139_response) { instance_double(Faraday::Response) }
12
+ let(:iso19139_connection) { instance_double(Faraday::Connection) }
13
+ let(:response) { instance_double(Faraday::Response) }
14
+ let(:connection) { instance_double(Faraday::Connection) }
15
+
16
+ before do
17
+ allow(iso19139_response).to receive(:body).and_return(iso19139)
18
+ allow(iso19139_response).to receive(:status).and_return(200)
19
+ allow(iso19139_connection).to receive(:get).and_return(iso19139_response)
20
+ 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
+ allow(fgdc_response).to receive(:body).and_return(fgdc)
23
+ allow(fgdc_response).to receive(:status).and_return(200)
24
+ allow(fgdc_connection).to receive(:get).and_return(fgdc_response)
25
+ 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
+ allow(response).to receive(:body).and_return(mods)
28
+ allow(response).to receive(:status).and_return(200)
29
+ allow(connection).to receive(:get).and_return(response)
30
+ allow(Faraday).to receive(:new).with(url: 'http://purl.stanford.edu/cg357zz0321.mods').and_return(connection)
31
+
32
+ allow(Faraday).to receive(:new).with(hash_including(url: 'http://127.0.0.1:8983/solr/blacklight-core/')).and_call_original
33
+ end
34
+
5
35
  scenario 'shows up as HTML' do
6
36
  visit solr_document_path 'harvard-g7064-s2-1834-k3'
7
37
  expect(page).to have_css 'li.metadata a', text: 'Metadata'
@@ -14,14 +44,28 @@ feature 'Metadata tools' do
14
44
  end
15
45
  end
16
46
  end
17
- scenario 'shows up as XML' do
18
- visit solr_document_path 'stanford-cg357zz0321'
19
- expect(page).to have_css 'li.metadata a', text: 'Metadata'
20
- click_link 'Metadata'
21
- using_wait_time 15 do
22
- within '.metadata-view' do
23
- expect(page).to have_css '.pill-metadata', text: 'MODS'
24
- expect(page).to have_css '.CodeRay'
47
+ context 'when the metadata is in the XML' do
48
+ let(:mods) { File.read(Rails.root.join('..', 'spec', 'fixtures', 'mods', 'fb897vt9938.mods')) }
49
+ let(:response) { instance_double(Faraday::Response) }
50
+ let(:connection) { instance_double(Faraday::Connection) }
51
+
52
+ before do
53
+ allow(response).to receive(:body).and_return(mods)
54
+ allow(response).to receive(:status).and_return(200)
55
+ allow(connection).to receive(:get).and_return(response)
56
+ allow(Faraday).to receive(:new).with(url: 'http://purl.stanford.edu/fb897vt9938.mods').and_return(connection)
57
+ allow(Faraday).to receive(:new).and_call_original
58
+ end
59
+
60
+ scenario 'shows up as XML' do
61
+ visit solr_document_path 'stanford-cg357zz0321'
62
+ expect(page).to have_css 'li.metadata a', text: 'Metadata'
63
+ click_link 'Metadata'
64
+ using_wait_time 15 do
65
+ within '.metadata-view' do
66
+ expect(page).to have_css '.pill-metadata', text: 'MODS'
67
+ expect(page).to have_css '.CodeRay'
68
+ end
25
69
  end
26
70
  end
27
71
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  feature 'Missing metadata', js: true do
@@ -9,4 +10,16 @@ feature 'Missing metadata', js: true do
9
10
  visit solr_document_path('aster-global-emissivity-dataset-1-kilometer-v003-ag1kmcad20')
10
11
  expect(page).to have_css('#map')
11
12
  end
13
+ scenario 'Yields error free show page for no layer_geom_type_s' do
14
+ visit solr_document_path('05d-03-noGeomType')
15
+ expect(page).to have_css('#map')
16
+ end
17
+ scenario 'Yields error free show page for no dct_provenance_s' do
18
+ visit solr_document_path('99-0001-noProvenance')
19
+ expect(page).to have_css('#map')
20
+ end
21
+ scenario 'Yields error free show page for no solr_geom' do
22
+ visit solr_document_path('05d-p16022coll246-noGeo')
23
+ expect(page).to have_css('#map')
24
+ end
12
25
  end
@@ -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
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ feature 'Oembed layer' do
5
+ scenario 'Should show oembed content and map' do
6
+ visit solr_document_path('stanford-dc482zx1528')
7
+ expect(page).to have_css '#map'
8
+ expect(page).to have_css '[data-protocol="Oembed"]'
9
+ end
10
+ end
@@ -1,51 +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
- }
22
- ]
23
- },
24
- 'current_doc' => 'nyu_2451_34635'
25
- }
26
- end
27
5
  scenario 'Record with dc_source_sm value(s) should have parent(s)' do
28
6
  visit relations_solr_document_path('nyu_2451_34502')
29
- expect(page).to have_css('ul b', text: 'Source Datasets')
7
+ expect(page).to have_css('.relations .card-header h2', text: 'Source Datasets')
30
8
  end
31
9
 
32
10
  scenario 'Record that is pointed to by others should have children' do
33
11
  visit relations_solr_document_path('nyu_2451_34635')
34
- expect(page).to have_css('ul b', text: 'Derived Datasets')
12
+ expect(page).to have_css('.relations .card-header h2', text: 'Derived Datasets')
35
13
  end
36
14
 
37
15
  scenario 'Relations should respond to json' do
38
16
  visit relations_solr_document_path('nyu_2451_34635', format: 'json')
39
- 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'
40
21
  end
41
22
 
42
23
  scenario 'Record with relations should render widget in catalog#show', js: true do
43
24
  visit solr_document_path('nyu_2451_34635')
44
- 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')
45
27
  end
46
28
 
47
29
  scenario 'Record without relations should not render widget in catalog#show', js: true do
48
30
  visit solr_document_path('harvard-g7064-s2-1834-k3')
49
- expect(page).to have_no_css('div.panel-heading', text: 'Data Relations')
31
+ expect(page).to have_no_css('.card.relations')
50
32
  end
51
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'
@@ -21,7 +16,7 @@ feature 'search results map', js: true do
21
16
  # "-101.90917968749999,38.75408327579141,-83.27636718749999,53.27835301753182"
22
17
  left, bottom, right, top = bbox.split(',')
23
18
  expect(left.to_f).to be_within(2).of(-101)
24
- expect(bottom.to_f).to be_within(2).of(38)
19
+ expect(bottom.to_f).to be_within(3).of(38)
25
20
  expect(right.to_f).to be_within(2).of(-83)
26
21
  expect(top.to_f).to be_within(2).of(53)
27
22
  end
@@ -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
@@ -9,7 +10,7 @@ feature 'Index view', js: true do
9
10
  scenario 'should have documents and map on page' do
10
11
  visit search_catalog_path(f: { Settings.FIELDS.PROVENANCE => ['Stanford'] })
11
12
  expect(page).to have_css('#documents')
12
- expect(page).to have_css('.document', count: 4)
13
+ expect(page).to have_css('.document', count: 5)
13
14
  expect(page).to have_css('#map')
14
15
  end
15
16
 
@@ -30,7 +31,7 @@ feature 'Index view', js: true do
30
31
  expect(page).to have_css('div.card.facet-limit', text: 'Data type')
31
32
  expect(page).to have_css('div.card.facet-limit', text: 'Format')
32
33
  end
33
- click_link 'Institution'
34
+ click_button 'Institution'
34
35
  using_wait_time 120 do
35
36
  expect(page).to have_css('a.facet-select', text: 'Minnesota', visible: true)
36
37
  expect(page).to have_css('a.facet-select', text: 'MIT', visible: true)
@@ -51,9 +52,9 @@ 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
- find('.status-icons').click
57
+ find('button').click
57
58
  expect(page).to have_css('.collapse', visible: true)
58
59
  end
59
60
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ feature 'Suppressed records' do
5
+ scenario 'are viewable' do
6
+ visit solr_document_path 'princeton-jq085m62x'
7
+ expect(page).to have_css('#document')
8
+ end
9
+
10
+ scenario 'are exportable' do
11
+ visit solr_document_path 'princeton-jq085m62x'
12
+ click_link 'Web services'
13
+ expect(page).to have_css 'h1.modal-title', text: 'Web services'
14
+ end
15
+ end