geoblacklight 4.4.1 → 5.0.0.pre.alpha.11

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 (577) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-demo-app.yml +153 -0
  3. data/.github/workflows/prune-containers.yml +19 -0
  4. data/.github/workflows/ruby.yml +54 -52
  5. data/.gitignore +2 -2
  6. data/CONTRIBUTING.md +62 -44
  7. data/Gemfile +3 -28
  8. data/Rakefile +42 -67
  9. data/app/assets/images/blacklight/logo.svg +31 -1
  10. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -2
  11. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +1 -1
  12. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +24 -26
  13. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +13 -0
  14. data/app/assets/stylesheets/geoblacklight/modules/home.scss +2 -17
  15. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +48 -23
  16. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +1 -15
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -11
  18. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +3 -3
  19. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +4 -0
  20. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -15
  21. data/app/assets/stylesheets/geoblacklight/modules/results.scss +10 -19
  22. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +2 -2
  23. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +46 -0
  24. data/app/components/blacklight/icons/arizona_component.rb +24 -0
  25. data/app/components/blacklight/icons/arrow_circle_down_component.rb +23 -0
  26. data/app/components/blacklight/icons/baruch_cuny_component.rb +23 -0
  27. data/app/components/blacklight/icons/book_component.rb +23 -0
  28. data/app/components/blacklight/icons/bookmark_component.rb +23 -0
  29. data/app/components/blacklight/icons/cd_rom_component.rb +23 -0
  30. data/app/components/blacklight/icons/child_item_component.rb +23 -0
  31. data/app/components/blacklight/icons/circle_info_solid_component.rb +23 -0
  32. data/app/components/blacklight/icons/citation_component.rb +23 -0
  33. data/app/components/blacklight/icons/collection_component.rb +23 -0
  34. data/app/components/blacklight/icons/collections_component.rb +24 -0
  35. data/app/components/blacklight/icons/columbia_component.rb +23 -0
  36. data/app/components/blacklight/icons/cornell_component.rb +25 -0
  37. data/app/components/blacklight/icons/datasets_component.rb +27 -0
  38. data/app/components/blacklight/icons/dvd_rom_component.rb +23 -0
  39. data/app/components/blacklight/icons/email_component.rb +23 -0
  40. data/app/components/blacklight/icons/esri_globe_component.rb +51 -0
  41. data/app/components/blacklight/icons/fire_solid_component.rb +23 -0
  42. data/app/components/blacklight/icons/george_mason_component.rb +24 -0
  43. data/app/components/blacklight/icons/globe_component.rb +23 -0
  44. data/app/components/blacklight/icons/harvard_component.rb +23 -0
  45. data/app/components/blacklight/icons/home_component.rb +23 -0
  46. data/app/components/blacklight/icons/iiif_drag_drop_component.rb +31 -0
  47. data/app/components/blacklight/icons/image_component.rb +23 -0
  48. data/app/components/blacklight/icons/imagery_component.rb +24 -0
  49. data/app/components/blacklight/icons/indiana_component.rb +23 -0
  50. data/app/components/blacklight/icons/leaf_component.rb +23 -0
  51. data/app/components/blacklight/icons/lewis_clark_component.rb +25 -0
  52. data/app/components/blacklight/icons/lightbulb_solid_component.rb +23 -0
  53. data/app/components/blacklight/icons/line_component.rb +24 -0
  54. data/app/components/blacklight/icons/map_component.rb +23 -0
  55. data/app/components/blacklight/icons/map_marker_component.rb +23 -0
  56. data/app/components/blacklight/icons/maps_component.rb +24 -0
  57. data/app/components/blacklight/icons/massgis_component.rb +23 -0
  58. data/app/components/blacklight/icons/metadata_component.rb +23 -0
  59. data/app/components/blacklight/icons/michigan_state_university_component.rb +25 -0
  60. data/app/components/blacklight/icons/mit_component.rb +23 -0
  61. data/app/components/blacklight/icons/mixed_component.rb +25 -0
  62. data/app/components/blacklight/icons/multilinestring_component.rb +26 -0
  63. data/app/components/blacklight/icons/multipoint_component.rb +23 -0
  64. data/app/components/blacklight/icons/multipolygon_component.rb +26 -0
  65. data/app/components/blacklight/icons/northwestern_university_component.rb +24 -0
  66. data/app/components/blacklight/icons/nyu_component.rb +26 -0
  67. data/app/components/blacklight/icons/pagelines_brands_component.rb +23 -0
  68. data/app/components/blacklight/icons/paper_map_component.rb +23 -0
  69. data/app/components/blacklight/icons/parent_item_component.rb +23 -0
  70. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +25 -0
  71. data/app/components/blacklight/icons/point_component.rb +23 -0
  72. data/app/components/blacklight/icons/polygon_component.rb +24 -0
  73. data/app/components/blacklight/icons/polyline_component.rb +26 -0
  74. data/app/components/blacklight/icons/princeton_component.rb +23 -0
  75. data/app/components/blacklight/icons/public_component.rb +23 -0
  76. data/app/components/blacklight/icons/purdue_university_component.rb +25 -0
  77. data/app/components/blacklight/icons/raster_component.rb +23 -0
  78. data/app/components/blacklight/icons/restricted_component.rb +23 -0
  79. data/app/components/blacklight/icons/rutgers_component.rb +25 -0
  80. data/app/components/blacklight/icons/sms_component.rb +23 -0
  81. data/app/components/blacklight/icons/stanford_component.rb +23 -0
  82. data/app/components/blacklight/icons/table_component.rb +23 -0
  83. data/app/components/blacklight/icons/tags_component.rb +23 -0
  84. data/app/components/blacklight/icons/texas_component.rb +23 -0
  85. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +26 -0
  86. data/app/components/blacklight/icons/triangle_exclamation_solid_component.rb +23 -0
  87. data/app/components/blacklight/icons/tufts_component.rb +23 -0
  88. data/app/components/blacklight/icons/ucla_component.rb +23 -0
  89. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +24 -0
  90. data/app/components/blacklight/icons/university_of_chicago_component.rb +25 -0
  91. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +26 -0
  92. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +25 -0
  93. data/app/components/blacklight/icons/university_of_iowa_component.rb +24 -0
  94. data/app/components/blacklight/icons/university_of_maryland_component.rb +24 -0
  95. data/app/components/blacklight/icons/university_of_michigan_component.rb +24 -0
  96. data/app/components/blacklight/icons/university_of_minnesota_component.rb +24 -0
  97. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +27 -0
  98. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +24 -0
  99. data/app/components/blacklight/icons/uva_component.rb +23 -0
  100. data/app/components/blacklight/icons/web_services_component.rb +23 -0
  101. data/app/components/blacklight/icons/websites_component.rb +24 -0
  102. data/app/components/geoblacklight/arcgis_component.html.erb +3 -0
  103. data/app/components/geoblacklight/arcgis_component.rb +25 -0
  104. data/app/components/geoblacklight/attribute_table_component.html.erb +17 -0
  105. data/app/components/geoblacklight/attribute_table_component.rb +17 -0
  106. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +3 -0
  107. data/app/components/geoblacklight/data_dictionary_download_component.rb +16 -0
  108. data/app/components/geoblacklight/display_note_component.rb +1 -1
  109. data/app/components/geoblacklight/document/citation_component.html.erb +1 -0
  110. data/app/components/geoblacklight/document/citation_component.rb +19 -0
  111. data/app/components/geoblacklight/document/sidebar_component.html.erb +12 -0
  112. data/app/components/geoblacklight/document/sidebar_component.rb +8 -0
  113. data/app/components/geoblacklight/document_component.html.erb +43 -0
  114. data/app/components/geoblacklight/document_component.rb +6 -0
  115. data/app/components/geoblacklight/download_links_component.html.erb +31 -0
  116. data/app/components/geoblacklight/download_links_component.rb +80 -0
  117. data/app/components/geoblacklight/header_component.html.erb +14 -0
  118. data/app/components/geoblacklight/header_component.rb +9 -0
  119. data/app/components/geoblacklight/header_icons_component.html.erb +3 -0
  120. data/app/components/geoblacklight/header_icons_component.rb +29 -0
  121. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +3 -0
  122. data/app/components/geoblacklight/iiif_drag_drop_component.rb +16 -0
  123. data/app/components/geoblacklight/index_map_inspect_component.rb +15 -0
  124. data/app/components/geoblacklight/index_map_legend_component.html.erb +14 -0
  125. data/app/components/geoblacklight/index_map_legend_component.rb +17 -0
  126. data/app/components/geoblacklight/item_map_viewer_component.html.erb +1 -0
  127. data/app/components/geoblacklight/item_map_viewer_component.rb +87 -0
  128. data/app/components/geoblacklight/location_leaflet_map_component.html.erb +1 -0
  129. data/app/components/geoblacklight/location_leaflet_map_component.rb +49 -0
  130. data/app/components/geoblacklight/login_link_component.html.erb +5 -0
  131. data/app/components/geoblacklight/login_link_component.rb +17 -0
  132. data/app/components/geoblacklight/relations_component.html.erb +23 -0
  133. data/app/components/geoblacklight/relations_component.rb +25 -0
  134. data/app/components/geoblacklight/search_result_component.html.erb +44 -0
  135. data/app/{presenters/geoblacklight/document_presenter.rb → components/geoblacklight/search_result_component.rb} +9 -6
  136. data/app/components/geoblacklight/static_map_component.html.erb +9 -0
  137. data/app/components/geoblacklight/static_map_component.rb +36 -0
  138. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -0
  139. data/app/components/geoblacklight/viewer_help_text_component.rb +46 -0
  140. data/app/components/geoblacklight/web_services_component.html.erb +1 -0
  141. data/app/components/geoblacklight/web_services_component.rb +26 -0
  142. data/app/{views/catalog/_web_services_default.html.erb → components/geoblacklight/web_services_default_component.html.erb} +3 -5
  143. data/app/components/geoblacklight/web_services_default_component.rb +11 -0
  144. data/app/components/geoblacklight/web_services_link_component.html.erb +3 -0
  145. data/app/components/geoblacklight/web_services_link_component.rb +22 -0
  146. data/app/{views/catalog/_web_services_wfs.html.erb → components/geoblacklight/web_services_wfs_component.html.erb} +4 -7
  147. data/app/components/geoblacklight/web_services_wfs_component.rb +12 -0
  148. data/app/components/geoblacklight/web_services_wms_component.html.erb +10 -0
  149. data/app/components/geoblacklight/web_services_wms_component.rb +12 -0
  150. data/app/controllers/download_controller.rb +10 -26
  151. data/app/helpers/geoblacklight_helper.rb +10 -194
  152. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +11 -0
  153. data/app/javascript/geoblacklight/controllers/clover_viewer_controller.js +47 -0
  154. data/app/javascript/geoblacklight/controllers/downloads_controller.js +56 -0
  155. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +217 -0
  156. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +18 -0
  157. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +63 -0
  158. data/app/javascript/geoblacklight/controllers/search_results_controller.js +50 -0
  159. data/app/javascript/geoblacklight/core.js +69 -0
  160. data/app/javascript/geoblacklight/index.js +29 -0
  161. data/app/javascript/geoblacklight/initializers/metadata_download.js +54 -0
  162. data/app/javascript/geoblacklight/initializers/popovers.js +11 -0
  163. data/app/javascript/geoblacklight/initializers/relations.js +40 -0
  164. data/app/javascript/geoblacklight/initializers/tooltips.js +55 -0
  165. data/app/javascript/geoblacklight/initializers/truncation.js +45 -0
  166. data/app/javascript/geoblacklight/leaflet/basemaps.js +74 -0
  167. data/app/javascript/geoblacklight/leaflet/constants.js +18 -0
  168. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +160 -0
  169. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +120 -0
  170. data/app/javascript/geoblacklight/leaflet/inspection.js +195 -0
  171. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +120 -0
  172. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +59 -0
  173. data/app/javascript/geoblacklight/leaflet/layers.js +153 -0
  174. data/app/javascript/geoblacklight/leaflet/utils.js +83 -0
  175. data/app/javascript/geoblacklight/openlayers/basemaps.js +47 -0
  176. data/app/javascript/geoblacklight/openlayers/layers.js +44 -0
  177. data/app/models/concerns/geoblacklight/solr_document/citation.rb +20 -8
  178. data/app/models/concerns/geoblacklight/solr_document.rb +22 -30
  179. data/app/presenters/geoblacklight/bbox_item_presenter.rb +1 -1
  180. data/app/views/catalog/_citation.html.erb +16 -33
  181. data/app/views/catalog/_document_split.html.erb +18 -3
  182. data/app/views/catalog/_home_text.html.erb +2 -2
  183. data/app/views/catalog/_metadata.html.erb +1 -1
  184. data/app/views/catalog/index.html.erb +8 -4
  185. data/app/views/catalog/metadata/_markup.html.erb +1 -1
  186. data/app/views/catalog/metadata.html.erb +14 -13
  187. data/app/views/catalog/web_services.html.erb +19 -28
  188. data/app/views/relation/index.html.erb +2 -12
  189. data/app/views/relation/index.json.jbuilder +1 -1
  190. data/compose.yml +14 -0
  191. data/config/importmap.rb +20 -0
  192. data/config/locales/geoblacklight.en.yml +15 -24
  193. data/geoblacklight.gemspec +7 -7
  194. data/lib/generators/geoblacklight/assets/importmap_generator.rb +87 -0
  195. data/lib/generators/geoblacklight/assets/vite_generator.rb +90 -0
  196. data/lib/generators/geoblacklight/assets_generator.rb +12 -37
  197. data/lib/generators/geoblacklight/install_generator.rb +11 -49
  198. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +13 -19
  199. data/lib/generators/geoblacklight/templates/assets/application.js +17 -0
  200. data/lib/generators/geoblacklight/templates/assets/application.scss +9 -4
  201. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +11 -0
  202. data/lib/generators/geoblacklight/templates/base.html.erb +9 -12
  203. data/lib/generators/geoblacklight/templates/catalog_controller.rb +7 -15
  204. data/lib/generators/geoblacklight/templates/demo-app/Dockerfile +31 -0
  205. data/lib/generators/geoblacklight/templates/demo-app/compose.yml +26 -0
  206. data/lib/generators/geoblacklight/templates/demo-app/start-server.sh +21 -0
  207. data/lib/generators/geoblacklight/templates/package.json +7 -1
  208. data/lib/generators/geoblacklight/templates/settings.yml +45 -40
  209. data/lib/generators/geoblacklight/templates/vite.config.ts +22 -7
  210. data/lib/geoblacklight/bounding_box.rb +16 -0
  211. data/lib/geoblacklight/constants.rb +0 -1
  212. data/lib/geoblacklight/download/csv_download.rb +22 -0
  213. data/lib/geoblacklight/download/geojson_download.rb +1 -1
  214. data/lib/geoblacklight/download/geotiff_download.rb +1 -1
  215. data/lib/geoblacklight/download/kmz_download.rb +1 -1
  216. data/lib/geoblacklight/download/shapefile_download.rb +1 -1
  217. data/lib/geoblacklight/download.rb +1 -1
  218. data/lib/geoblacklight/engine.rb +15 -6
  219. data/lib/geoblacklight/item_viewer.rb +1 -1
  220. data/lib/geoblacklight/metadata/base.rb +2 -1
  221. data/lib/geoblacklight/references.rb +27 -8
  222. data/lib/geoblacklight/routes/downloadable.rb +0 -1
  223. data/lib/geoblacklight/routes.rb +0 -3
  224. data/lib/geoblacklight/version.rb +1 -1
  225. data/lib/geoblacklight/wms_layer/feature_info_response.rb +9 -6
  226. data/lib/geoblacklight.rb +6 -30
  227. data/lib/tasks/geoblacklight.rake +24 -60
  228. data/package.json +24 -17
  229. data/solr/conf/schema.xml +15 -13
  230. data/solr/conf/solrconfig.xml +6 -4
  231. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +15 -0
  232. data/spec/components/blacklight/icons/arizona_component_spec.rb +15 -0
  233. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +15 -0
  234. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +15 -0
  235. data/spec/components/blacklight/icons/book_component_spec.rb +15 -0
  236. data/spec/components/blacklight/icons/bookmark_component_spec.rb +15 -0
  237. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +15 -0
  238. data/spec/components/blacklight/icons/child_item_component_spec.rb +15 -0
  239. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +15 -0
  240. data/spec/components/blacklight/icons/citation_component_spec.rb +15 -0
  241. data/spec/components/blacklight/icons/collection_component_spec.rb +15 -0
  242. data/spec/components/blacklight/icons/collections_component_spec.rb +15 -0
  243. data/spec/components/blacklight/icons/columbia_component_spec.rb +15 -0
  244. data/spec/components/blacklight/icons/cornell_component_spec.rb +15 -0
  245. data/spec/components/blacklight/icons/datasets_component_spec.rb +15 -0
  246. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +15 -0
  247. data/spec/components/blacklight/icons/email_component_spec.rb +15 -0
  248. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +15 -0
  249. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +15 -0
  250. data/spec/components/blacklight/icons/george_mason_component_spec.rb +15 -0
  251. data/spec/components/blacklight/icons/globe_component_spec.rb +15 -0
  252. data/spec/components/blacklight/icons/harvard_component_spec.rb +15 -0
  253. data/spec/components/blacklight/icons/home_component_spec.rb +15 -0
  254. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +15 -0
  255. data/spec/components/blacklight/icons/image_component_spec.rb +15 -0
  256. data/spec/components/blacklight/icons/imagery_component_spec.rb +15 -0
  257. data/spec/components/blacklight/icons/indiana_component_spec.rb +15 -0
  258. data/spec/components/blacklight/icons/leaf_component_spec.rb +15 -0
  259. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +15 -0
  260. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +15 -0
  261. data/spec/components/blacklight/icons/line_component_spec.rb +15 -0
  262. data/spec/components/blacklight/icons/map_component_spec.rb +15 -0
  263. data/spec/components/blacklight/icons/map_marker_component_spec.rb +15 -0
  264. data/spec/components/blacklight/icons/maps_component_spec.rb +15 -0
  265. data/spec/components/blacklight/icons/massgis_component_spec.rb +15 -0
  266. data/spec/components/blacklight/icons/metadata_component_spec.rb +15 -0
  267. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +15 -0
  268. data/spec/components/blacklight/icons/mit_component_spec.rb +15 -0
  269. data/spec/components/blacklight/icons/mixed_component_spec.rb +15 -0
  270. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +15 -0
  271. data/spec/components/blacklight/icons/multipoint_component_spec.rb +15 -0
  272. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +15 -0
  273. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +15 -0
  274. data/spec/components/blacklight/icons/nyu_component_spec.rb +15 -0
  275. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +15 -0
  276. data/spec/components/blacklight/icons/paper_map_component_spec.rb +15 -0
  277. data/spec/components/blacklight/icons/parent_item_component_spec.rb +15 -0
  278. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +15 -0
  279. data/spec/components/blacklight/icons/point_component_spec.rb +15 -0
  280. data/spec/components/blacklight/icons/polygon_component_spec.rb +15 -0
  281. data/spec/components/blacklight/icons/polyline_component_spec.rb +15 -0
  282. data/spec/components/blacklight/icons/princeton_component_spec.rb +15 -0
  283. data/spec/components/blacklight/icons/public_component_spec.rb +15 -0
  284. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +15 -0
  285. data/spec/components/blacklight/icons/raster_component_spec.rb +15 -0
  286. data/spec/components/blacklight/icons/restricted_component_spec.rb +15 -0
  287. data/spec/components/blacklight/icons/rutgers_component_spec.rb +15 -0
  288. data/spec/components/blacklight/icons/sms_component_spec.rb +15 -0
  289. data/spec/components/blacklight/icons/stanford_component_spec.rb +15 -0
  290. data/spec/components/blacklight/icons/table_component_spec.rb +15 -0
  291. data/spec/components/blacklight/icons/tags_component_spec.rb +15 -0
  292. data/spec/components/blacklight/icons/texas_component_spec.rb +15 -0
  293. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +15 -0
  294. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +15 -0
  295. data/spec/components/blacklight/icons/tufts_component_spec.rb +15 -0
  296. data/spec/components/blacklight/icons/ucla_component_spec.rb +15 -0
  297. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +15 -0
  298. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +15 -0
  299. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +15 -0
  300. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +15 -0
  301. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +15 -0
  302. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +15 -0
  303. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +15 -0
  304. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +15 -0
  305. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +15 -0
  306. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +15 -0
  307. data/spec/components/blacklight/icons/uva_component_spec.rb +15 -0
  308. data/spec/components/blacklight/icons/web_services_component_spec.rb +15 -0
  309. data/spec/components/blacklight/icons/websites_component_spec.rb +15 -0
  310. data/spec/components/geoblacklight/arcgis_component_spec.rb +31 -0
  311. data/spec/components/geoblacklight/attribute_table_component_spec.rb +37 -0
  312. data/spec/components/geoblacklight/citation_component_spec.rb +37 -0
  313. data/spec/components/geoblacklight/document_component_spec.rb +92 -0
  314. data/spec/components/geoblacklight/download_links_component_spec.rb +102 -0
  315. data/spec/components/geoblacklight/header_icons_component_spec.rb +56 -0
  316. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +30 -0
  317. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +42 -0
  318. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +36 -0
  319. data/spec/components/geoblacklight/login_link_component_spec.rb +33 -0
  320. data/spec/{lib/geoblacklight/document_presenter_spec.rb → components/geoblacklight/search_result_component_spec.rb} +19 -11
  321. data/spec/components/geoblacklight/static_map_component_spec.rb +22 -0
  322. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +28 -0
  323. data/spec/components/geoblacklight/web_services_component_spec.rb +45 -0
  324. data/spec/controllers/download_controller_spec.rb +12 -35
  325. data/spec/features/axe_spec.rb +66 -0
  326. data/spec/features/bookmarks_spec.rb +1 -1
  327. data/spec/features/citations_spec.rb +7 -3
  328. data/spec/features/download_layer_spec.rb +24 -39
  329. data/spec/features/esri_viewer_spec.rb +1 -1
  330. data/spec/features/exports_spec.rb +0 -15
  331. data/spec/features/{full_screen_controll_spec.rb → full_screen_control_spec.rb} +6 -6
  332. data/spec/features/home_page_spec.rb +12 -7
  333. data/spec/features/iiif_viewer_spec.rb +1 -1
  334. data/spec/features/index_map_spec.rb +16 -9
  335. data/spec/features/{split_view.html.erb_spec.rb → index_view_spec.rb} +15 -13
  336. data/spec/features/layer_inspection_spec.rb +2 -2
  337. data/spec/features/layer_preview_spec.rb +1 -1
  338. data/spec/features/missing_metadata_spec.rb +5 -5
  339. data/spec/features/oembed_spec.rb +2 -2
  340. data/spec/features/saved_searches_spec.rb +4 -1
  341. data/spec/features/search_results_complex_geometry_spec.rb +2 -2
  342. data/spec/features/search_results_icons_spec.rb +3 -3
  343. data/spec/features/search_results_map_spec.rb +4 -36
  344. data/spec/features/search_results_overlap_ratio_spec.rb +1 -1
  345. data/spec/features/show_page_download_spec.rb +0 -8
  346. data/spec/features/tilejson_spec.rb +2 -2
  347. data/spec/features/web_services_modal_spec.rb +57 -39
  348. data/spec/features/wmts_spec.rb +4 -4
  349. data/spec/fixtures/solr_documents/README.md +2 -1
  350. data/spec/fixtures/solr_documents/complex-geom.json +61 -0
  351. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +45 -24
  352. data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
  353. data/spec/fixtures/solr_documents/multiple-downloads.json +1 -0
  354. data/spec/helpers/geoblacklight_helper_spec.rb +8 -173
  355. data/spec/lib/geoblacklight/download/csv_download_spec.rb +21 -0
  356. data/spec/lib/geoblacklight/reference_spec.rb +17 -19
  357. data/spec/lib/geoblacklight/references_spec.rb +31 -17
  358. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +8 -6
  359. data/spec/lib/geoblacklight/wms_layer_spec.rb +14 -0
  360. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  361. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -21
  362. data/spec/spec_helper.rb +2 -28
  363. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -12
  364. data/template.rb +13 -11
  365. data/test/leaflet/layers.test.js +17 -0
  366. data/vite.config.ts +34 -23
  367. metadata +304 -256
  368. data/.hound.yml +0 -8
  369. data/.jshintignore +0 -2
  370. data/.jshintrc +0 -67
  371. data/.solr_wrapper +0 -6
  372. data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
  373. data/app/assets/images/blacklight/arizona.svg +0 -4
  374. data/app/assets/images/blacklight/arrow-circle-down.svg +0 -3
  375. data/app/assets/images/blacklight/baruch-cuny.svg +0 -3
  376. data/app/assets/images/blacklight/book.svg +0 -3
  377. data/app/assets/images/blacklight/bookmark.svg +0 -3
  378. data/app/assets/images/blacklight/cd-rom.svg +0 -3
  379. data/app/assets/images/blacklight/chicago.svg +0 -4
  380. data/app/assets/images/blacklight/child-item.svg +0 -3
  381. data/app/assets/images/blacklight/circle-info-solid.svg +0 -1
  382. data/app/assets/images/blacklight/citation.svg +0 -3
  383. data/app/assets/images/blacklight/collection.svg +0 -3
  384. data/app/assets/images/blacklight/collections.svg +0 -4
  385. data/app/assets/images/blacklight/columbia.svg +0 -3
  386. data/app/assets/images/blacklight/cornell.svg +0 -5
  387. data/app/assets/images/blacklight/datasets.svg +0 -7
  388. data/app/assets/images/blacklight/dvd-rom.svg +0 -3
  389. data/app/assets/images/blacklight/email.svg +0 -3
  390. data/app/assets/images/blacklight/esri-globe.svg +0 -31
  391. data/app/assets/images/blacklight/fire-solid.svg +0 -1
  392. data/app/assets/images/blacklight/geoblacklight-icons.json +0 -3312
  393. data/app/assets/images/blacklight/george-mason.svg +0 -4
  394. data/app/assets/images/blacklight/globe.svg +0 -3
  395. data/app/assets/images/blacklight/harvard.svg +0 -3
  396. data/app/assets/images/blacklight/home.svg +0 -3
  397. data/app/assets/images/blacklight/illinois.svg +0 -4
  398. data/app/assets/images/blacklight/image.svg +0 -3
  399. data/app/assets/images/blacklight/imagery.svg +0 -4
  400. data/app/assets/images/blacklight/indiana.svg +0 -3
  401. data/app/assets/images/blacklight/iowa.svg +0 -3
  402. data/app/assets/images/blacklight/leaf.svg +0 -3
  403. data/app/assets/images/blacklight/lewis-clark.svg +0 -5
  404. data/app/assets/images/blacklight/lightbulb-solid.svg +0 -1
  405. data/app/assets/images/blacklight/line.svg +0 -4
  406. data/app/assets/images/blacklight/map-marker.svg +0 -3
  407. data/app/assets/images/blacklight/map.svg +0 -3
  408. data/app/assets/images/blacklight/maps.svg +0 -4
  409. data/app/assets/images/blacklight/maryland.svg +0 -3
  410. data/app/assets/images/blacklight/massgis.svg +0 -3
  411. data/app/assets/images/blacklight/metadata.svg +0 -3
  412. data/app/assets/images/blacklight/michigan-state-university.svg +0 -5
  413. data/app/assets/images/blacklight/michigan-state.svg +0 -4
  414. data/app/assets/images/blacklight/michigan.svg +0 -3
  415. data/app/assets/images/blacklight/minnesota.svg +0 -3
  416. data/app/assets/images/blacklight/mit.svg +0 -3
  417. data/app/assets/images/blacklight/mixed.svg +0 -5
  418. data/app/assets/images/blacklight/multilinestring.svg +0 -6
  419. data/app/assets/images/blacklight/multipoint.svg +0 -3
  420. data/app/assets/images/blacklight/multipolygon.svg +0 -6
  421. data/app/assets/images/blacklight/nebraska.svg +0 -4
  422. data/app/assets/images/blacklight/northwestern-university.svg +0 -5
  423. data/app/assets/images/blacklight/nyu.svg +0 -6
  424. data/app/assets/images/blacklight/ohio-state.svg +0 -5
  425. data/app/assets/images/blacklight/pagelines-brands.svg +0 -3
  426. data/app/assets/images/blacklight/paper-map.svg +0 -3
  427. data/app/assets/images/blacklight/parent-item.svg +0 -3
  428. data/app/assets/images/blacklight/penn-state.svg +0 -4
  429. data/app/assets/images/blacklight/pennsylvania-state-university.svg +0 -5
  430. data/app/assets/images/blacklight/point.svg +0 -3
  431. data/app/assets/images/blacklight/polygon.svg +0 -4
  432. data/app/assets/images/blacklight/polyline.svg +0 -6
  433. data/app/assets/images/blacklight/princeton.svg +0 -3
  434. data/app/assets/images/blacklight/public.svg +0 -3
  435. data/app/assets/images/blacklight/purdue-university.svg +0 -5
  436. data/app/assets/images/blacklight/purdue.svg +0 -4
  437. data/app/assets/images/blacklight/raster.svg +0 -3
  438. data/app/assets/images/blacklight/restricted.svg +0 -3
  439. data/app/assets/images/blacklight/rutgers.svg +0 -5
  440. data/app/assets/images/blacklight/sms.svg +0 -3
  441. data/app/assets/images/blacklight/stanford.svg +0 -3
  442. data/app/assets/images/blacklight/table.svg +0 -3
  443. data/app/assets/images/blacklight/tags.svg +0 -3
  444. data/app/assets/images/blacklight/texas.svg +0 -3
  445. data/app/assets/images/blacklight/the-ohio-state-university.svg +0 -6
  446. data/app/assets/images/blacklight/triangle-exclamation-solid.svg +0 -1
  447. data/app/assets/images/blacklight/tufts.svg +0 -3
  448. data/app/assets/images/blacklight/ucla.svg +0 -3
  449. data/app/assets/images/blacklight/university-of-california-berkeley.svg +0 -4
  450. data/app/assets/images/blacklight/university-of-chicago.svg +0 -5
  451. data/app/assets/images/blacklight/university-of-colorado-boulder.svg +0 -6
  452. data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +0 -5
  453. data/app/assets/images/blacklight/university-of-iowa.svg +0 -4
  454. data/app/assets/images/blacklight/university-of-maryland.svg +0 -4
  455. data/app/assets/images/blacklight/university-of-michigan.svg +0 -4
  456. data/app/assets/images/blacklight/university-of-minnesota.svg +0 -4
  457. data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +0 -7
  458. data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +0 -4
  459. data/app/assets/images/blacklight/uva.svg +0 -3
  460. data/app/assets/images/blacklight/web_services.svg +0 -3
  461. data/app/assets/images/blacklight/websites.svg +0 -4
  462. data/app/assets/images/blacklight/wisconsin.svg +0 -3
  463. data/app/assets/javascripts/geoblacklight/basemaps.js +0 -85
  464. data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +0 -8
  465. data/app/assets/javascripts/geoblacklight/controls/opacity.js +0 -6
  466. data/app/assets/javascripts/geoblacklight/controls.js +0 -1
  467. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +0 -61
  468. data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +0 -32
  469. data/app/assets/javascripts/geoblacklight/downloaders.js +0 -1
  470. data/app/assets/javascripts/geoblacklight/geoblacklight.js +0 -60
  471. data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +0 -43
  472. data/app/assets/javascripts/geoblacklight/modules/download.js +0 -11
  473. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +0 -133
  474. data/app/assets/javascripts/geoblacklight/modules/help_text.js +0 -7
  475. data/app/assets/javascripts/geoblacklight/modules/home.js +0 -16
  476. data/app/assets/javascripts/geoblacklight/modules/item.js +0 -32
  477. data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +0 -68
  478. data/app/assets/javascripts/geoblacklight/modules/metadata.js +0 -15
  479. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +0 -58
  480. data/app/assets/javascripts/geoblacklight/modules/relations.js +0 -14
  481. data/app/assets/javascripts/geoblacklight/modules/results.js +0 -81
  482. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +0 -31
  483. data/app/assets/javascripts/geoblacklight/modules/util.js +0 -48
  484. data/app/assets/javascripts/geoblacklight/modules.js +0 -1
  485. data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +0 -19
  486. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +0 -61
  487. data/app/assets/javascripts/geoblacklight/viewers/cog.js +0 -5
  488. data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +0 -85
  489. data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +0 -76
  490. data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +0 -14
  491. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +0 -50
  492. data/app/assets/javascripts/geoblacklight/viewers/esri.js +0 -78
  493. data/app/assets/javascripts/geoblacklight/viewers/iiif.js +0 -25
  494. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +0 -71
  495. data/app/assets/javascripts/geoblacklight/viewers/map.js +0 -77
  496. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +0 -13
  497. data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +0 -5
  498. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
  499. data/app/assets/javascripts/geoblacklight/viewers/tms.js +0 -10
  500. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +0 -68
  501. data/app/assets/javascripts/geoblacklight/viewers/wms.js +0 -74
  502. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
  503. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
  504. data/app/assets/javascripts/geoblacklight/viewers.js +0 -1
  505. data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +0 -5
  506. data/app/helpers/arcgis_helper.rb +0 -14
  507. data/app/helpers/blacklight_helper.rb +0 -11
  508. data/app/helpers/carto_helper.rb +0 -31
  509. data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +0 -18
  510. data/app/javascript/clover/clover_initializer.js +0 -29
  511. data/app/javascript/index.js +0 -7
  512. data/app/javascript/openlayers/basemaps.js +0 -47
  513. data/app/javascript/openlayers/ol_initializer.js +0 -106
  514. data/app/javascript/stylesheets/openlayers.css +0 -1
  515. data/app/models/concerns/geoblacklight/solr_document/carto.rb +0 -17
  516. data/app/views/catalog/_arcgis.html.erb +0 -4
  517. data/app/views/catalog/_carto.html.erb +0 -4
  518. data/app/views/catalog/_data_dictionary.html.erb +0 -5
  519. data/app/views/catalog/_downloads_collapse.html.erb +0 -27
  520. data/app/views/catalog/_header_icons.html.erb +0 -3
  521. data/app/views/catalog/_index_split_default.html.erb +0 -30
  522. data/app/views/catalog/_results_pagination.html.erb +0 -12
  523. data/app/views/catalog/_show_default_attribute_table.html.erb +0 -19
  524. data/app/views/catalog/_show_default_display_note.html.erb +0 -7
  525. data/app/views/catalog/_show_default_viewer_container.html.erb +0 -28
  526. data/app/views/catalog/_show_downloads.html.erb +0 -23
  527. data/app/views/catalog/_show_header_default.html.erb +0 -4
  528. data/app/views/catalog/_show_sidebar.html.erb +0 -16
  529. data/app/views/catalog/_show_sidebar_static_map.html.erb +0 -10
  530. data/app/views/catalog/_show_web_services.html.erb +0 -11
  531. data/app/views/catalog/_web_services.html.erb +0 -9
  532. data/app/views/catalog/_web_services_wms.html.erb +0 -13
  533. data/app/views/download/hgl.html.erb +0 -27
  534. data/app/views/relation/_relations.html.erb +0 -15
  535. data/app/views/shared/_header_navbar.html.erb +0 -46
  536. data/babel.config.json +0 -4
  537. data/jest.config.js +0 -25
  538. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +0 -1
  539. data/lib/generators/geoblacklight/templates/assets/_geoblacklight.scss +0 -1
  540. data/lib/generators/geoblacklight/templates/assets/geoblacklight.js +0 -9
  541. data/lib/generators/geoblacklight/templates/clover.js +0 -5
  542. data/lib/generators/geoblacklight/templates/ol.js +0 -6
  543. data/lib/generators/geoblacklight/templates/package-test.json +0 -10
  544. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +0 -195
  545. data/lib/geoblacklight/download/hgl_download.rb +0 -20
  546. data/lib/geoblacklight/view_helper_override.rb +0 -16
  547. data/setupJest.js +0 -14
  548. data/spec/helpers/arcgis_helper_spec.rb +0 -16
  549. data/spec/helpers/carto_helper_spec.rb +0 -13
  550. data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +0 -27
  551. data/spec/javascripts/util_spec.js +0 -10
  552. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +0 -62
  553. data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -29
  554. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +0 -43
  555. data/spec/test_app_templates/Gemfile.extra +0 -2
  556. data/spec/views/catalog/_document_split.html.erb_spec.rb +0 -7
  557. data/spec/views/catalog/_index_split.html.erb_spec.rb +0 -7
  558. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +0 -11
  559. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +0 -43
  560. data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -38
  561. data/vendor/assets/images/fullscreen.png +0 -0
  562. data/vendor/assets/images/fullscreen@2x.png +0 -0
  563. data/vendor/assets/images/layers-2x.png +0 -0
  564. data/vendor/assets/images/layers.png +0 -0
  565. data/vendor/assets/images/marker-icon-2x.png +0 -0
  566. data/vendor/assets/images/marker-icon.png +0 -0
  567. data/vendor/assets/images/marker-shadow.png +0 -0
  568. data/vendor/assets/javascripts/Leaflet.fullscreen.js +0 -152
  569. data/vendor/assets/javascripts/esri-leaflet.js +0 -12
  570. data/vendor/assets/javascripts/esri-leaflet.js.map +0 -1
  571. data/vendor/assets/javascripts/leaflet-iiif.js +0 -323
  572. data/vendor/assets/javascripts/leaflet-src.js.erb +0 -14126
  573. data/vendor/assets/javascripts/leaflet-src.js.map +0 -1
  574. data/vendor/assets/javascripts/native.history.js +0 -1
  575. data/vendor/assets/stylesheets/leaflet.css +0 -640
  576. data/vendor/assets/stylesheets/leaflet.fullscreen.css +0 -40
  577. /data/app/{views/catalog/_show_default_viewer_information.html.erb → components/geoblacklight/index_map_inspect_component.html.erb} +0 -0
@@ -1,48 +1,69 @@
1
1
  {
2
- "dct_title_s": "Soil Survey Geographic (SSURGO)",
3
- "dct_alternative_sm": [
4
- "esri-tiled_map_layer"
5
- ],
2
+ "dct_title_s": "Minnesota Land Cover Classification and Impervious Surface Area by Landsat and Lidar (2013 Update)",
6
3
  "dct_description_sm": [
7
- "ArcGIS tiled map layer. ",
8
- "This map shows the Soil Survey Geographic (SSURGO) by the United States Department of Agriculture's Natural Resources Conservation Service. It also shows data that was developed by the National Cooperative Soil Survey and supersedes the State Soil Geographic (STATSGO) dataset published in 1994. SSURGO digitizing duplicates the original soil survey maps. This level of mapping is designed for use by landowners, townships, and county natural resource planning and management. The user should be knowledgeable of soils data and their characteristics. The smallest scale map shows the Global Soil Regions map by the United States Department of Agriculture’s Natural Resources Conservation Service."
4
+ "This is a 15-meter raster dataset of a land cover and impervious surface classification for 2013, level two classification. The classification was created using a combination of multitemporal Landsat 8 data and LiDAR data with Object-based image analysis. By using objects instead of pixels we were able to utilize multispectral data along with spatial and contextual information of objects such as shape, size, texture and LiDAR-derived metrics to distinguish different land cover types. While OBIA has become the standard procedure for classification of high resolution imagery we found that it works equally well with Landsat imagery. For the objects classified as urban or developed, a regression model relating the Landsat greenness variable to percent impervious was developed to estimate and map the percent impervious surface area at the pixel level."
9
5
  ],
10
6
  "dct_language_sm": [
11
7
  "eng"
12
8
  ],
13
- "dct_publisher_sm": [
14
- "United States Department of Agriculture, Natural Resources Conservation Service"
9
+ "dct_creator_sm": [
10
+ "Bauer, Marvin E.",
11
+ "Knight, Joe F.",
12
+ "Rampi, Lian P."
15
13
  ],
16
- "schema_provider_s": "NYU",
14
+ "schema_provider_s": "University of Minnesota",
17
15
  "gbl_resourceClass_sm": [
18
- "Maps"
16
+ "Datasets"
19
17
  ],
20
18
  "gbl_resourceType_sm": [
21
- "Raster data"
19
+ "Vector data",
20
+ "Raster data",
21
+ "LiDAR"
22
+ ],
23
+ "dcat_theme_sm": [
24
+ "Imagery"
22
25
  ],
23
26
  "dcat_keyword_sm": [
24
- "GBL Fixture records"
27
+ "Lidar",
28
+ "Landsat Satellites",
29
+ "Land cover",
30
+ "2022-creator-sprint"
25
31
  ],
26
32
  "dct_temporal_sm": [
27
- "2010"
33
+ "2013"
28
34
  ],
35
+ "dct_issued_s": "2016-08-03",
29
36
  "gbl_indexYear_im": [
30
- 2010
37
+ 2013
31
38
  ],
32
39
  "gbl_dateRange_drsim": [
33
- "[2010 TO 2010]"
40
+ "[2013 TO 2013]"
41
+ ],
42
+ "dct_spatial_sm": [
43
+ "Minnesota"
44
+ ],
45
+ "locn_geometry": "POLYGON((-97.23 49.37, -89.53 49.37, -89.53 43.5, -97.23 43.5, -97.23 49.37))",
46
+ "dcat_bbox": "ENVELOPE(-97.23,-89.53,49.37,43.5)",
47
+ "dcat_centroid": "46.435,-93.38",
48
+ "pcdm_memberOf_sm": [
49
+ "dc8c18df-7d64-4ff4-a754-d18d0891187d"
50
+ ],
51
+ "dct_isPartOf_sm": [
52
+ "05d-03"
53
+ ],
54
+ "dct_rights_sm": [
55
+ "https://conservancy.umn.edu/pages/drum/policies/#terms-of-use"
56
+ ],
57
+ "dct_license_sm": [
58
+ "http://creativecommons.org/publicdomain/zero/1.0/"
34
59
  ],
35
- "locn_geometry": "ENVELOPE(-129.4956,-64.4393,48.6336,21.8079)",
36
- "dcat_bbox": "ENVELOPE(-129.4956,-64.4393,48.6336,21.8079)",
37
- "dcat_centroid": "35.22075,-96.96745",
38
60
  "dct_accessRights_s": "Public",
39
61
  "dct_format_s": "GeoTIFF",
40
- "gbl_wxsIdentifier_s": "test-soil-survey_map",
41
- "dct_references_s": "{\"urn:x-esri:serviceType:ArcGIS#TiledMapLayer\":\"http://services.arcgisonline.com/arcgis/rest/services/Specialty/Soil_Survey_Map/MapServer\"}",
42
- "id": "nyu-test-soil-survey-map",
62
+ "dct_references_s": "{\"http://lccn.loc.gov/sh85035852\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Classification%20scheme%20for%20Level%201%20and%202%20land%20cover%20classes%202013.pdf\",\"http://schema.org/downloadUrl\":[{\"label\":\"Original GeoTIFF\",\"url\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Statewide_FinalMap_2013_2014_v2.zip\"}],\"http://www.opengis.net/cat/csw/csdgm\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Statewide_LandCoverMetadata_MN_2013_v2.xml\",\"http://www.w3.org/1999/xhtml\":\"https://conservancy.umn.edu/bitstream/handle/11299/181555/Statewide_LandCover_Metadata_MN_2013_v2.html\",\"http://schema.org/url\":\"http://doi.org/10.13020/D6JP4S\",\"urn:x-esri:serviceType:ArcGIS#TiledMapLayer\":\"https://tiles.arcgis.com/tiles/8df8p0NlLFEShl0r/arcgis/rest/services/mn_landcover_impervious_2013v2_tiles/MapServer\"}",
63
+ "id": "31567cf1-bad8-4bc5-8d57-44b96c207ecc",
43
64
  "dct_identifier_sm": [
44
- "test-soil-survey-map"
65
+ "http://doi.org/10.13020/D6JP4S",
66
+ "http://hdl.handle.net/11299/181555"
45
67
  ],
46
- "gbl_mdModified_dt": "2021-06-01T22:14:15Z",
47
68
  "gbl_mdVersion_s": "Aardvark"
48
- }
69
+ }
@@ -54,7 +54,7 @@
54
54
  "dct_accessRights_s": "Public",
55
55
  "dct_format_s": "GeoTIFF",
56
56
  "gbl_wxsIdentifier_s": "cite:G7064_S2_1834_K3",
57
- "dct_references_s": "{\"http://schema.org/DownloadAction\":\"http://pelham.lib.harvard.edu:8080/HGL/HGLOpenDelivery\",\"http://www.opengis.net/def/serviceType/ogc/wcs\":\"http://pelham.lib.harvard.edu:8090/geoserver/wcs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"http://pelham.lib.harvard.edu:8090/geoserver/wms\",\"http://www.opengis.net/cat/csw/csdgm\":\"https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml\"}",
57
+ "dct_references_s": "{\"http://www.opengis.net/def/serviceType/ogc/wcs\":\"http://pelham.lib.harvard.edu:8090/geoserver/wcs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"http://pelham.lib.harvard.edu:8090/geoserver/wms\",\"http://www.opengis.net/cat/csw/csdgm\":\"https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml\"}",
58
58
  "id": "harvard-g7064-s2-1834-k3",
59
59
  "dct_identifier_sm": [
60
60
  "urn:hul.harvard.edu:HARVARD.SDE2.G7064_S2_1834_K3"
@@ -37,6 +37,7 @@
37
37
  "dcat_centroid": "42.2063055,-75.775105",
38
38
  "dct_accessRights_s": "Public",
39
39
  "dct_format_s": "Shapefile",
40
+ "gbl_wxsIdentifier_s": "cugir007950",
40
41
  "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\"}",
41
42
  "id": "cugir-007950",
42
43
  "gbl_mdModified_dt": "2021-06-11T18:39:49Z",
@@ -11,7 +11,7 @@ describe GeoblacklightHelper, type: :helper do
11
11
  it "supports in use cases" do
12
12
  {
13
13
  "Paper map" => "paper-map",
14
- "Michigan State" => "michigan-state",
14
+ "Michigan State University" => "michigan-state-university",
15
15
  "CD ROM" => "cd-rom",
16
16
  "Lewis & Clark" => "lewis-clark"
17
17
  }.each_key do |key|
@@ -23,85 +23,9 @@ describe GeoblacklightHelper, type: :helper do
23
23
  html = Capybara.string(geoblacklight_icon(nil))
24
24
  expect(html).to have_css ".icon-missing"
25
25
  end
26
- end
27
-
28
- describe "#proper_case_format" do
29
- it "returns a properly cased format" do
30
- expect(proper_case_format("GEOJSON")).to eq "GeoJSON"
31
- end
32
- end
33
-
34
- describe "#download_text" do
35
- it "returns download text concatenated with proper case format" do
36
- expect(download_text("GEOJSON")).to eq "Original GeoJSON"
37
- end
38
- end
39
-
40
- describe "#download_text" do
41
- it "returns download text concatenated with proper case format" do
42
- expect(download_text("GEOJSON")).to eq "Original GeoJSON"
43
- end
44
- end
45
-
46
- describe "#download_link_file" do
47
- let(:label) { "Test Link Text" }
48
- let(:id) { "test-id" }
49
- let(:url) { "http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip" }
50
-
51
- it "generates a link to download the original file" do
52
- expect(download_link_file(label, id, url)).to eq '<a contentUrl="http://example.com/urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH/data.zip" 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>'
53
- end
54
- end
55
-
56
- describe "#download_link_hgl" do
57
- let(:text) { "Test Link Text" }
58
- let(:document) { instance_double(SolrDocument) }
59
-
60
- before do
61
- allow(document).to receive(:id).and_return("test-id")
62
- allow(document).to receive(:to_s).and_return("test-id")
63
- end
64
-
65
- it "generates a link to the HGL route" do
66
- expect(download_link_hgl(text, document)).to eq '<a data-blacklight-modal="trigger" data-download="trigger" data-download-type="harvard-hgl" data-download-id="test-id" href="/download/hgl/test-id">Test Link Text</a>'
67
- end
68
- end
69
-
70
- describe "#download_link_iiif" do
71
- let(:references_field) { Settings.FIELDS.REFERENCES }
72
- let(:document_attributes) do
73
- {
74
- references_field => {
75
- "http://iiif.io/api/image" => "https://example.edu/image/info.json"
76
- }.to_json
77
- }
78
- end
79
- let(:document) { SolrDocument.new(document_attributes) }
80
-
81
- before do
82
- allow_any_instance_of(Geoblacklight::Reference).to receive(:to_hash).and_return(iiif: "https://example.edu/image/info.json")
83
- end
84
-
85
- it "generates a link to download the JPG file from the IIIF server" do
86
- assign(:document, document)
87
- expect(helper.download_link_iiif).to eq '<a contentUrl="https://example.edu/image/full/full/0/default.jpg" data-download="trigger" href="https://example.edu/image/full/full/0/default.jpg">Original JPG</a>'
88
- end
89
- end
90
-
91
- describe "#download_link_generated" do
92
- let(:download_type) { "SHAPEFILE" }
93
- let(:document) { instance_double(SolrDocument) }
94
-
95
- before do
96
- allow(document).to receive(:id).and_return("test-id")
97
- allow(document).to receive(:to_s).and_return("test-id")
98
- end
99
-
100
- it "generates a link to download the JPG file from the IIIF server" do
101
- # Stub I18n to ensure the link can be customized via `export_` labels.
102
- allow(helper).to receive(:t).and_call_original
103
- allow(helper).to receive(:t).with("geoblacklight.download.export_shapefile_link").and_return("Shapefile Export Customization")
104
- expect(helper.download_link_generated(download_type, document)).to eq '<a data-download-path="/download/test-id?type=SHAPEFILE" data-download="trigger" data-download-type="SHAPEFILE" data-download-id="test-id" href="">Export Shapefile Export Customization</a>'
26
+ it "works with settings icon mapping" do
27
+ html = Capybara.string(geoblacklight_icon("ohio-state"))
28
+ expect(html).to have_css ".blacklight-icons-the-ohio-state-university"
105
29
  end
106
30
  end
107
31
 
@@ -182,30 +106,9 @@ describe GeoblacklightHelper, type: :helper do
182
106
  end
183
107
  end
184
108
 
185
- describe "#render_web_services" do
186
- let(:reference) { instance_double(Geoblacklight::Reference, type: "wms") }
187
- it "with a reference to a defined partial" do
188
- expect(helper).to receive(:render)
189
- .with(partial: "web_services_wms", locals: {reference: reference})
190
- helper.render_web_services(reference)
191
- end
192
- context "when the partial is missing" do
193
- let(:reference) { instance_double(Geoblacklight::Reference, type: "iiif") }
194
-
195
- it "with a reference to a missing partial" do
196
- expect(helper).to receive(:render)
197
- .with(partial: "web_services_iiif", locals: {reference: reference})
198
- .and_raise ActionView::MissingTemplate.new({}, "", "", "", "")
199
- expect(helper).to receive(:render)
200
- .with(partial: "web_services_default", locals: {reference: reference})
201
- helper.render_web_services(reference)
202
- end
203
- end
204
- end
205
-
206
109
  describe "#leaflet_options" do
207
110
  it "returns a hash of options for leaflet" do
208
- expect(leaflet_options[:VIEWERS][:WMS][:CONTROLS]).to eq(%w[Opacity Fullscreen])
111
+ expect(leaflet_options[:LAYERS][:INDEX].keys).to eq([:DEFAULT, :UNAVAILABLE, :SELECTED])
209
112
  end
210
113
  end
211
114
 
@@ -272,32 +175,6 @@ describe GeoblacklightHelper, type: :helper do
272
175
  end
273
176
  end
274
177
 
275
- describe "#show_help_text?" do
276
- let(:feature) { "viewer_protocol" }
277
- let(:translation_key) { "wms" }
278
-
279
- it "confirms help text is available" do
280
- expect(helper.show_help_text?(feature, translation_key)).to be true
281
- end
282
- end
283
-
284
- describe "#render_help_text_entry" do
285
- let(:feature) { "viewer_protocol" }
286
- let(:translation_key) { "wms" }
287
-
288
- context "valid entry" do
289
- it "renders help text entry for the wms viewer protocol" do
290
- expect(helper.render_help_text_entry(feature, translation_key)).to eq '<h3 class="help-text viewer_protocol h6"><a data-toggle="popover" data-title="Web Map Service (WMS)" data-content="A Web Map Service displays a geospatial dataset as map images.">Web Map Service (WMS)</a></h3>'
291
- end
292
- end
293
-
294
- context "invalid entry" do
295
- it "renders an empty span" do
296
- expect(helper.render_help_text_entry("foo", "bar")).to eq '<span class="help-text translation-missing"></span>'
297
- end
298
- end
299
- end
300
-
301
178
  describe "#relations_icon" do
302
179
  context "when configured to use the geometry type" do
303
180
  before do
@@ -336,7 +213,7 @@ describe GeoblacklightHelper, type: :helper do
336
213
  context "viewing bookmarks" do
337
214
  let(:controller_name) { "bookmarks" }
338
215
 
339
- it "returns bookmarks data-map selector" do
216
+ it "returns bookmarks data-page selector" do
340
217
  expect(results_js_map_selector(controller_name)).to eq "bookmarks"
341
218
  end
342
219
  end
@@ -344,7 +221,7 @@ describe GeoblacklightHelper, type: :helper do
344
221
  context "viewing catalog results" do
345
222
  let(:controller_name) { "catalog" }
346
223
 
347
- it "returns index data-map selector" do
224
+ it "returns index data-page selector" do
348
225
  expect(results_js_map_selector(controller_name)).to eq "index"
349
226
  end
350
227
  end
@@ -352,51 +229,9 @@ describe GeoblacklightHelper, type: :helper do
352
229
  context "calling outside of intended scope" do
353
230
  let(:controller_name) { "outside" }
354
231
 
355
- it "returns default data-map value" do
232
+ it "returns default data-page value" do
356
233
  expect(results_js_map_selector(controller_name)).to eq "index"
357
234
  end
358
235
  end
359
236
  end
360
-
361
- describe "#viewer_container" do
362
- let(:document) { SolrDocument.new(document_attributes) }
363
- let(:references_field) { Settings.FIELDS.REFERENCES }
364
- let(:rights_field) { Settings.FIELDS.RIGHTS }
365
-
366
- context "with pmtiles layer" do
367
- let(:document_attributes) do
368
- {
369
- references_field => {
370
- "https://github.com/protomaps/PMTiles" => "https://geodata.lib.princeton.edu/fe/d2/80/fed28076eaa04506b7956f10f61a2f77/display_vector.pmtiles"
371
- }.to_json
372
- }
373
- end
374
-
375
- it "renders an OpenLayers container" do
376
- allow(helper).to receive(:geoblacklight_basemap).and_return("esri")
377
- assign(:document, document)
378
- node = Capybara.string(helper.viewer_container)
379
- div = node.first("div")
380
- expect(div[:id]).to eq "ol-map"
381
- end
382
- end
383
-
384
- context "with iiif manifest layer" do
385
- let(:document_attributes) do
386
- {
387
- references_field => {
388
- "http://iiif.io/api/presentation#manifest" => "https://cdm16022.contentdm.oclc.org/iiif/info/p16022coll229/3210/manifest.json"
389
- }.to_json
390
- }
391
- end
392
-
393
- it "renders a Clover IIIF container" do
394
- allow(helper).to receive(:geoblacklight_basemap).and_return("esri")
395
- assign(:document, document)
396
- node = Capybara.string(helper.viewer_container)
397
- div = node.first("div")
398
- expect(div[:id]).to eq "clover-viewer"
399
- end
400
- end
401
- end
402
237
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ describe Geoblacklight::CsvDownload do
6
+ let(:document) { SolrDocument.new(Settings.FIELDS.ID => "test", :solr_wfs_url => "http://www.example.com/wfs", Settings.FIELDS.WXS_IDENTIFIER => "stanford-test", Settings.FIELDS.GEOMETRY => "ENVELOPE(-180, 180, 90, -90)") }
7
+ let(:download) { described_class.new(document) }
8
+ describe "#initialize" do
9
+ it "initializes as a CsvDownload object with specific options" do
10
+ expect(download).to be_an described_class
11
+ options = download.instance_variable_get(:@options)
12
+ expect(options[:content_type]).to eq "text/csv"
13
+ expect(options[:request_params][:typeName]).to eq "stanford-test"
14
+ end
15
+ it "merges custom options" do
16
+ download = described_class.new(document, timeout: 33)
17
+ options = download.instance_variable_get(:@options)
18
+ expect(options[:timeout]).to eq 33
19
+ end
20
+ end
21
+ end
@@ -34,33 +34,31 @@ describe Geoblacklight::Reference do
34
34
  end
35
35
  end
36
36
 
37
- describe "reference" do
38
- context "key has one trailing slash" do
39
- let(:iso19139_reference) do
40
- described_class.new(["http://www.isotc211.org/schemas/2005/gmd/", "https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml"])
41
- end
37
+ describe "#uri" do
38
+ subject { described_class.new(urls).send(:uri) }
42
39
 
43
- it "removes the trailing slash" do
44
- expect(iso19139_reference.send(:uri)).to eq "http://www.isotc211.org/schemas/2005/gmd"
40
+ context "when key has one trailing slash" do
41
+ let(:urls) do
42
+ ["http://www.isotc211.org/schemas/2005/gmd/", "https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml"]
45
43
  end
44
+
45
+ it { is_expected.to eq "http://www.isotc211.org/schemas/2005/gmd" }
46
46
  end
47
- context "key does not have trailing slashes" do
48
- let(:iso19139_reference) do
49
- described_class.new(["http://www.isotc211.org/schemas/2005/gmd", "https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml"])
50
- end
51
47
 
52
- it "will return the key" do
53
- expect(iso19139_reference.send(:uri)).to eq "http://www.isotc211.org/schemas/2005/gmd"
48
+ context "when key does not have trailing slashes" do
49
+ let(:urls) do
50
+ ["http://www.isotc211.org/schemas/2005/gmd", "https://raw.githubusercontent.com/OpenGeoMetadata/edu.stanford.purl/master/cg/357/zz/0321/iso19139.xml"]
54
51
  end
52
+
53
+ it { is_expected.to eq "http://www.isotc211.org/schemas/2005/gmd" }
55
54
  end
56
- context "key has trailing slashes" do
57
- let(:fgdc_reference) do
58
- described_class.new(["http://www.opengis.net/cat/csw/csdgm////", "https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml"])
59
- end
60
55
 
61
- it "removes the trailing slashes" do
62
- expect(fgdc_reference.send(:uri)).to eq "http://www.opengis.net/cat/csw/csdgm"
56
+ context "when key has multiple trailing slashes" do
57
+ let(:urls) do
58
+ ["http://www.opengis.net/cat/csw/csdgm////", "https://raw.githubusercontent.com/OpenGeoMetadata/edu.harvard/master/217/121/227/77/fgdc.xml"]
63
59
  end
60
+
61
+ it { is_expected.to eq "http://www.opengis.net/cat/csw/csdgm" }
64
62
  end
65
63
  end
66
64
  end
@@ -177,13 +177,13 @@ describe Geoblacklight::References do
177
177
  it "returns available downloads by format" do
178
178
  types = complex_shapefile.download_types
179
179
  expect(types.first[1]).to eq wfs: "http://hgl.harvard.edu:8080/geoserver/wfs"
180
- expect(types.count).to eq 3
180
+ expect(types.count).to eq 4
181
181
  expect(direct_download_only.download_types).to be_nil
182
182
  end
183
183
  it "onlies return available downloads if no direct is present" do
184
184
  types = typical_ogp_shapefile.download_types
185
185
  expect(types.first[1]).to eq wfs: "http://hgl.harvard.edu:8080/geoserver/wfs"
186
- expect(types.count).to eq 3
186
+ expect(types.count).to eq 4
187
187
  end
188
188
  end
189
189
  describe "#esri_webservices" do
@@ -209,22 +209,36 @@ describe Geoblacklight::References do
209
209
  end
210
210
  end
211
211
  describe "downloads_by_format" do
212
- it "returns shapefile" do
213
- expect(typical_ogp_shapefile.downloads_by_format.count).to eq 3
214
- end
215
- it "returns geotiff" do
216
- expect(typical_ogp_geotiff.downloads_by_format.count).to eq 1
217
- expect(typical_ogp_geotiff.downloads_by_format[:geotiff][:wms]).to eq "http://hgl.harvard.edu:8080/geoserver/wms"
218
- end
219
- it "returns arcgrid as geotiff" do
220
- expect(typical_arcgrid.downloads_by_format.count).to eq 1
221
- expect(typical_arcgrid.downloads_by_format[:geotiff][:wms]).to eq "http://hgl.harvard.edu:8080/geoserver/wms"
222
- end
223
- it "does not return shapefile if wms and wfs are not present" do
224
- expect(no_service_shapefile.downloads_by_format).to be_nil
212
+ context "using default settings for vector download formats" do
213
+ it "returns shapefile" do
214
+ expect(typical_ogp_shapefile.downloads_by_format.count).to eq 4
215
+ expect(typical_ogp_shapefile.downloads_by_format[:csv][:wfs]).to eq "http://hgl.harvard.edu:8080/geoserver/wfs"
216
+ expect(typical_ogp_shapefile.downloads_by_format[:geojson][:wfs]).to eq "http://hgl.harvard.edu:8080/geoserver/wfs"
217
+ expect(typical_ogp_shapefile.downloads_by_format[:kmz][:wms]).to eq "http://hgl.harvard.edu:8080/geoserver/wms"
218
+ expect(typical_ogp_shapefile.downloads_by_format[:shapefile][:wfs]).to eq "http://hgl.harvard.edu:8080/geoserver/wfs"
219
+ end
220
+ it "returns geotiff" do
221
+ expect(typical_ogp_geotiff.downloads_by_format.count).to eq 1
222
+ expect(typical_ogp_geotiff.downloads_by_format[:geotiff][:wms]).to eq "http://hgl.harvard.edu:8080/geoserver/wms"
223
+ end
224
+ it "returns arcgrid as geotiff" do
225
+ expect(typical_arcgrid.downloads_by_format.count).to eq 1
226
+ expect(typical_arcgrid.downloads_by_format[:geotiff][:wms]).to eq "http://hgl.harvard.edu:8080/geoserver/wms"
227
+ end
228
+ it "does not return shapefile if wms and wfs are not present" do
229
+ expect(no_service_shapefile.downloads_by_format).to be_nil
230
+ end
231
+ it "does not return GeoTIFF if wms is not present" do
232
+ expect(direct_download_only.downloads_by_format).to be_nil
233
+ end
225
234
  end
226
- it "does not return GeoTIFF if wms is not present" do
227
- expect(direct_download_only.downloads_by_format).to be_nil
235
+ context "using custom settings which include incorrect settings" do
236
+ before do
237
+ allow(typical_ogp_shapefile).to receive(:format_list).and_return(["noformat"])
238
+ end
239
+ it "returns no formats for download" do
240
+ expect(typical_ogp_shapefile.downloads_by_format.count).to eq 0
241
+ end
228
242
  end
229
243
  end
230
244
  end
@@ -29,15 +29,17 @@ describe Geoblacklight::FeatureInfoResponse do
29
29
  describe "#format" do
30
30
  it "returns a formated response" do
31
31
  expect(response.format).not_to be_nil
32
- expect(response.format[:values].length).to eq 2
33
- expect(response.format[:values][0]).to eq %w[Header1 value1]
34
- expect(response.format[:values][1]).to eq %w[Header2 value2]
32
+ expect(response.format[:features][0][:properties].keys.length).to eq 2
33
+ expect(response.format[:features][0][:isHTML]).to be true
34
+ expect(response.format[:features][0][:properties]["Header1"]).to eq "value1"
35
+ expect(response.format[:features][0][:properties]["Header2"]).to eq "value2"
35
36
  end
36
37
  it "returns a formated response when multiple features are retrieved" do
37
38
  expect(response_multiple_features.format).not_to be_nil
38
- expect(response_multiple_features.format[:values].length).to eq 2
39
- expect(response_multiple_features.format[:values][0]).to eq %w[Header1 value1]
40
- expect(response_multiple_features.format[:values][1]).to eq %w[Header2 value2]
39
+ expect(response.format[:features][0][:properties].keys.length).to eq 2
40
+ expect(response.format[:features][0][:isHTML]).to be true
41
+ expect(response.format[:features][0][:properties]["Header1"]).to eq "value1"
42
+ expect(response.format[:features][0][:properties]["Header2"]).to eq "value2"
41
43
  end
42
44
  end
43
45
 
@@ -57,6 +57,20 @@ describe Geoblacklight::WmsLayer do
57
57
  end
58
58
  end
59
59
 
60
+ describe "#feature_info" do
61
+ let(:response) { instance_double(Geoblacklight::FeatureInfoResponse) }
62
+ let(:params) { rails_4_params }
63
+
64
+ before do
65
+ allow(Geoblacklight::FeatureInfoResponse).to receive(:new).and_return(response)
66
+ allow(response).to receive(:check)
67
+ end
68
+
69
+ it "returns the response from the FeatureInfoResponse object" do
70
+ expect(wms_layer.feature_info).to eq(response.check)
71
+ end
72
+ end
73
+
60
74
  describe "#request_response" do
61
75
  subject(:wms_layer) { described_class.new(params) }
62
76
  let(:params) { rails_4_params }
@@ -9,7 +9,7 @@ describe Geoblacklight::SolrDocument::Citation do
9
9
 
10
10
  it "creates a citation" do
11
11
  expect(document.geoblacklight_citation("http://example.com"))
12
- .to eq "United States. National Oceanic and Atmospheric Administration. Circuit Rider Productions. (2002). 10 Meter Contours: Russian River Basin, California. [Shapefile]. Circuit Rider Productions. Retrieved from http://example.com"
12
+ .to eq "United States. National Oceanic and Atmospheric Administration. Circuit Rider Productions. (2002). 10 Meter Contours: Russian River Basin, California. [Shapefile]. Circuit Rider Productions. http://purl.stanford.edu/cg357zz0321"
13
13
  end
14
14
  end
15
15
  end
@@ -132,26 +132,6 @@ describe Geoblacklight::SolrDocument do
132
132
  expect(document.direct_download).to be_nil
133
133
  end
134
134
  end
135
- describe "hgl_download" do
136
- describe "with an hgl download" do
137
- let(:document_attributes) do
138
- {
139
- references_field => {
140
- "http://schema.org/DownloadAction" => "http://example.com/harvard"
141
- }.to_json
142
- }
143
- end
144
- it "returns an hgl download hash" do
145
- expect(document.hgl_download[:hgl]).to eq("http://example.com/harvard")
146
- end
147
- end
148
- describe "without an hgl download" do
149
- let(:document_attributes) { {} }
150
- it "returns nil" do
151
- expect(document.direct_download).to be_nil
152
- end
153
- end
154
- end
155
135
  describe "#oembed" do
156
136
  describe "with an oembed url" do
157
137
  let(:document_attributes) do
@@ -233,7 +213,7 @@ describe Geoblacklight::SolrDocument do
233
213
  end
234
214
  let(:document_attributes) { {} }
235
215
  it "returns leaflet protocol" do
236
- expect(document.viewer_protocol).to eq "map"
216
+ expect(document.viewer_protocol).to be nil
237
217
  end
238
218
  end
239
219
  describe "viewer_endpoint" do
data/spec/spec_helper.rb CHANGED
@@ -30,26 +30,12 @@ require "rails-controller-testing" if Rails::VERSION::MAJOR >= 5
30
30
  require "rspec/rails"
31
31
  require "capybara/rspec"
32
32
  require "selenium-webdriver"
33
- require "webdrivers"
34
33
 
35
34
  # Setup webmock for specific tests
36
35
  require "webmock/rspec"
37
36
  WebMock.allow_net_connect!(net_http_connect_on_start: true)
38
37
 
39
- Capybara.register_driver(:selenium) do |app|
40
- browser_options = ::Selenium::WebDriver::Chrome::Options.new(args: %w[headless disable-gpu disable-setuid-sandbox window-size=7680,4320])
41
-
42
- http_client = Selenium::WebDriver::Remote::Http::Default.new
43
- http_client.read_timeout = 120
44
- http_client.open_timeout = 120
45
- Capybara::Selenium::Driver.new(app,
46
- browser: :chrome,
47
- options: browser_options,
48
- http_client: http_client)
49
- end
50
-
51
- Capybara.javascript_driver = :selenium
52
- Capybara.default_max_wait_time = 120
38
+ Capybara.javascript_driver = :selenium_chrome_headless
53
39
 
54
40
  require "geoblacklight"
55
41
 
@@ -59,20 +45,8 @@ FactoryBot.definition_file_paths = [File.expand_path("../factories", __FILE__)]
59
45
  FactoryBot.find_definitions
60
46
 
61
47
  RSpec.configure do |config|
62
- config.use_transactional_fixtures = false
48
+ config.use_transactional_fixtures = true
63
49
 
64
- config.before do
65
- DatabaseCleaner.strategy = if Capybara.current_driver == :rack_test
66
- :transaction
67
- else
68
- :truncation
69
- end
70
- DatabaseCleaner.start
71
- end
72
-
73
- config.after do
74
- DatabaseCleaner.clean
75
- end
76
50
  if Rails::VERSION::MAJOR >= 5
77
51
  config.include ::Rails.application.routes.url_helpers
78
52
  config.include ::Rails.application.routes.mounted_helpers