hydra-core 8.2.0 → 9.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/hydra/controller/controller_behavior.rb +5 -6
- data/app/controllers/concerns/hydra/controller/download_behavior.rb +37 -39
- data/app/models/concerns/hydra/model_methods.rb +22 -22
- data/hydra-core.gemspec +3 -3
- data/lib/generators/hydra/head_generator.rb +0 -2
- data/lib/generators/hydra/templates/catalog_controller.rb +1 -2
- data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +8 -8
- data/lib/hydra-core.rb +4 -0
- data/lib/hydra-head/version.rb +1 -2
- data/spec/controllers/catalog_controller_spec.rb +6 -8
- data/spec/controllers/downloads_controller_spec.rb +40 -47
- data/spec/lib/catalog_spec.rb +15 -0
- data/spec/lib/model_methods_spec.rb +19 -9
- data/spec/spec_helper.rb +9 -5
- data/spec/support/lib/generators/test_app_generator.rb +1 -8
- data/spec/support/lib/tasks/rspec.rake +2 -1
- data/tasks/rspec.rake +1 -7
- metadata +25 -31
- data/app/search_builders/hydra/search_builder.rb +0 -5
- data/lib/generators/hydra/hyhead_fixtures_generator.rb +0 -27
- data/lib/generators/hydra/templates/config/blacklight.yml +0 -9
- data/lib/railties/hydra-fixtures.rake +0 -49
- data/spec/models/mods_asset_spec.rb +0 -16
- data/spec/search_builders/search_builder_spec.rb +0 -22
- data/spec/support/app/models/generic_content.rb +0 -21
- data/spec/support/spec/fixtures/hydra_test_generic_content.foxml.xml +0 -138
- data/spec/support/spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml +0 -234
- data/tasks/hydra-head-fixtures.rake +0 -58
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Hydra::Controller::ControllerBehavior do
|
4
|
+
|
5
|
+
before do
|
6
|
+
class CatalogTest < ApplicationController
|
7
|
+
include Hydra::Controller::ControllerBehavior
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should extend classes with the necessary Hydra modules" do
|
12
|
+
expect(CatalogTest.included_modules).to include(Hydra::AccessControlsEnforcement)
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -6,7 +6,8 @@ describe Hydra::ModelMethods do
|
|
6
6
|
class TestModel < ActiveFedora::Base
|
7
7
|
include Hydra::AccessControls::Permissions
|
8
8
|
include Hydra::ModelMethods
|
9
|
-
|
9
|
+
contains "properties", class_name: 'Hydra::Datastream::Properties'
|
10
|
+
has_attributes :depositor, datastream: :properties, multiple: false
|
10
11
|
end
|
11
12
|
end
|
12
13
|
|
@@ -15,13 +16,15 @@ describe Hydra::ModelMethods do
|
|
15
16
|
describe "apply_depositor_metadata" do
|
16
17
|
it "should add edit access" do
|
17
18
|
subject.apply_depositor_metadata('naomi')
|
18
|
-
expect(subject.
|
19
|
+
expect(subject.edit_users).to eq ['naomi']
|
19
20
|
end
|
21
|
+
|
20
22
|
it "should not overwrite people with edit access" do
|
21
|
-
subject.
|
23
|
+
subject.edit_users = ['jessie']
|
22
24
|
subject.apply_depositor_metadata('naomi')
|
23
|
-
expect(subject.
|
25
|
+
expect(subject.edit_users).to match_array ['naomi', 'jessie']
|
24
26
|
end
|
27
|
+
|
25
28
|
it "should set depositor" do
|
26
29
|
subject.apply_depositor_metadata('chris')
|
27
30
|
expect(subject.properties.depositor).to eq ['chris']
|
@@ -34,13 +37,20 @@ describe Hydra::ModelMethods do
|
|
34
37
|
end
|
35
38
|
|
36
39
|
describe 'add_file' do
|
40
|
+
let(:file_name) { "my_file.foo" }
|
41
|
+
let(:mock_file) { "File contents" }
|
42
|
+
|
37
43
|
it "should set the dsid, mimetype and content" do
|
38
|
-
file_name
|
39
|
-
|
40
|
-
expect(
|
41
|
-
expect(subject).to receive(:set_title_and_label).with( file_name, :only_if_blank=>true )
|
42
|
-
expect(MIME::Types).to receive(:of).with(file_name).and_return([double(:content_type=>"mymimetype")])
|
44
|
+
expect(subject).to receive(:add_file_datastream).with(mock_file, label: file_name, mime_type: "mymimetype", dsid: 'bar', original_name: file_name)
|
45
|
+
expect(subject).to receive(:set_title_and_label).with(file_name, only_if_blank: true )
|
46
|
+
expect(MIME::Types).to receive(:of).with(file_name).and_return([double(content_type: "mymimetype")])
|
43
47
|
subject.add_file(mock_file, 'bar', file_name)
|
44
48
|
end
|
49
|
+
|
50
|
+
it "should accept a supplied mime_type and content" do
|
51
|
+
expect(subject).to receive(:add_file_datastream).with(mock_file, label: file_name, mime_type: "image/png", dsid: 'bar', original_name: file_name)
|
52
|
+
expect(subject).to receive(:set_title_and_label).with(file_name, only_if_blank: true )
|
53
|
+
subject.add_file(mock_file, 'bar', file_name, 'image/png')
|
54
|
+
end
|
45
55
|
end
|
46
56
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -8,7 +8,7 @@ require 'bundler/setup'
|
|
8
8
|
require 'rspec/rails'
|
9
9
|
require 'hydra-core'
|
10
10
|
|
11
|
-
if ENV['COVERAGE']
|
11
|
+
if ENV['COVERAGE']
|
12
12
|
require 'simplecov'
|
13
13
|
require 'simplecov-rcov'
|
14
14
|
|
@@ -16,11 +16,15 @@ if ENV['COVERAGE'] and RUBY_VERSION =~ /^1.9/
|
|
16
16
|
SimpleCov.start
|
17
17
|
end
|
18
18
|
|
19
|
+
ActiveFedora::Base.logger = Logger.new(STDOUT)
|
20
|
+
|
21
|
+
require 'active_fedora/cleaner'
|
19
22
|
RSpec.configure do |config|
|
20
|
-
config.include Devise::TestHelpers, :
|
23
|
+
config.include Devise::TestHelpers, type: :controller
|
21
24
|
config.use_transactional_fixtures = true
|
22
|
-
config.before(:suite) { User.destroy_all }
|
23
25
|
config.infer_spec_type_from_file_location!
|
24
|
-
end
|
25
|
-
|
26
26
|
|
27
|
+
config.before(:each) do
|
28
|
+
ActiveFedora::Cleaner.clean!
|
29
|
+
end
|
30
|
+
end
|
@@ -3,16 +3,9 @@ require 'rails/generators'
|
|
3
3
|
class TestAppGenerator < Rails::Generators::Base
|
4
4
|
source_root File.expand_path("../../../../support", __FILE__)
|
5
5
|
|
6
|
-
def
|
7
|
-
copy_file "app/models/generic_content.rb"
|
8
|
-
|
6
|
+
def copy_test_classes
|
9
7
|
# Download controller
|
10
8
|
copy_file "app/controllers/downloads_controller.rb"
|
11
|
-
|
12
|
-
copy_file "spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml"
|
13
|
-
|
14
|
-
# For testing Hydra::SubmissionWorkflow
|
15
|
-
copy_file "spec/fixtures/hydra_test_generic_content.foxml.xml"
|
16
9
|
end
|
17
10
|
|
18
11
|
def copy_rspec_rake_task
|
@@ -2,6 +2,7 @@ require 'rspec/core/rake_task'
|
|
2
2
|
desc "run the hydra-core gem spec"
|
3
3
|
gem_home = File.expand_path('../../../../..', __FILE__)
|
4
4
|
RSpec::Core::RakeTask.new(:myspec) do |t|
|
5
|
-
t.
|
5
|
+
t.pattern = gem_home + '/spec/**/*_spec.rb'
|
6
|
+
t.rspec_opts = ["--colour", '--backtrace']
|
6
7
|
t.ruby_opts = "-I#{gem_home}/spec"
|
7
8
|
end
|
data/tasks/rspec.rake
CHANGED
@@ -3,7 +3,7 @@ ENV["RAILS_ROOT"] ||= 'spec/internal'
|
|
3
3
|
GEM_ROOT= File.expand_path(File.join(File.dirname(__FILE__),".."))
|
4
4
|
|
5
5
|
desc "Run specs"
|
6
|
-
task :
|
6
|
+
task spec: :generate do |t|
|
7
7
|
focused_spec = ENV['SPEC'] ? " SPEC=#{File.join(GEM_ROOT, ENV['SPEC'])}" : ''
|
8
8
|
within_test_app do
|
9
9
|
system "rake myspec#{focused_spec}"
|
@@ -11,12 +11,6 @@ task :spec => [:generate, :fixtures] do |t|
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
task :fixtures do
|
15
|
-
within_test_app do
|
16
|
-
system "rake hydra:fixtures:refresh RAILS_ENV=test"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
14
|
|
21
15
|
desc "Create the test rails app"
|
22
16
|
task :generate do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 9.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Zumwalt, Bess Sadler, Julie Meloni, Naomi Dushay, Jessie Keck, John Scofield,
|
@@ -9,22 +9,28 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-12-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 3.2.3
|
21
|
+
- - "<"
|
19
22
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
23
|
+
version: '5'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 3.2.3
|
31
|
+
- - "<"
|
26
32
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
33
|
+
version: '5'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: block_helpers
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,28 +51,28 @@ dependencies:
|
|
45
51
|
requirements:
|
46
52
|
- - '='
|
47
53
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
54
|
+
version: 9.0.0.beta1
|
49
55
|
type: :runtime
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
52
58
|
requirements:
|
53
59
|
- - '='
|
54
60
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
61
|
+
version: 9.0.0.beta1
|
56
62
|
- !ruby/object:Gem::Dependency
|
57
63
|
name: jettywrapper
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
59
65
|
requirements:
|
60
|
-
- - "
|
66
|
+
- - ">="
|
61
67
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
68
|
+
version: 1.4.1
|
63
69
|
type: :runtime
|
64
70
|
prerelease: false
|
65
71
|
version_requirements: !ruby/object:Gem::Requirement
|
66
72
|
requirements:
|
67
|
-
- - "
|
73
|
+
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
75
|
+
version: 1.4.1
|
70
76
|
- !ruby/object:Gem::Dependency
|
71
77
|
name: sqlite3
|
72
78
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,40 +150,34 @@ files:
|
|
144
150
|
- app/models/concerns/hydra/solr.rb
|
145
151
|
- app/models/hydra/datastream/properties.rb
|
146
152
|
- app/models/mods_asset.rb
|
147
|
-
- app/search_builders/hydra/search_builder.rb
|
148
153
|
- config/jetty.yml
|
149
154
|
- config/locales/hydra.en.yml
|
150
155
|
- hydra-core.gemspec
|
151
156
|
- lib/application_helper.rb
|
152
157
|
- lib/generators/hydra/head_generator.rb
|
153
|
-
- lib/generators/hydra/hyhead_fixtures_generator.rb
|
154
158
|
- lib/generators/hydra/jetty_generator.rb
|
155
159
|
- lib/generators/hydra/templates/ability.rb
|
156
160
|
- lib/generators/hydra/templates/catalog_controller.rb
|
157
|
-
- lib/generators/hydra/templates/config/blacklight.yml
|
158
161
|
- lib/generators/hydra/templates/config/initializers/hydra_config.rb
|
159
162
|
- lib/generators/hydra/templates/config/role_map.yml
|
160
163
|
- lib/hydra-core.rb
|
161
164
|
- lib/hydra-head/engine.rb
|
162
165
|
- lib/hydra-head/version.rb
|
163
166
|
- lib/railties/active-fedora.rake
|
164
|
-
- lib/railties/hydra-fixtures.rake
|
165
167
|
- lib/railties/hydra_jetty.rake
|
166
168
|
- spec/.gitignore
|
167
169
|
- spec/controllers/catalog_controller_spec.rb
|
168
170
|
- spec/controllers/downloads_controller_spec.rb
|
169
171
|
- spec/factories.rb
|
170
172
|
- spec/helpers/blacklight_helper_spec.rb
|
173
|
+
- spec/lib/catalog_spec.rb
|
171
174
|
- spec/lib/model_methods_spec.rb
|
172
|
-
- spec/models/mods_asset_spec.rb
|
173
175
|
- spec/models/solr_document_spec.rb
|
174
176
|
- spec/models/user_spec.rb
|
175
177
|
- spec/rcov.opts
|
176
|
-
- spec/search_builders/search_builder_spec.rb
|
177
178
|
- spec/spec.opts
|
178
179
|
- spec/spec_helper.rb
|
179
180
|
- spec/support/app/controllers/downloads_controller.rb
|
180
|
-
- spec/support/app/models/generic_content.rb
|
181
181
|
- spec/support/app/models/sample.rb
|
182
182
|
- spec/support/app/models/solr_document.rb
|
183
183
|
- spec/support/db/migrate/20111101221803_create_searches.rb
|
@@ -185,12 +185,9 @@ files:
|
|
185
185
|
- spec/support/lib/tasks/rspec.rake
|
186
186
|
- spec/support/matchers/helper_matcher.rb
|
187
187
|
- spec/support/matchers/solr_matchers.rb
|
188
|
-
- spec/support/spec/fixtures/hydra_test_generic_content.foxml.xml
|
189
|
-
- spec/support/spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml
|
190
188
|
- spec/test_app_templates/Gemfile.extra
|
191
189
|
- spec/unit/hydra-head-engine_spec.rb
|
192
190
|
- spec/unit/hydra-head_spec.rb
|
193
|
-
- tasks/hydra-head-fixtures.rake
|
194
191
|
- tasks/hydra_jetty.rake
|
195
192
|
- tasks/rspec.rake
|
196
193
|
homepage: http://projecthydra.org
|
@@ -205,15 +202,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
202
|
requirements:
|
206
203
|
- - ">="
|
207
204
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
205
|
+
version: 1.9.3
|
209
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
207
|
requirements:
|
211
|
-
- - "
|
208
|
+
- - ">"
|
212
209
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
210
|
+
version: 1.3.1
|
214
211
|
requirements: []
|
215
212
|
rubyforge_project:
|
216
|
-
rubygems_version: 2.
|
213
|
+
rubygems_version: 2.2.2
|
217
214
|
signing_key:
|
218
215
|
specification_version: 4
|
219
216
|
summary: Hydra-Head Rails Engine (requires Rails3)
|
@@ -223,16 +220,14 @@ test_files:
|
|
223
220
|
- spec/controllers/downloads_controller_spec.rb
|
224
221
|
- spec/factories.rb
|
225
222
|
- spec/helpers/blacklight_helper_spec.rb
|
223
|
+
- spec/lib/catalog_spec.rb
|
226
224
|
- spec/lib/model_methods_spec.rb
|
227
|
-
- spec/models/mods_asset_spec.rb
|
228
225
|
- spec/models/solr_document_spec.rb
|
229
226
|
- spec/models/user_spec.rb
|
230
227
|
- spec/rcov.opts
|
231
|
-
- spec/search_builders/search_builder_spec.rb
|
232
228
|
- spec/spec.opts
|
233
229
|
- spec/spec_helper.rb
|
234
230
|
- spec/support/app/controllers/downloads_controller.rb
|
235
|
-
- spec/support/app/models/generic_content.rb
|
236
231
|
- spec/support/app/models/sample.rb
|
237
232
|
- spec/support/app/models/solr_document.rb
|
238
233
|
- spec/support/db/migrate/20111101221803_create_searches.rb
|
@@ -240,8 +235,7 @@ test_files:
|
|
240
235
|
- spec/support/lib/tasks/rspec.rake
|
241
236
|
- spec/support/matchers/helper_matcher.rb
|
242
237
|
- spec/support/matchers/solr_matchers.rb
|
243
|
-
- spec/support/spec/fixtures/hydra_test_generic_content.foxml.xml
|
244
|
-
- spec/support/spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml
|
245
238
|
- spec/test_app_templates/Gemfile.extra
|
246
239
|
- spec/unit/hydra-head-engine_spec.rb
|
247
240
|
- spec/unit/hydra-head_spec.rb
|
241
|
+
has_rdoc:
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
require 'rails/generators'
|
3
|
-
require 'rails/generators/migration'
|
4
|
-
|
5
|
-
module Hydra
|
6
|
-
class HyheadFixturesGenerator < Rails::Generators::Base
|
7
|
-
|
8
|
-
source_root File.expand_path('../../../../', __FILE__)
|
9
|
-
|
10
|
-
desc """
|
11
|
-
This Generator copies the hydra-head sample/test objects into your application's test_support/fixtures directory
|
12
|
-
These objects are useful for getting a sense of how hydra works, but you will want to delete them and create your own
|
13
|
-
fixtures to run your application's tests against.
|
14
|
-
|
15
|
-
After running this generator, you can import your fixtures into fedora & solr by running
|
16
|
-
|
17
|
-
rake hydra:fixtures:refresh
|
18
|
-
rake hydra:fixtures:refresh RAILS_ENV=test
|
19
|
-
|
20
|
-
"""
|
21
|
-
|
22
|
-
def copy_hyhead_fixtures
|
23
|
-
directory("test_support/fixtures", "spec/fixtures")
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
development:
|
2
|
-
adapter: solr
|
3
|
-
url: <%= ENV['SOLR_URL'] || "http://127.0.0.1:8983/solr/development" %>
|
4
|
-
test: &test
|
5
|
-
adapter: solr
|
6
|
-
url: <%= "http://127.0.0.1:#{ENV['TEST_JETTY_PORT'] || 8983}/solr/test" %>
|
7
|
-
production:
|
8
|
-
adapter: solr
|
9
|
-
url: <%= ENV['SOLR_URL'] || "http://127.0.0.1:8983/solr/blacklight-core" %>
|
@@ -1,49 +0,0 @@
|
|
1
|
-
namespace :hydra do
|
2
|
-
|
3
|
-
desc "Init Hydra configuration"
|
4
|
-
task :init => [:environment] do
|
5
|
-
# We need to just start rails so that all the models are loaded
|
6
|
-
end
|
7
|
-
|
8
|
-
desc "Load hydra-head models"
|
9
|
-
task :load_models do
|
10
|
-
Dir.glob(File.join(File.expand_path(File.dirname(__FILE__)), "..",'app','models', '*.rb')).each do |model|
|
11
|
-
load model
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
namespace :fixtures do
|
16
|
-
task :load do
|
17
|
-
ENV["dir"] ||= File.join("spec", "fixtures")
|
18
|
-
loader = ActiveFedora::FixtureLoader.new(ENV['dir'])
|
19
|
-
Dir.glob("#{ENV['dir']}/*.foxml.xml").each do |fixture_path|
|
20
|
-
pid = File.basename(fixture_path, ".foxml.xml").sub("_",":")
|
21
|
-
begin
|
22
|
-
foo = loader.reload(pid)
|
23
|
-
puts "Updated #{pid}"
|
24
|
-
rescue Errno::ECONNREFUSED => e
|
25
|
-
puts "Can't connect to Fedora! Are you sure jetty is running? (#{ActiveFedora::Base.connection_for_pid(pid).inspect})"
|
26
|
-
rescue Exception => e
|
27
|
-
puts("Received a Fedora error while loading #{pid}\n#{e}")
|
28
|
-
logger.error("Received a Fedora error while loading #{pid}\n#{e}")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
desc "Remove default Hydra fixtures"
|
34
|
-
task :delete do
|
35
|
-
ENV["dir"] ||= File.join("spec", "fixtures")
|
36
|
-
loader = ActiveFedora::FixtureLoader.new(ENV['dir'])
|
37
|
-
Dir.glob("#{ENV['dir']}/*.foxml.xml").each do |fixture_path|
|
38
|
-
ENV["pid"] = File.basename(fixture_path, ".foxml.xml").sub("_",":")
|
39
|
-
Rake::Task["repo:delete"].reenable
|
40
|
-
Rake::Task["repo:delete"].invoke
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
desc "Refresh default Hydra fixtures"
|
45
|
-
task :refresh => [:delete, :load]
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ModsAsset do
|
4
|
-
|
5
|
-
let(:asset) { ModsAsset.new nil }
|
6
|
-
|
7
|
-
it "Should be a kind of ActiveFedora::Base" do
|
8
|
-
expect(asset).to be_kind_of(ActiveFedora::Base)
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should set up descMetadata and rightsMetadata datastreams" do
|
12
|
-
expect(asset.datastreams).to have_key("rightsMetadata")
|
13
|
-
expect(asset.datastreams["rightsMetadata"]).to be_instance_of(Hydra::Datastream::RightsMetadata)
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Hydra::SearchBuilder do
|
4
|
-
let(:processor_chain) { [:add_access_controls_to_solr_params] }
|
5
|
-
let(:context) { double('context') }
|
6
|
-
let(:user) { double('user', user_key: 'joe') }
|
7
|
-
let(:current_ability) { double('ability', user_groups: [], current_user: user) }
|
8
|
-
|
9
|
-
subject { described_class.new(processor_chain, context) }
|
10
|
-
before { subject.current_ability = current_ability }
|
11
|
-
|
12
|
-
it "should extend classes with the necessary Hydra modules" do
|
13
|
-
expect(Hydra::SearchBuilder.included_modules).to include(Hydra::AccessControlsEnforcement)
|
14
|
-
end
|
15
|
-
|
16
|
-
context "when a query is generated" do
|
17
|
-
it "should triggers add_access_controls_to_solr_params" do
|
18
|
-
expect(subject).to receive(:add_access_controls_to_solr_params)
|
19
|
-
subject.query
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|