geoblacklight 2.4.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +142 -0
  3. data/.gitignore +8 -0
  4. data/.rubocop.yml +24 -23
  5. data/.rubocop_todo.yml +398 -12
  6. data/README.md +3 -3
  7. data/Rakefile +13 -4
  8. data/app/assets/images/favicon.ico +0 -0
  9. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
  10. data/app/assets/javascripts/geoblacklight/geoblacklight.js +18 -1
  11. data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +43 -0
  12. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +6 -1
  13. data/app/assets/javascripts/geoblacklight/modules/results.js +7 -8
  14. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
  15. data/app/assets/javascripts/geoblacklight/modules/util.js +5 -0
  16. data/app/assets/javascripts/geoblacklight/viewers/esri.js +3 -3
  17. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
  18. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +1 -1
  19. data/app/assets/javascripts/geoblacklight/viewers/map.js +12 -2
  20. data/app/assets/javascripts/geoblacklight/viewers/tms.js +10 -0
  21. data/app/assets/javascripts/geoblacklight/viewers/wms.js +3 -3
  22. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
  23. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
  24. data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +1 -1
  25. data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
  26. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
  27. data/app/assets/stylesheets/geoblacklight/modules/item.scss +1 -0
  28. data/app/assets/stylesheets/geoblacklight/modules/results.scss +17 -29
  29. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
  30. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
  31. data/app/controllers/download_controller.rb +12 -12
  32. data/app/controllers/relation_controller.rb +1 -0
  33. data/app/controllers/wms_controller.rb +1 -0
  34. data/app/helpers/arcgis_helper.rb +1 -0
  35. data/app/helpers/blacklight_helper.rb +1 -0
  36. data/app/helpers/carto_helper.rb +1 -0
  37. data/app/helpers/geoblacklight_helper.rb +37 -72
  38. data/app/models/concerns/geoblacklight/solr_document.rb +15 -19
  39. data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
  40. data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
  41. data/app/models/concerns/geoblacklight/solr_document/citation.rb +1 -0
  42. data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
  43. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
  44. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +6 -4
  45. data/app/presenters/geoblacklight/document_presenter.rb +2 -1
  46. data/app/views/catalog/_arcgis.html.erb +4 -0
  47. data/app/views/catalog/_carto.html.erb +4 -0
  48. data/app/views/catalog/_document_split.html.erb +1 -1
  49. data/app/views/catalog/_downloads_primary.html.erb +8 -1
  50. data/app/views/catalog/_header_icons.html.erb +3 -3
  51. data/app/views/catalog/_home_text.html.erb +3 -0
  52. data/app/views/catalog/_index_split_default.html.erb +21 -21
  53. data/app/views/catalog/_show_default_viewer_container.html.erb +1 -1
  54. data/app/views/download/hgl.html.erb +13 -11
  55. data/app/views/relation/_ancestors.html.erb +3 -6
  56. data/app/views/relation/_descendants.html.erb +4 -7
  57. data/app/views/relation/index.html.erb +20 -8
  58. data/app/views/relation/index.json.jbuilder +2 -1
  59. data/app/views/shared/_header_navbar.html.erb +0 -2
  60. data/babel.config.json +4 -0
  61. data/bin/coverage.rb +36 -0
  62. data/config/initializers/new_gbl_settings_defaults_3_3.yml +10 -0
  63. data/config/initializers/rails_config.rb +5 -0
  64. data/config/locales/geoblacklight.en.yml +7 -2
  65. data/geoblacklight.gemspec +7 -9
  66. data/jest.config.js +25 -0
  67. data/lib/generators/geoblacklight/assets_generator.rb +46 -0
  68. data/lib/generators/geoblacklight/install_generator.rb +4 -10
  69. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
  70. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
  71. data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
  72. data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
  73. data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -0
  74. data/lib/generators/geoblacklight/templates/catalog_controller.rb +5 -3
  75. data/lib/generators/geoblacklight/templates/settings.yml +20 -17
  76. data/lib/generators/geoblacklight/webpacker_generator.rb +1 -0
  77. data/lib/geoblacklight.rb +2 -2
  78. data/lib/geoblacklight/bounding_box.rb +2 -1
  79. data/lib/geoblacklight/catalog_helper_override.rb +1 -0
  80. data/lib/geoblacklight/constants.rb +2 -0
  81. data/lib/geoblacklight/download.rb +2 -1
  82. data/lib/geoblacklight/download/geojson_download.rb +1 -0
  83. data/lib/geoblacklight/download/geotiff_download.rb +1 -0
  84. data/lib/geoblacklight/download/hgl_download.rb +1 -0
  85. data/lib/geoblacklight/download/kmz_download.rb +3 -2
  86. data/lib/geoblacklight/download/shapefile_download.rb +1 -0
  87. data/lib/geoblacklight/engine.rb +2 -2
  88. data/lib/geoblacklight/exceptions.rb +1 -0
  89. data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
  90. data/lib/geoblacklight/geometry.rb +70 -0
  91. data/lib/geoblacklight/item_viewer.rb +6 -1
  92. data/lib/geoblacklight/metadata.rb +1 -0
  93. data/lib/geoblacklight/metadata/base.rb +2 -7
  94. data/lib/geoblacklight/metadata/fgdc.rb +1 -0
  95. data/lib/geoblacklight/metadata/html.rb +2 -2
  96. data/lib/geoblacklight/metadata/iso19139.rb +1 -0
  97. data/lib/geoblacklight/metadata_transformer.rb +1 -0
  98. data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
  99. data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
  100. data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
  101. data/lib/geoblacklight/reference.rb +1 -0
  102. data/lib/geoblacklight/references.rb +7 -3
  103. data/lib/geoblacklight/relation/ancestors.rb +3 -2
  104. data/lib/geoblacklight/relation/descendants.rb +2 -1
  105. data/lib/geoblacklight/relation/relation_response.rb +2 -1
  106. data/lib/geoblacklight/routes.rb +1 -0
  107. data/lib/geoblacklight/routes/downloadable.rb +1 -0
  108. data/lib/geoblacklight/routes/exportable.rb +1 -0
  109. data/lib/geoblacklight/routes/wms.rb +1 -0
  110. data/lib/geoblacklight/version.rb +2 -1
  111. data/lib/geoblacklight/view_helper_override.rb +1 -0
  112. data/lib/geoblacklight/wms_layer.rb +2 -4
  113. data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
  114. data/lib/tasks/geoblacklight.rake +38 -32
  115. data/package.json +17 -1
  116. data/setupJest.js +14 -0
  117. data/solr/conf/schema.xml +1 -3
  118. data/spec/config/initializers/rails_config_spec.rb +14 -0
  119. data/spec/controllers/catalog_controller_spec.rb +7 -6
  120. data/spec/controllers/download_controller_spec.rb +1 -0
  121. data/spec/controllers/relation_controller_spec.rb +1 -0
  122. data/spec/controllers/wms_controller_spec.rb +1 -0
  123. data/spec/factories/user.rb +1 -0
  124. data/spec/features/bookmarks_spec.rb +1 -0
  125. data/spec/features/configurable_basemap_spec.rb +1 -0
  126. data/spec/features/data_dictionary_download_spec.rb +1 -0
  127. data/spec/features/download_layer_spec.rb +2 -1
  128. data/spec/features/empty_search_spec.rb +1 -0
  129. data/spec/features/esri_viewer_spec.rb +1 -5
  130. data/spec/features/exports_spec.rb +4 -12
  131. data/spec/features/help_text_spec.rb +1 -0
  132. data/spec/features/home_page_spec.rb +6 -0
  133. data/spec/features/iiif_viewer_spec.rb +1 -0
  134. data/spec/features/index_map_spec.rb +1 -0
  135. data/spec/features/layer_inspection_spec.rb +1 -0
  136. data/spec/features/layer_opacity_spec.rb +1 -0
  137. data/spec/features/layer_preview_spec.rb +1 -0
  138. data/spec/features/layer_with_no_references_spec.rb +1 -0
  139. data/spec/features/linkified_attribute_table_spec.rb +1 -0
  140. data/spec/features/metadata_panel_spec.rb +1 -0
  141. data/spec/features/missing_metadata_spec.rb +1 -0
  142. data/spec/features/multiple_downloads_spec.rb +15 -0
  143. data/spec/features/oembed_spec.rb +1 -0
  144. data/spec/features/relations_spec.rb +10 -29
  145. data/spec/features/saved_searches_spec.rb +1 -0
  146. data/spec/features/search_bar_spec.rb +1 -0
  147. data/spec/features/search_results_map_spec.rb +1 -6
  148. data/spec/features/search_results_overlap_ratio_spec.rb +6 -5
  149. data/spec/features/search_spec.rb +1 -0
  150. data/spec/features/show_page_metadata_spec.rb +1 -0
  151. data/spec/features/sms_spec.rb +1 -0
  152. data/spec/features/split_view.html.erb_spec.rb +3 -2
  153. data/spec/features/suppressed_records_spec.rb +1 -0
  154. data/spec/features/tms_spec.rb +10 -0
  155. data/spec/features/web_services_modal_spec.rb +1 -0
  156. data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
  157. data/spec/fixtures/solr_documents/public_iiif_princeton.json +1 -1
  158. data/spec/fixtures/solr_documents/tms.json +29 -0
  159. data/spec/helpers/arcgis_helper_spec.rb +1 -0
  160. data/spec/helpers/carto_helper_spec.rb +1 -0
  161. data/spec/helpers/geoblacklight_helper_spec.rb +73 -14
  162. data/spec/javascripts/geoblacklight_spec.js +0 -6
  163. data/spec/javascripts/metadata_download_button_spec.js +5 -3
  164. data/spec/javascripts/util_spec.js +2 -4
  165. data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
  166. data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
  167. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
  168. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
  169. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
  170. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +3 -2
  171. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
  172. data/spec/lib/geoblacklight/download_spec.rb +3 -2
  173. data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
  174. data/spec/lib/geoblacklight/geometry_spec.rb +48 -0
  175. data/spec/lib/geoblacklight/item_viewer_spec.rb +13 -0
  176. data/spec/lib/geoblacklight/metadata/base_spec.rb +1 -0
  177. data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
  178. data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
  179. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
  180. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
  181. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
  182. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
  183. data/spec/lib/geoblacklight/reference_spec.rb +1 -0
  184. data/spec/lib/geoblacklight/references_spec.rb +3 -4
  185. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +2 -1
  186. data/spec/lib/geoblacklight/relation/descendants_spec.rb +2 -1
  187. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
  188. data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
  189. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
  190. data/spec/lib/geoblacklight/wms_layer_spec.rb +1 -0
  191. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
  192. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -0
  193. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
  194. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
  195. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -0
  196. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
  197. data/spec/routing/catalog_routing_spec.rb +1 -0
  198. data/spec/spec_helper.rb +12 -9
  199. data/spec/support/backport_test_helpers.rb +1 -0
  200. data/spec/support/features.rb +1 -0
  201. data/spec/support/features/session_helpers.rb +1 -0
  202. data/spec/support/fixtures.rb +1 -0
  203. data/spec/tasks/geoblacklight_spec.rb +4 -3
  204. data/spec/test_app_templates/Gemfile.extra +1 -0
  205. data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -8
  206. data/spec/views/catalog/_document_split.html.erb_spec.rb +2 -1
  207. data/spec/views/catalog/_index_split.html.erb_spec.rb +2 -1
  208. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
  209. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
  210. data/spec/views/catalog/_show_tools.html.erb_spec.rb +3 -5
  211. data/template.rb +4 -2
  212. metadata +74 -78
  213. data/.circleci/config.yml +0 -164
  214. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
  215. data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
  216. data/app/views/catalog/_exports.html.erb +0 -3
  217. data/app/views/catalog/_show_tools.html.erb +0 -25
  218. data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
  219. data/spec/javascripts/spec_helper.js +0 -32
  220. data/spec/lib/geoblacklight/controller_override_spec.rb +0 -1
  221. data/spec/teaspoon_env.rb +0 -213
  222. data/vendor/assets/javascripts/readmore.js +0 -0
  223. data/vendor/assets/javascripts/readmore.min.js +0 -0
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::ItemViewer do
@@ -25,6 +26,18 @@ describe Geoblacklight::ItemViewer do
25
26
  expect(item_viewer.viewer_preference).to eq wms: 'http://www.example.com/wms'
26
27
  end
27
28
  end
29
+ describe 'for tms reference' do
30
+ let(:document_attributes) do
31
+ {
32
+ references_field => {
33
+ 'https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification' => 'http://www.example.com/tms'
34
+ }.to_json
35
+ }
36
+ end
37
+ it 'tms if tms is present' do
38
+ expect(item_viewer.viewer_preference).to eq tms: 'http://www.example.com/tms'
39
+ end
40
+ end
28
41
  describe 'for iiif only reference' do
29
42
  let(:document_attributes) do
30
43
  {
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Metadata::Base do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Metadata::Html do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Metadata do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::MetadataTransformer::Base do
@@ -8,8 +9,8 @@ describe Geoblacklight::MetadataTransformer::Base do
8
9
  end
9
10
 
10
11
  context 'with metadata types without XSL Stylesheets' do
11
- let(:metadata) { instance_double(GeoCombine::Metadata) }
12
12
  subject { described_class.new(metadata) }
13
+ let(:metadata) { instance_double(GeoCombine::Metadata) }
13
14
  describe '#transform' do
14
15
  before do
15
16
  allow(metadata).to receive(:to_html).and_raise(NoMethodError, 'undefined method `to_html\'')
@@ -21,8 +22,8 @@ describe Geoblacklight::MetadataTransformer::Base do
21
22
  end
22
23
 
23
24
  context 'with metadata types with XSL Stylesheets but invalid HTML' do
24
- let(:metadata) { instance_double(GeoCombine::Metadata) }
25
25
  subject { described_class.new(metadata) }
26
+ let(:metadata) { instance_double(GeoCombine::Metadata) }
26
27
  describe '#transform' do
27
28
  before do
28
29
  allow(metadata).to receive(:to_html).and_return('<invalid-html></invalid-html>')
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::MetadataTransformer::Fgdc do
4
- let(:fgdc_html) { File.read(File.join(Rails.root, 'spec', 'fixtures', 'metadata', 'fgdc.html')) }
5
- let(:metadata) { instance_double('Geoblacklight::Metadata::Fgdc') }
6
5
  subject do
7
6
  described_class.new(metadata)
8
7
  end
8
+ let(:fgdc_html) { File.read(Rails.root.join('spec', 'fixtures', 'metadata', 'fgdc.html')) }
9
+ let(:metadata) { instance_double('Geoblacklight::Metadata::Fgdc') }
9
10
 
10
11
  describe '#transform' do
11
12
  before do
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::MetadataTransformer::Iso19139 do
4
- let(:iso_html) { File.read(File.join(Rails.root, 'spec', 'fixtures', 'metadata', 'iso.html')) }
5
- let(:metadata) { instance_double('Geoblacklight::Metadata::Iso19139') }
6
5
  subject do
7
6
  described_class.new(metadata)
8
7
  end
8
+ let(:iso_html) { File.read(Rails.root.join('spec', 'fixtures', 'metadata', 'iso.html')) }
9
+ let(:metadata) { instance_double('Geoblacklight::Metadata::Iso19139') }
9
10
 
10
11
  describe '#transform' do
11
12
  before do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::MetadataTransformer do
@@ -9,10 +10,10 @@ describe Geoblacklight::MetadataTransformer do
9
10
 
10
11
  describe '.instance' do
11
12
  context 'with FGDC metadata' do
12
- let(:metadata) { instance_double(Geoblacklight::Metadata::Fgdc) }
13
13
  subject do
14
14
  described_class.instance(metadata)
15
15
  end
16
+ let(:metadata) { instance_double(Geoblacklight::Metadata::Fgdc) }
16
17
 
17
18
  before do
18
19
  allow(klass).to receive(:name).and_return('Geoblacklight::Metadata::Fgdc')
@@ -24,10 +25,10 @@ describe Geoblacklight::MetadataTransformer do
24
25
  end
25
26
 
26
27
  context 'with ISO19139 metadata' do
27
- let(:metadata) { instance_double(Geoblacklight::Metadata::Iso19139) }
28
28
  subject do
29
29
  described_class.instance(metadata)
30
30
  end
31
+ let(:metadata) { instance_double(Geoblacklight::Metadata::Iso19139) }
31
32
 
32
33
  before do
33
34
  allow(klass).to receive(:name).and_return('Geoblacklight::Metadata::Iso19139')
@@ -39,10 +40,10 @@ describe Geoblacklight::MetadataTransformer do
39
40
  end
40
41
 
41
42
  context 'without a metadata type' do
42
- let(:metadata) { instance_double(Geoblacklight::Metadata::Base) }
43
43
  subject do
44
44
  described_class.instance(metadata)
45
45
  end
46
+ let(:metadata) { instance_double(Geoblacklight::Metadata::Base) }
46
47
 
47
48
  before do
48
49
  allow(klass).to receive(:name).and_return('Geoblacklight::Metadata::Base')
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Reference do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::References do
@@ -75,7 +76,7 @@ describe Geoblacklight::References do
75
76
  file_format_field => 'Raster',
76
77
  references_field => {
77
78
  'http://schema.org/url' => 'http://arks.princeton.edu/ark:/88435/02870w62c',
78
- 'http://iiif.io/api/image' => 'http://libimages.princeton.edu/loris2/pudl0076%2Fmap_pownall%2F00000001.jp2/info.json'
79
+ 'http://iiif.io/api/image' => 'https://iiif-cloud.princeton.edu/iiif/2/6c%2F52%2F12%2F6c5212e81bc845f59bb1cdc740a88bad%2Fintermediate_file/info.json'
79
80
  }.to_json
80
81
  )
81
82
  )
@@ -133,7 +134,7 @@ describe Geoblacklight::References do
133
134
  context 'with an overridden order for the formats' do
134
135
  let(:settings_klass) { class_double('Settings').as_stubbed_const }
135
136
  before do
136
- allow(settings_klass).to receive(:METADATA_SHOWN).and_return %w(iso19139 mods)
137
+ allow(settings_klass).to receive(:METADATA_SHOWN).and_return %w[iso19139 mods]
137
138
  allow(settings_klass).to receive(:FIELDS).and_return OpenStruct.new(FILE_FORMAT: 'dc_format_s')
138
139
  end
139
140
  it 'is ordered by the configuration' do
@@ -166,8 +167,6 @@ describe Geoblacklight::References do
166
167
  end
167
168
  it 'returns nil if there is no direct download' do
168
169
  expect(typical_ogp_shapefile.preferred_download).to be_nil
169
- end
170
- it 'returns nil if there is no direct download' do
171
170
  expect(typical_ogp_geotiff.preferred_download).to be_nil
172
171
  end
173
172
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Relation::Ancestors do
@@ -7,7 +8,7 @@ describe Geoblacklight::Relation::Ancestors do
7
8
 
8
9
  describe '#create_search_params' do
9
10
  it 'assembles the correct search params for finding ancestor documents' do
10
- expect(ancestors.create_search_params).to eq(fq: ["{!join from=#{Settings.FIELDS.SOURCE} to=layer_slug_s}layer_slug_s:nyu_2451_34502"], fl: [Settings.FIELDS.TITLE.to_s, 'layer_slug_s', 'layer_geom_type_s'])
11
+ expect(ancestors.create_search_params).to eq(fq: ["{!join from=#{Settings.FIELDS.SOURCE} to=#{Settings.FIELDS.UNIQUE_KEY}}#{Settings.FIELDS.UNIQUE_KEY}:nyu_2451_34502"], fl: [Settings.FIELDS.TITLE.to_s, Settings.FIELDS.UNIQUE_KEY, Settings.FIELDS.GEOM_TYPE])
11
12
  end
12
13
  end
13
14
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Relation::Descendants do
@@ -7,7 +8,7 @@ describe Geoblacklight::Relation::Descendants do
7
8
 
8
9
  describe '#create_search_params' do
9
10
  it 'assembles the correct search params for finding descendant documents' do
10
- expect(descendants.create_search_params).to eq(fq: "#{Settings.FIELDS.SOURCE}:nyu_2451_34636", fl: [Settings.FIELDS.TITLE.to_s, 'layer_slug_s', 'layer_geom_type_s'])
11
+ expect(descendants.create_search_params).to eq(fq: "#{Settings.FIELDS.SOURCE}:nyu_2451_34636", fl: [Settings.FIELDS.TITLE.to_s, Settings.FIELDS.UNIQUE_KEY, Settings.FIELDS.GEOM_TYPE])
11
12
  end
12
13
  end
13
14
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::Relation::RelationResponse do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::ViewHelperOverride do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::FeatureInfoResponse do
@@ -28,14 +29,14 @@ describe Geoblacklight::FeatureInfoResponse do
28
29
  it 'returns a formated response' do
29
30
  expect(response.format).not_to be_nil
30
31
  expect(response.format[:values].length).to eq 2
31
- expect(response.format[:values][0]).to eq %w(Header1 value1)
32
- expect(response.format[:values][1]).to eq %w(Header2 value2)
32
+ expect(response.format[:values][0]).to eq %w[Header1 value1]
33
+ expect(response.format[:values][1]).to eq %w[Header2 value2]
33
34
  end
34
35
  it 'returns a formated response when multiple features are retrieved' do
35
36
  expect(response_multiple_features.format).not_to be_nil
36
37
  expect(response_multiple_features.format[:values].length).to eq 2
37
- expect(response_multiple_features.format[:values][0]).to eq %w(Header1 value1)
38
- expect(response_multiple_features.format[:values][1]).to eq %w(Header2 value2)
38
+ expect(response_multiple_features.format[:values][0]).to eq %w[Header1 value1]
39
+ expect(response_multiple_features.format[:values][1]).to eq %w[Header2 value2]
39
40
  end
40
41
  end
41
42
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::WmsLayer do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::SolrDocument::Carto do
@@ -38,24 +39,4 @@ describe Geoblacklight::SolrDocument::Carto do
38
39
  expect(document.carto_reference).to eq 'http://www.example.com/geojsonDownload'
39
40
  end
40
41
  end
41
-
42
- describe '#cartodb_reference' do
43
- before do
44
- allow(Deprecation).to receive(:warn).with(
45
- described_class,
46
- 'cartodb_reference is deprecated and will be removed from Geoblacklight 2.0.0 (use Geoblacklight::SolrDocument::Carto#carto_reference instead)',
47
- kind_of(Array)
48
- )
49
- allow(document).to receive(:public?).and_return(true)
50
- allow(document).to receive(:download_types).and_return(geojson: { 'stuff' => 'stuff' })
51
- allow(geojson_download)
52
- .to receive(:url_with_params)
53
- .and_return('http://www.example.com/geojsonDownload')
54
- end
55
-
56
- it 'aliases to #carto_reference' do
57
- expect(Deprecation).to receive(:warn)
58
- expect(document.cartodb_reference).to eq(document.carto_reference)
59
- end
60
- end
61
42
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::SolrDocument::Citation do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::SolrDocument::Finder do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::SolrDocument::Inspection do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::SolrDocument do
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Geoblacklight::SpatialSearchBehavior do
4
5
  subject { search_builder.with(user_params) }
5
6
 
6
- let(:user_params) { Hash.new }
7
- let(:solr_params) { Hash.new }
7
+ let(:user_params) { {} }
8
+ let(:solr_params) { {} }
8
9
  let(:blacklight_config) { CatalogController.blacklight_config.deep_copy }
9
10
  let(:context) { CatalogController.new }
10
11
  let(:search_builder_class) do
@@ -53,6 +54,18 @@ describe Geoblacklight::SpatialSearchBehavior do
53
54
  expect(subject.add_spatial_params(solr_params)).not_to have_key(:overlap)
54
55
  end
55
56
 
57
+ context 'when local boost parameter is present' do
58
+ before do
59
+ solr_params[:bf] = ['local_boost^5']
60
+ end
61
+
62
+ it 'appends overlap and includes the local boost' do
63
+ allow(Settings).to receive(:OVERLAP_RATIO_BOOST).and_return 2
64
+ expect(subject.add_spatial_params(solr_params)[:bf].to_s).to include('$overlap^2')
65
+ expect(solr_params[:bf].to_s).to include('local_boost^5')
66
+ end
67
+ end
68
+
56
69
  context 'when the wrong format for the bounding box is used' do
57
70
  before do
58
71
  allow(subject).to receive(:bounding_box).and_raise(Geoblacklight::Exceptions::WrongBoundingBoxFormat)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Catalog Routes', type: :routing do
data/spec/spec_helper.rb CHANGED
@@ -1,17 +1,19 @@
1
+ # frozen_string_literal: true
1
2
  ENV['RAILS_ENV'] ||= 'test'
2
3
 
3
4
  require 'simplecov'
4
- require 'coveralls'
5
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
6
- [
7
- SimpleCov::Formatter::HTMLFormatter,
8
- Coveralls::SimpleCov::Formatter
9
- ]
10
- )
5
+ SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
6
+
7
+ if ENV['CIRCLE_ARTIFACTS']
8
+ dir = File.join(ENV['CIRCLE_ARTIFACTS'], 'coverage')
9
+ SimpleCov.coverage_dir(dir)
10
+ end
11
+
11
12
  SimpleCov.start 'rails' do
12
13
  add_filter 'lib/generators/geoblacklight/install_generator.rb'
13
14
  add_filter 'lib/geoblacklight/version.rb'
14
- add_filter 'lib/generators/geoblacklight/templates'
15
+ add_filter 'lib/generators'
16
+ add_filter 'lib/tasks/geoblacklight.rake'
15
17
  add_filter '/spec'
16
18
  add_filter '.internal_test_app/'
17
19
  end
@@ -26,6 +28,7 @@ require 'rails-controller-testing' if Rails::VERSION::MAJOR >= 5
26
28
  require 'rspec/rails'
27
29
  require 'capybara/rspec'
28
30
  require 'selenium-webdriver'
31
+ require 'webdrivers'
29
32
 
30
33
  Capybara.register_driver(:headless_chrome) do |app|
31
34
  Capybara::Selenium::Driver.load_selenium
@@ -56,7 +59,7 @@ FactoryBot.find_definitions
56
59
  RSpec.configure do |config|
57
60
  config.use_transactional_fixtures = false
58
61
 
59
- config.before :each do
62
+ config.before do
60
63
  DatabaseCleaner.strategy = if Capybara.current_driver == :rack_test
61
64
  :transaction
62
65
  else
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Backport the Rails 5 controller test methods to Rails 4
2
3
  module BackportTestHelpers
3
4
  def delete(*args)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path('../features/session_helpers.rb', __FILE__)
2
3
 
3
4
  RSpec.configure do |config|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Features
2
3
  module SessionHelpers
3
4
  def sign_up_with(email, password)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  def read_fixture(fname)
2
3
  File.read(File.join(fixture_dir, fname))
3
4
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
  require 'rake'
3
4
  require 'fileutils'
@@ -6,13 +7,13 @@ describe 'geoblacklight.rake' do
6
7
  describe 'geoblacklight:downloads:mkdir' do
7
8
  before do
8
9
  Rails.application.load_tasks
9
- FileUtils.rm_rf Rails.root.join('tmp/cache/downloads')
10
+ FileUtils.rm_rf Rails.root.join('tmp', 'cache', 'downloads')
10
11
  end
11
12
 
12
13
  it 'creates the tmp/cache/downloads directory' do
13
14
  Rake::Task['geoblacklight:downloads:mkdir'].invoke
14
- expect(File.directory? Rails.root.join('tmp/cache/downloads')).
15
- to be true
15
+ expect(File.directory?(Rails.root.join('tmp', 'cache', 'downloads')))
16
+ .to be true
16
17
  end
17
18
  end
18
19
  end
@@ -1 +1,2 @@
1
1
  gem 'sprockets', '< 4'
2
+ gem 'view_component', '!= 2.26.0'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'rails/generators'
2
3
 
3
4
  class TestAppGenerator < Rails::Generators::Base
@@ -13,9 +14,7 @@ class TestAppGenerator < Rails::Generators::Base
13
14
 
14
15
  def add_gems
15
16
  gem 'blacklight'
16
- gem 'teaspoon'
17
- gem 'teaspoon-jasmine'
18
- gem 'webpacker'
17
+ gem 'webpacker' unless Rails.version.to_s.start_with? '6.1.'
19
18
  Bundler.with_clean_env do
20
19
  run 'bundle install'
21
20
  end
@@ -41,9 +40,4 @@ class TestAppGenerator < Rails::Generators::Base
41
40
  FileUtils.mkdir_p 'spec/fixtures/metadata'
42
41
  directory 'metadata', 'spec/fixtures/metadata'
43
42
  end
44
-
45
- def install_teaspoon
46
- # Implicit copy of GeoBlacklight checked-in teaspoon_env.rb
47
- copy_file '../teaspoon_env.rb', 'spec/teaspoon_env.rb'
48
- end
49
43
  end