hydra-core 8.2.0 → 9.0.0.beta1
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/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
|