geoblacklight 0.0.4 → 0.0.5
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.
- checksums.yaml +4 -4
- data/app/controllers/download_controller.rb +18 -1
- data/app/helpers/geoblacklight_helper.rb +11 -3
- data/app/views/catalog/_show_default.html.erb +1 -1
- data/app/views/catalog/_show_sidebar.html.erb +3 -1
- data/config/locales/geoblacklight.en.yml +3 -1
- data/geoblacklight.gemspec +3 -1
- data/lib/generators/geoblacklight/install_generator.rb +1 -3
- data/lib/geoblacklight/download.rb +1 -1
- data/lib/geoblacklight/solr_document.rb +6 -2
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/tasks/geoblacklight.rake +1 -1
- data/spec/controllers/download_controller_spec.rb +34 -0
- data/spec/factories/user.rb +7 -0
- data/spec/features/download_layer_spec.rb +14 -3
- data/spec/features/layer_inspection_spec.rb +2 -0
- data/spec/lib/geoblacklight/download_spec.rb +1 -1
- data/spec/lib/geoblacklight/solr_document.rb +7 -3
- data/spec/spec_helper.rb +24 -2
- data/spec/support/features/session_helpers.rb +20 -0
- data/spec/support/features.rb +5 -0
- metadata +40 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c66665cbabfb3ba8ad4f22cb69c5a34901502e1
|
4
|
+
data.tar.gz: f7cd3b0972dc89757282a8332e1f168bba7d0035
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ba6e4f97b0b646b8a37a7e58c8fa1e986930512b27f746742131a5d47190dfcf6bb1302c1f91eff47648969d767dabaaf733c0f47ed83748f3a2fcfe2f0aab4
|
7
|
+
data.tar.gz: 43e761955b978e8acd896b36714eb2b48ea300db2427a75f4ee1ef10d49e4d8a49379d7d7f41df5ec9a021f511e9cb23ad8fb39695654fb2f74c90403bf7ee7f
|
@@ -3,6 +3,7 @@ class DownloadController < ApplicationController
|
|
3
3
|
|
4
4
|
def show
|
5
5
|
@response, @document = get_solr_response_for_doc_id
|
6
|
+
restricted_should_authenticate
|
6
7
|
response = check_type
|
7
8
|
validate response
|
8
9
|
respond_to do |format|
|
@@ -12,9 +13,14 @@ class DownloadController < ApplicationController
|
|
12
13
|
end
|
13
14
|
|
14
15
|
def file
|
15
|
-
|
16
|
+
# Grab the solr document to check if it should be public or not
|
17
|
+
@response, @document = get_solr_response_for_doc_id(file_name_to_id(params[:id]))
|
18
|
+
restricted_should_authenticate
|
19
|
+
send_file "tmp/cache/downloads/#{params[:id]}.#{params[:format]}", type: 'application/zip', x_sendfile: true
|
16
20
|
end
|
17
21
|
|
22
|
+
private
|
23
|
+
|
18
24
|
def check_type
|
19
25
|
case params[:type]
|
20
26
|
when 'shapefile'
|
@@ -32,4 +38,15 @@ class DownloadController < ApplicationController
|
|
32
38
|
flash[:success] = view_context.link_to(t('geoblacklight.download.success', title: response), download_file_path(response))
|
33
39
|
end
|
34
40
|
end
|
41
|
+
|
42
|
+
# Checks whether a document is public, if not require user to authenticate
|
43
|
+
def restricted_should_authenticate
|
44
|
+
unless @document.public?
|
45
|
+
authenticate_user!
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def file_name_to_id(file_name)
|
50
|
+
file_name.split('-')[0..-2].join('-')
|
51
|
+
end
|
35
52
|
end
|
@@ -16,6 +16,14 @@ module GeoblacklightHelper
|
|
16
16
|
content_tag(:i, '', :class => 'fa fa-download fa-fw') + ' ' + t('Metadata')
|
17
17
|
end
|
18
18
|
|
19
|
+
def document_available?
|
20
|
+
@document.public? || (@document.same_institution? && current_user)
|
21
|
+
end
|
22
|
+
|
23
|
+
def document_downloadable?
|
24
|
+
document_available? && @document.downloadable?
|
25
|
+
end
|
26
|
+
|
19
27
|
def abstract_truncator(abstract)
|
20
28
|
if (abstract)
|
21
29
|
if (abstract.length > 150)
|
@@ -48,10 +56,10 @@ module GeoblacklightHelper
|
|
48
56
|
end
|
49
57
|
|
50
58
|
def layer_access_image(access)
|
51
|
-
case access
|
52
|
-
when '
|
59
|
+
case access.downcase
|
60
|
+
when 'restricted'
|
53
61
|
content_tag(:i, '', class: 'fa fa-lock fa-lg text-muted tooltip-icon', 'data-toggle' => 'tooltip', title: 'Restricted', style: 'width: 17px;')
|
54
|
-
when '
|
62
|
+
when 'public'
|
55
63
|
content_tag(:i, '', class: 'fa fa-unlock fa-lg text-muted tooltip-icon', 'data-toggle' => 'tooltip', title: 'Public')
|
56
64
|
else
|
57
65
|
""
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<div class='row'>
|
6
6
|
<div class="col-md-8">
|
7
|
-
<%= content_tag :div, id: 'map', data: { map: 'item', 'catalog-path'=> catalog_index_path , 'map-bbox' => document[:solr_bbox], 'layer-id' => document[:layer_id_s], 'wms-url' => document[:solr_wms_url], available:
|
7
|
+
<%= content_tag :div, id: 'map', data: { map: 'item', 'catalog-path'=> catalog_index_path , 'map-bbox' => document[:solr_bbox], 'layer-id' => document[:layer_id_s], 'wms-url' => document[:solr_wms_url], available: document_available? } do %>
|
8
8
|
<div id='control'>
|
9
9
|
<div id='handle'></div>
|
10
10
|
<div id='bottom'></div>
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<i class="fa fa-bookmark fa-fw"></i> Cite This
|
19
19
|
</a>
|
20
20
|
</ul>
|
21
|
-
<% if
|
21
|
+
<% if document_downloadable? %>
|
22
22
|
<div class='btn-group'>
|
23
23
|
<%= button_tag(type: 'button', class: 'btn btn-default dropdown-toggle', data: { toggle: 'dropdown' }) do %>
|
24
24
|
Download <span class='caret'></span>
|
@@ -31,6 +31,8 @@
|
|
31
31
|
<% end %>
|
32
32
|
</ul>
|
33
33
|
</div>
|
34
|
+
<% elsif document.restricted? && document.same_institution? %>
|
35
|
+
<%= link_to t('geoblacklight.tools.login_to_view'), new_user_session_path(referrer: request.original_url) %>
|
34
36
|
<% end %>
|
35
37
|
</div>
|
36
38
|
</div>
|
data/geoblacklight.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'blacklight', '~> 5.7.
|
21
|
+
spec.add_dependency 'blacklight', '~> 5.7.2'
|
22
22
|
spec.add_dependency 'leaflet-rails', '~> 0.7.3'
|
23
23
|
spec.add_dependency 'blacklight_range_limit', '~> 5.0.1'
|
24
24
|
spec.add_dependency 'font-awesome-rails', '~> 4.1.0.0'
|
@@ -33,4 +33,6 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency 'engine_cart', '~> 0.4.0'
|
34
34
|
spec.add_development_dependency 'capybara', '~> 2.3.0'
|
35
35
|
spec.add_development_dependency 'poltergeist', '~> 1.5.0'
|
36
|
+
spec.add_development_dependency 'factory_girl_rails'
|
37
|
+
spec.add_development_dependency 'database_cleaner'
|
36
38
|
end
|
@@ -45,9 +45,7 @@ module Geoblacklight
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def create_downloads_directory
|
48
|
-
|
49
|
-
Dir.mkdir('tmp/downloads')
|
50
|
-
end
|
48
|
+
FileUtils.mkdir_p("tmp/cache/downloads") unless File.directory?("tmp/cache/downloads")
|
51
49
|
end
|
52
50
|
|
53
51
|
# Necessary for bootstrap-sass 3.2
|
@@ -8,7 +8,11 @@ module Geoblacklight
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def public?
|
11
|
-
get(:dc_rights_s) == '
|
11
|
+
get(:dc_rights_s).downcase == 'public'
|
12
|
+
end
|
13
|
+
|
14
|
+
def restricted?
|
15
|
+
get(:dc_rights_s).downcase == 'restricted'
|
12
16
|
end
|
13
17
|
|
14
18
|
def downloadable?
|
@@ -20,7 +24,7 @@ module Geoblacklight
|
|
20
24
|
end
|
21
25
|
|
22
26
|
def same_institution?
|
23
|
-
get(:dct_provenance_s) == Settings.
|
27
|
+
get(:dct_provenance_s).downcase == Settings.INSTITUTION.downcase
|
24
28
|
end
|
25
29
|
|
26
30
|
def itemtype
|
@@ -22,7 +22,7 @@ namespace :geoblacklight do
|
|
22
22
|
namespace :downloads do
|
23
23
|
desc 'Delete all cached downloads'
|
24
24
|
task delete: :environment do
|
25
|
-
FileUtils.rm_rf Dir.glob("#{Rails.root}/tmp/downloads/*")
|
25
|
+
FileUtils.rm_rf Dir.glob("#{Rails.root}/tmp/cache/downloads/*")
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Geoblacklight::DownloadController, type: :controller do
|
4
|
+
describe '#file' do
|
5
|
+
describe 'restricted file' do
|
6
|
+
it 'should redirect to login for authentication' do
|
7
|
+
get :file, id: 'stanford-jf841ys4828-shapefile', format: 'zip'
|
8
|
+
expect(response.status).to eq 401
|
9
|
+
end
|
10
|
+
end
|
11
|
+
describe 'public file' do
|
12
|
+
it 'should initiate download' do
|
13
|
+
expect(controller).to receive(:render)
|
14
|
+
expect(controller).to receive(:send_file)
|
15
|
+
get :file, id: 'mit-us-ma-e25zcta5dct-2000-shapefile', format: 'zip'
|
16
|
+
expect(response.status).to eq 200
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
describe '#show' do
|
21
|
+
describe 'restricted file' do
|
22
|
+
it 'should redirect to login for authentication' do
|
23
|
+
get 'show', id: 'stanford-jf841ys4828', format: 'json'
|
24
|
+
expect(response.status).to eq 401
|
25
|
+
end
|
26
|
+
end
|
27
|
+
describe 'public file' do
|
28
|
+
it 'should initiate download creation' do
|
29
|
+
get 'show', id: 'mit-us-ma-e25zcta5dct-2000'
|
30
|
+
expect(response.status).to eq 200
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,18 +1,29 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
feature 'Download layer'
|
4
|
-
scenario 'clicking shapefile download button should trigger download' do
|
3
|
+
feature 'Download layer' do
|
4
|
+
scenario 'clicking shapefile download button should trigger download', js: true do
|
5
5
|
expect_any_instance_of(ShapefileDownload).to receive(:get).and_return('mit-us-ma-e25zcta5dct-2000-shapefile.zip')
|
6
6
|
visit catalog_path('mit-us-ma-e25zcta5dct-2000')
|
7
7
|
find('button', text: 'Download').click
|
8
8
|
find('a', text: 'Shapefile').click
|
9
9
|
expect(page).to have_css('a', text: 'Your file mit-us-ma-e25zcta5dct-2000-shapefile.zip is ready for download')
|
10
10
|
end
|
11
|
-
scenario 'clicking kmz download button should trigger download' do
|
11
|
+
scenario 'clicking kmz download button should trigger download', js: true do
|
12
12
|
expect_any_instance_of(KmzDownload).to receive(:get).and_return('mit-us-ma-e25zcta5dct-2000-kmz.kmz')
|
13
13
|
visit catalog_path('mit-us-ma-e25zcta5dct-2000')
|
14
14
|
find('button', text: 'Download').click
|
15
15
|
find('a', text: 'KMZ').click
|
16
16
|
expect(page).to have_css('a', text: 'Your file mit-us-ma-e25zcta5dct-2000-kmz.kmz is ready for download')
|
17
17
|
end
|
18
|
+
scenario 'restricted layer should not have download available to non logged in user' do
|
19
|
+
visit catalog_path('stanford-jf841ys4828')
|
20
|
+
expect(page).to have_css 'a', text: 'Login to view and download'
|
21
|
+
expect(page).to_not have_css 'button', text: 'Download'
|
22
|
+
end
|
23
|
+
scenario 'restricted layer should have download available to logged in user' do
|
24
|
+
sign_in
|
25
|
+
visit catalog_path('stanford-jf841ys4828')
|
26
|
+
expect(page).to_not have_css 'a', text: 'Login to view and download'
|
27
|
+
expect(page).to have_css 'button', text: 'Download'
|
28
|
+
end
|
18
29
|
end
|
@@ -2,6 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
feature 'Layer inspection', js: true do
|
4
4
|
scenario 'clicking map should trigger inspection' do
|
5
|
+
table_values = { values: [['Attribute']] }
|
6
|
+
expect_any_instance_of(WmsLayer).to receive(:get_feature_info).and_return(table_values)
|
5
7
|
visit catalog_path('mit-us-ma-e25zcta5dct-2000')
|
6
8
|
find('#map').click
|
7
9
|
expect(page).to have_css('th', text: 'Attribute')
|
@@ -20,7 +20,7 @@ describe Download do
|
|
20
20
|
end
|
21
21
|
describe '#file_path' do
|
22
22
|
it 'should return the path with name and extension' do
|
23
|
-
expect(download.file_path).to eq "#{Rails.root}/tmp/downloads/#{download.file_name}"
|
23
|
+
expect(download.file_path).to eq "#{Rails.root}/tmp/cache/downloads/#{download.file_name}"
|
24
24
|
end
|
25
25
|
end
|
26
26
|
describe '#download_exists?' do
|
@@ -21,13 +21,13 @@ describe Geoblacklight::SolrDocument do
|
|
21
21
|
end
|
22
22
|
describe '#public?' do
|
23
23
|
describe 'a public document' do
|
24
|
-
let(:document_attributes) { { dc_rights_s: '
|
24
|
+
let(:document_attributes) { { dc_rights_s: 'PUBLIC' } }
|
25
25
|
it 'should be public' do
|
26
26
|
expect(document.public?).to be_truthy
|
27
27
|
end
|
28
28
|
end
|
29
29
|
describe 'a restricted resource' do
|
30
|
-
let(:document_attributes) { { dc_rights_s: '
|
30
|
+
let(:document_attributes) { { dc_rights_s: 'RESTRICTED' } }
|
31
31
|
it 'should not be public' do
|
32
32
|
expect(document.public?).to be_falsey
|
33
33
|
end
|
@@ -35,11 +35,15 @@ describe Geoblacklight::SolrDocument do
|
|
35
35
|
end
|
36
36
|
describe '#same_institution?' do
|
37
37
|
describe 'within the same institution' do
|
38
|
-
let(:document_attributes) { { dct_provenance_s: '
|
38
|
+
let(:document_attributes) { { dct_provenance_s: 'STANFORD' } }
|
39
39
|
it 'should be true' do
|
40
40
|
allow(Settings).to receive('Institution').and_return('Stanford')
|
41
41
|
expect(document.same_institution?).to be_truthy
|
42
42
|
end
|
43
|
+
it 'should match case inconsistencies' do
|
44
|
+
allow(Settings).to receive('Institution').and_return('StAnFord')
|
45
|
+
expect(document.same_institution).to be_truthy
|
46
|
+
end
|
43
47
|
end
|
44
48
|
describe 'within a different institution' do
|
45
49
|
let(:document_attributes) { { dct_provenance_s: 'MIT' } }
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
ENV["RAILS_ENV"] ||= 'test'
|
2
2
|
|
3
|
+
require 'factory_girl'
|
4
|
+
require 'database_cleaner'
|
3
5
|
require 'engine_cart'
|
4
6
|
require 'coveralls'
|
5
7
|
Coveralls.wear!('rails')
|
6
8
|
EngineCart.load_application!
|
7
9
|
|
10
|
+
require 'rspec/rails'
|
11
|
+
require 'capybara/rspec'
|
8
12
|
require 'capybara/poltergeist'
|
9
13
|
Capybara.javascript_driver = :poltergeist
|
10
14
|
|
@@ -27,8 +31,26 @@ end
|
|
27
31
|
|
28
32
|
require 'geoblacklight'
|
29
33
|
|
30
|
-
require
|
31
|
-
|
34
|
+
Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
|
35
|
+
|
36
|
+
FactoryGirl.definition_file_paths = [File.expand_path("../factories", __FILE__)]
|
37
|
+
FactoryGirl.find_definitions
|
32
38
|
|
33
39
|
RSpec.configure do |config|
|
40
|
+
config.use_transactional_fixtures = false
|
41
|
+
|
42
|
+
config.before :each do
|
43
|
+
if Capybara.current_driver == :rack_test
|
44
|
+
DatabaseCleaner.strategy = :transaction
|
45
|
+
else
|
46
|
+
DatabaseCleaner.strategy = :truncation
|
47
|
+
end
|
48
|
+
DatabaseCleaner.start
|
49
|
+
end
|
50
|
+
|
51
|
+
config.after do
|
52
|
+
DatabaseCleaner.clean
|
53
|
+
end
|
54
|
+
|
55
|
+
config.include Devise::TestHelpers, type: :controller
|
34
56
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Features
|
2
|
+
module SessionHelpers
|
3
|
+
def sign_up_with(email, password)
|
4
|
+
visit new_user_registration_path
|
5
|
+
fill_in 'Email', with: email
|
6
|
+
fill_in 'Password', with: password
|
7
|
+
click_button 'Sign up'
|
8
|
+
end
|
9
|
+
|
10
|
+
def sign_in
|
11
|
+
user = FactoryGirl.create(:user)
|
12
|
+
user.save
|
13
|
+
visit new_user_session_path
|
14
|
+
fill_in 'user_email', with: user.email
|
15
|
+
fill_in 'user_password', with: user.password
|
16
|
+
click_button 'Log in'
|
17
|
+
expect(page).to have_content 'Signed in successfully.'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geoblacklight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Hardy
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-11-
|
12
|
+
date: 2014-11-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: blacklight
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 5.7.
|
20
|
+
version: 5.7.2
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 5.7.
|
27
|
+
version: 5.7.2
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: leaflet-rails
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,6 +207,34 @@ dependencies:
|
|
207
207
|
- - "~>"
|
208
208
|
- !ruby/object:Gem::Version
|
209
209
|
version: 1.5.0
|
210
|
+
- !ruby/object:Gem::Dependency
|
211
|
+
name: factory_girl_rails
|
212
|
+
requirement: !ruby/object:Gem::Requirement
|
213
|
+
requirements:
|
214
|
+
- - ">="
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
type: :development
|
218
|
+
prerelease: false
|
219
|
+
version_requirements: !ruby/object:Gem::Requirement
|
220
|
+
requirements:
|
221
|
+
- - ">="
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0'
|
224
|
+
- !ruby/object:Gem::Dependency
|
225
|
+
name: database_cleaner
|
226
|
+
requirement: !ruby/object:Gem::Requirement
|
227
|
+
requirements:
|
228
|
+
- - ">="
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '0'
|
231
|
+
type: :development
|
232
|
+
prerelease: false
|
233
|
+
version_requirements: !ruby/object:Gem::Requirement
|
234
|
+
requirements:
|
235
|
+
- - ">="
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '0'
|
210
238
|
description: GeoBlacklight started at Stanford and its goal is to provide a world-class
|
211
239
|
discovery platform for geospatial (GIS) holdings. It is an open collaborative project
|
212
240
|
aiming to build off of the successes of the Blacklight Solr-powered discovery interface
|
@@ -281,6 +309,8 @@ files:
|
|
281
309
|
- lib/geoblacklight/wms_layer.rb
|
282
310
|
- lib/geoblacklight/wms_layer/feature_info_response.rb
|
283
311
|
- lib/tasks/geoblacklight.rake
|
312
|
+
- spec/controllers/download_controller_spec.rb
|
313
|
+
- spec/factories/user.rb
|
284
314
|
- spec/features/download_layer_spec.rb
|
285
315
|
- spec/features/home_page_spec.rb
|
286
316
|
- spec/features/layer_inspection_spec.rb
|
@@ -296,6 +326,8 @@ files:
|
|
296
326
|
- spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb
|
297
327
|
- spec/lib/geoblacklight/wms_layer_spec.rb
|
298
328
|
- spec/spec_helper.rb
|
329
|
+
- spec/support/features.rb
|
330
|
+
- spec/support/features/session_helpers.rb
|
299
331
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
300
332
|
- spec/views/catalog/_document_split.html.erb_spec.rb
|
301
333
|
- spec/views/catalog/_index_split.html.erb_spec.rb
|
@@ -326,6 +358,8 @@ signing_key:
|
|
326
358
|
specification_version: 4
|
327
359
|
summary: A discovery platform for geospatial holdings
|
328
360
|
test_files:
|
361
|
+
- spec/controllers/download_controller_spec.rb
|
362
|
+
- spec/factories/user.rb
|
329
363
|
- spec/features/download_layer_spec.rb
|
330
364
|
- spec/features/home_page_spec.rb
|
331
365
|
- spec/features/layer_inspection_spec.rb
|
@@ -341,6 +375,8 @@ test_files:
|
|
341
375
|
- spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb
|
342
376
|
- spec/lib/geoblacklight/wms_layer_spec.rb
|
343
377
|
- spec/spec_helper.rb
|
378
|
+
- spec/support/features.rb
|
379
|
+
- spec/support/features/session_helpers.rb
|
344
380
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
345
381
|
- spec/views/catalog/_document_split.html.erb_spec.rb
|
346
382
|
- spec/views/catalog/_index_split.html.erb_spec.rb
|