hyrax 2.4.1 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +139 -69
  3. data/.travis.yml +4 -1
  4. data/README.md +2 -2
  5. data/app/actors/hyrax/actors/transactional_request.rb +8 -8
  6. data/app/services/hyrax/default_middleware_stack.rb +4 -2
  7. data/app/views/catalog/_thumbnail_list_collection.html.erb +3 -2
  8. data/hyrax.gemspec +3 -6
  9. data/lib/hyrax/version.rb +1 -1
  10. data/spec/abilities/collection_ability_spec.rb +5 -5
  11. data/spec/abilities/permission_template_ability_spec.rb +1 -1
  12. data/spec/actors/hyrax/actors/collections_membership_actor_spec.rb +5 -5
  13. data/spec/actors/hyrax/actors/transactional_request_spec.rb +4 -2
  14. data/spec/controllers/catalog_controller_spec.rb +1 -1
  15. data/spec/controllers/hyrax/admin/collection_types_controller_spec.rb +1 -1
  16. data/spec/controllers/hyrax/batch_edits_controller_spec.rb +9 -9
  17. data/spec/controllers/hyrax/collections_controller_spec.rb +5 -5
  18. data/spec/controllers/hyrax/dashboard/collection_members_controller_spec.rb +16 -13
  19. data/spec/controllers/hyrax/dashboard/collections_controller_spec.rb +8 -8
  20. data/spec/controllers/hyrax/dashboard/nest_collections_controller_spec.rb +1 -1
  21. data/spec/controllers/hyrax/generic_works_controller_spec.rb +1 -1
  22. data/spec/controllers/hyrax/my/shares_controller_spec.rb +1 -1
  23. data/spec/features/actor_stack_spec.rb +48 -0
  24. data/spec/features/catalog_search_spec.rb +2 -2
  25. data/spec/features/collection_multi_membership_spec.rb +2 -2
  26. data/spec/features/collection_spec.rb +7 -7
  27. data/spec/features/collection_type_spec.rb +2 -2
  28. data/spec/features/dashboard/collection_spec.rb +15 -15
  29. data/spec/features/search_spec.rb +2 -2
  30. data/spec/features/work_show_spec.rb +5 -2
  31. data/spec/forms/hyrax/forms/collection_form_spec.rb +5 -5
  32. data/spec/forms/hyrax/forms/permission_template_form_spec.rb +1 -1
  33. data/spec/indexers/hyrax/collection_indexer_spec.rb +1 -1
  34. data/spec/jobs/characterize_job_spec.rb +1 -1
  35. data/spec/lib/hyrax/resource_sync/change_list_writer_spec.rb +35 -21
  36. data/spec/lib/hyrax/resource_sync/resource_list_writer_spec.rb +1 -1
  37. data/spec/models/collection_spec.rb +18 -18
  38. data/spec/models/concerns/hyrax/collection_nesting_spec.rb +2 -2
  39. data/spec/models/hyrax/collection_type_spec.rb +2 -2
  40. data/spec/presenters/hyrax/collection_presenter_spec.rb +11 -11
  41. data/spec/search_builders/hyrax/collection_member_search_builder_spec.rb +1 -1
  42. data/spec/search_builders/hyrax/collection_search_builder_spec.rb +1 -1
  43. data/spec/search_builders/hyrax/dashboard/nested_collections_search_builder_spec.rb +1 -1
  44. data/spec/search_builders/hyrax/work_relation_spec.rb +1 -1
  45. data/spec/services/hyrax/adapters/nesting_index_adapter_spec.rb +2 -2
  46. data/spec/services/hyrax/collections/collection_member_service_spec.rb +2 -2
  47. data/spec/services/hyrax/collections/migration_service_spec.rb +27 -27
  48. data/spec/services/hyrax/collections/nested_collection_persistence_service_spec.rb +1 -1
  49. data/spec/services/hyrax/collections/nested_collection_query_service_spec.rb +38 -38
  50. data/spec/services/hyrax/statistics/depositors/summary_spec.rb +1 -1
  51. data/spec/services/hyrax/statistics/works/by_resource_type_spec.rb +11 -4
  52. data/spec/spec_helper.rb +10 -8
  53. data/spec/support/selectors.rb +10 -1
  54. data/spec/views/catalog/_thumbnail_list_collection.html.erb_spec.rb +38 -5
  55. data/template.rb +3 -1
  56. metadata +23 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 675c6cf986dd38320e1f9c76caa0e707bfdfd34b
4
- data.tar.gz: 21487889ed825af87053b8ca78ad9a629f5ea0f1
2
+ SHA256:
3
+ metadata.gz: 07d676d225e5f0e4dcf90474785b25b46ba44433088bd4f939b30ac893018907
4
+ data.tar.gz: '098e92006e2286deb06fe494b56a725051f25076906887842c922706a6502ea2'
5
5
  SHA512:
6
- metadata.gz: 2cc13e4c761febbcc6d71a5f2169695d8723878198458bb6c024de8e92820e8f83cbd2dd18def0bd4fdc848d2b3efd56854f1d93afb758c80044c0fe19c53580
7
- data.tar.gz: 38ef4eca1f3c896f65bae3df9923a1d40888cc458d1bf1431858ac41c71474a2b250044cf4f33a227d7f512c45224a2f91bd5d16ea2367af7f55ad9147691b06
6
+ metadata.gz: 4f2d39f2437e74fa39d13c35e30a931822b61aca590a0fdabd4136df2b5af8ac1a4110398c33cb7f60b5a595dae4cabc55d002d64520625fab99ef2301485dfe
7
+ data.tar.gz: b2d0d871115bd3c2ba06265f59a47906511b69be05fba5152444bb0e01a9b07ed3df586e622bd91b176b9ee8b805e48a0107e394f178a93db4b69aa9ef7066be
@@ -2,100 +2,163 @@
2
2
  #
3
3
  # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
4
  #
5
- version: 2
6
- jobs:
7
- build:
5
+ version: 2.1
6
+ executors:
7
+ ruby:
8
8
  docker:
9
- # legacy needed for phantomjs
10
- - image: circleci/ruby:2.5.1-node-browsers-legacy
11
- - image: circleci/redis:4
12
- - image: ualbertalib/docker-fcrepo4:4.7
13
- environment:
14
- CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
15
- - image: solr:7-alpine
16
- command: bin/solr -cloud -noprompt -f -p 8985
17
-
18
- # Specify service dependencies here if necessary
19
- # CircleCI maintains a library of pre-built images
20
- # documented at https://circleci.com/docs/2.0/circleci-images/
21
- # - image: circleci/postgres:9.4
22
-
23
- working_directory: ~/repo
24
- parallelism: 2
25
-
9
+ - image: circleci/ruby:2.5.3
10
+ working_directory: ~/hyrax
26
11
  environment:
27
- RAILS_ENV: test
28
- RACK_ENV: test
29
- FCREPO_TEST_PORT: 8080/fcrepo
12
+ BUNDLE_PATH: vendor/bundle
30
13
  BUNDLE_JOBS: 4
31
14
  BUNDLE_RETRY: 3
32
- NOKOGIRI_USE_SYSTEM_LIBRARIES: true
33
- ENGINE_CART_RAILS_OPTIONS: --skip-git --skip-bundle --skip-listen --skip-spring --skip-yarn --skip-keeps --skip-action-cable --skip-coffee --skip-puma --skip-test
34
- SPEC_OPTS: --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
35
- COVERALLS_PARALLEL: true
36
15
 
16
+ jobs:
17
+ bundle:
18
+ executor: ruby
37
19
  steps:
38
20
  - restore_cache:
39
21
  keys:
40
- - source-v1-{{ .Branch }}-{{ .Revision }}
41
- - source-v1-{{ .Branch }}-
42
- - source-v1-
22
+ - v1-source-{{ .Branch }}-{{ .Revision }}
23
+ - v1-source-{{ .Branch }}-
24
+ - v1-source-
43
25
 
44
26
  - checkout
45
27
 
46
28
  - save_cache:
47
- key: source-v1-{{ .Branch }}-{{ .Revision }}
29
+ key: v1-source-{{ .Branch }}-{{ .Revision }}
48
30
  paths:
49
31
  - ".git"
50
32
 
51
- # BUNDLE_PATH is unset to allow for `bundle config path` to take precedence.
52
- - run:
53
- name: Extra environment setup
54
- command: |
55
- echo 'unset BUNDLE_PATH' >> $BASH_ENV
56
-
57
- - restore_cache:
58
- keys:
59
- - v1-internal-test-app-{{ .Branch }}
60
- - v1-internal-test-app-
61
-
62
- # Download and cache dependencies
63
33
  - restore_cache:
64
34
  keys:
65
- - v1-dependencies-{{ .Branch }}-{{ checksum "./.internal_test_app/.generated_engine_cart" }}
66
- - v1-dependencies-{{ .Branch }}
67
- - v1-dependencies-
35
+ - v1-bundle-{{ checksum "Gemfile" }}--{{ checksum "hyrax.gemspec" }}
36
+ - v1-bundle
68
37
 
69
38
  - run:
70
39
  name: Install dependencies
71
- command: |
72
- gem update --system
73
- gem update bundler
74
- bundle config path $CIRCLE_WORKING_DIRECTORY/vendor/bundle
75
- bundle install
40
+ command: bundle check || bundle install
41
+
42
+ - save_cache:
43
+ key: v1-bundle-{{ checksum "Gemfile.lock" }}--{{ checksum "hyrax.gemspec" }}
44
+ paths:
45
+ - ~/hyrax/vendor/bundle
46
+
47
+ - persist_to_workspace:
48
+ root: ~/
49
+ paths:
50
+ - hyrax/*
51
+ - hyrax/**/*
52
+
53
+ lint:
54
+ executor: ruby
55
+ steps:
56
+ - attach_workspace:
57
+ at: ~/
76
58
 
77
59
  - run:
78
60
  name: Call Rubocop
79
61
  command: bundle exec rubocop
80
62
 
63
+ build:
64
+ docker:
65
+ - image: circleci/ruby:2.5.3-node
66
+
67
+ working_directory: ~/hyrax
68
+
69
+ environment:
70
+ BUNDLE_PATH: vendor/bundle
71
+ BUNDLE_JOBS: 4
72
+ BUNDLE_RETRY: 3
73
+ RAILS_ENV: test
74
+ RACK_ENV: test
75
+ FCREPO_TEST_PORT: 8080/fcrepo
76
+ NOKOGIRI_USE_SYSTEM_LIBRARIES: true
77
+ ENGINE_CART_RAILS_OPTIONS: --skip-git --skip-bundle --skip-listen --skip-spring --skip-yarn --skip-keeps --skip-action-cable --skip-coffee --skip-puma --skip-test
78
+ SPEC_OPTS: --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
79
+ COVERALLS_PARALLEL: true
80
+
81
+ steps:
82
+ - attach_workspace:
83
+ at: ~/
84
+
85
+ # Update to the latest release of Chrome
86
+ - run: wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
87
+ - run: sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
88
+ - run: sudo apt-get update && sudo apt-get -y install google-chrome-stable
89
+
90
+ - restore_cache:
91
+ keys:
92
+ - v1-test-app-{{ checksum "template.rb" }}--{{ checksum "Gemfile.lock" }}
93
+
94
+ - run:
95
+ name: Check dependencies
96
+ command: bundle check || bundle install
97
+
98
+ - run:
99
+ name: Generate test app
100
+ command: (git diff --name-only master | grep -qG 'generators\/hyrax') || bundle exec rake engine_cart:generate
101
+
81
102
  - run:
82
- name: Generate test app, ensure top-level Gemfile.lock is valid
103
+ name: Ensure test app dependencies are installed
83
104
  command: |
84
- bundle exec rake engine_cart:generate
85
- bundle install
105
+ cd .internal_test_app
106
+ bundle check || bundle install
86
107
 
87
108
  - save_cache:
109
+ key: v1-test-app-{{ checksum "template.rb" }}--{{ checksum "Gemfile.lock" }}
88
110
  paths:
89
- - ./.internal_test_app
90
- key: v1-internal-test-app-{{ .Branch }}-{{ checksum "./.internal_test_app/.generated_engine_cart" }}
111
+ - ".internal_test_app"
112
+
113
+ - persist_to_workspace:
114
+ root: ~/
115
+ paths:
116
+ - hyrax/*
117
+ - hyrax/**/*
118
+
119
+ test:
120
+ docker:
121
+ - image: circleci/ruby:2.5.3-node-browsers-legacy
122
+ - image: circleci/redis:4
123
+ - image: ualbertalib/docker-fcrepo4:4.7
124
+ environment:
125
+ CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
126
+ - image: solr:7-alpine
127
+ command: bin/solr -cloud -noprompt -f -p 8985
128
+
129
+ working_directory: ~/hyrax
130
+ parallelism: 4
131
+
132
+ environment:
133
+ BUNDLE_PATH: vendor/bundle
134
+ BUNDLE_JOBS: 4
135
+ BUNDLE_RETRY: 3
136
+ RAILS_ENV: test
137
+ RACK_ENV: test
138
+ FCREPO_TEST_PORT: 8080/fcrepo
139
+ NOKOGIRI_USE_SYSTEM_LIBRARIES: true
140
+ ENGINE_CART_RAILS_OPTIONS: --skip-git --skip-bundle --skip-listen --skip-spring --skip-yarn --skip-keeps --skip-action-cable --skip-coffee --skip-puma --skip-test
141
+ SPEC_OPTS: --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
142
+ COVERALLS_PARALLEL: true
143
+
144
+ steps:
145
+ - attach_workspace:
146
+ at: ~/
147
+
148
+ - run:
149
+ name: Ensure top-level Gemfile.lock is valid
150
+ command: bundle check || bundle install
91
151
 
92
152
  - run:
93
- name: Start headless Chrome
94
- command: google-chrome-stable --headless --disable-gpu --no-sandbox --remote-debugging-port=9222 http://localhost
95
- background: true
153
+ name: Uninstall chromedriver Gems
154
+ command: gem uninstall -ax chromedriver-helper
96
155
 
97
156
  - run:
98
- name: Load config into SolrCloud
157
+ name: Install chromedriver Gems
158
+ command: gem install chromedriver-helper
159
+
160
+ - run:
161
+ name: Load config into solr
99
162
  command: |
100
163
  cd .internal_test_app/solr/config
101
164
  zip -1 -r solr_hyrax_config.zip ./*
@@ -108,18 +171,25 @@ jobs:
108
171
  mkdir /tmp/test-results
109
172
  bundle exec rspec $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
110
173
 
111
- - run:
112
- name: Clean dependencies
113
- command: bundle clean
114
-
115
- - save_cache:
116
- paths:
117
- - ./vendor/bundle
118
- key: v1-dependencies-{{ .Branch }}-{{ checksum "./.internal_test_app/.generated_engine_cart" }}
119
-
120
174
  # collect reports
121
175
  - store_test_results:
122
176
  path: /tmp/test-results
123
177
  - store_artifacts:
124
178
  path: /tmp/test-results
125
179
  destination: test-results
180
+
181
+ workflows:
182
+ version: 2
183
+ ci:
184
+ jobs:
185
+ - bundle
186
+ - lint:
187
+ requires:
188
+ - bundle
189
+ - build:
190
+ requires:
191
+ - bundle
192
+ - test:
193
+ requires:
194
+ - build
195
+ - lint
@@ -3,7 +3,9 @@ sudo: required
3
3
  dist: trusty
4
4
 
5
5
  addons:
6
- chrome: stable
6
+ apt:
7
+ packages:
8
+ - chromium-chromedriver
7
9
  cache:
8
10
  bundler: true
9
11
 
@@ -31,3 +33,4 @@ services:
31
33
  - redis-server
32
34
  before_script:
33
35
  - jdk_switcher use oraclejdk8
36
+ - ln -s /usr/lib/chromium-browser/chromedriver ~/bin/chromedriver
data/README.md CHANGED
@@ -64,7 +64,7 @@ The Samvera community is here to help. Please see our [support guide](./.github/
64
64
  # Getting started
65
65
 
66
66
  This document contains instructions specific to setting up an app with __Hyrax
67
- v2.4.1__. If you are looking for instructions on installing a different
67
+ v2.5.0__. If you are looking for instructions on installing a different
68
68
  version, be sure to select the appropriate branch or tag from the drop-down
69
69
  menu above.
70
70
 
@@ -163,7 +163,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
163
163
  Generate a new Rails application using the template.
164
164
 
165
165
  ```
166
- rails _5.1.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v2.4.1/template.rb
166
+ rails _5.1.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v2.5.0/template.rb
167
167
  ```
168
168
 
169
169
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
@@ -1,24 +1,24 @@
1
1
  module Hyrax
2
2
  module Actors
3
- # Wrap the stack in a database transaction.
4
- # This will roll back any database actions (particularly workflow) if there
3
+ # Used to wrap the stack in a database transaction.
4
+ # This would have rolled back any database actions (particularly workflow) if there
5
5
  # is an error elsewhere in the actor stack.
6
+ # This was problematic, is removed in v3.0, and is currently a no-op
7
+ # Backport of https://github.com/samvera/hyrax/pull/3482
6
8
  class TransactionalRequest < Actors::AbstractActor
9
+ # rubocop:disable Rails/Delegate
7
10
  # @param [Hyrax::Actors::Environment] env
8
11
  # @return [Boolean] true if create was successful
9
12
  def create(env)
10
- ActiveRecord::Base.transaction do
11
- next_actor.create(env)
12
- end
13
+ next_actor.create(env)
13
14
  end
14
15
 
15
16
  # @param [Hyrax::Actors::Environment] env
16
17
  # @return [Boolean] true if update was successful
17
18
  def update(env)
18
- ActiveRecord::Base.transaction do
19
- next_actor.update(env)
20
- end
19
+ next_actor.update(env)
21
20
  end
21
+ # rubocop:enable Rails/Delegate
22
22
  end
23
23
  end
24
24
  end
@@ -3,8 +3,10 @@ module Hyrax
3
3
  # rubocop:disable Metrics/MethodLength
4
4
  def self.build_stack
5
5
  ActionDispatch::MiddlewareStack.new.tap do |middleware|
6
- # Wrap everything in a database transaction, if the save of the resource
7
- # fails then roll back any database AdminSetChangeSet
6
+ # Used to wrap everything in a database transaction, if the save of the resource
7
+ # failed then rolled back any database AdminSetChangeSet
8
+ # This was problematic, is removed in v3.0, and is currently a no-op
9
+ # Backport of https://github.com/samvera/hyrax/pull/3482
8
10
  middleware.use Hyrax::Actors::TransactionalRequest
9
11
 
10
12
  # Ensure you are mutating the most recent version
@@ -1,3 +1,4 @@
1
1
  <div class="col-md-2">
2
- <span class="<%= Hyrax::ModelIcon.css_class_for(Collection) %> collection-icon-search" aria-hidden="true"></span>
3
- </div>
2
+ <%= render_thumbnail_tag document, {}, suppress_link: true %>
3
+ </div>
4
+
@@ -51,7 +51,7 @@ SUMMARY
51
51
  spec.add_dependency 'font-awesome-rails', '~> 4.2'
52
52
  spec.add_dependency 'hydra-derivatives', '~> 3.3'
53
53
  spec.add_dependency 'hydra-editor', '>= 3.3', '< 5.0'
54
- spec.add_dependency 'hydra-head', '>= 10.5.0'
54
+ spec.add_dependency 'hydra-head', '>= 10.6.1'
55
55
  spec.add_dependency 'hydra-works', '>= 0.16', '< 2.0'
56
56
  spec.add_dependency 'iiif_manifest', '>= 0.3', '< 0.6'
57
57
  spec.add_dependency 'jquery-datatables-rails', '~> 3.4'
@@ -83,8 +83,9 @@ SUMMARY
83
83
  # temporary pin to 2.17 due to failures caused in 2.18.0
84
84
  spec.add_development_dependency "capybara", '~> 2.4', '< 2.18.0'
85
85
  spec.add_development_dependency 'capybara-maleficent', '~> 0.3.0'
86
+ spec.add_development_dependency 'chromedriver-helper', '~> 2.1'
86
87
  spec.add_development_dependency 'database_cleaner', '~> 1.3'
87
- spec.add_development_dependency 'engine_cart', '~> 2.0'
88
+ spec.add_development_dependency 'engine_cart', '~> 2.2'
88
89
  spec.add_development_dependency "equivalent-xml", '~> 0.5'
89
90
  spec.add_development_dependency "factory_bot", '~> 4.4'
90
91
  spec.add_development_dependency 'fcrepo_wrapper', '~> 0.5', '>= 0.5.1'
@@ -112,8 +113,4 @@ SUMMARY
112
113
  # simple_form 3.5.1 broke hydra-editor for certain model types;
113
114
  # see: https://github.com/plataformatec/simple_form/issues/1549
114
115
  spec.add_dependency 'simple_form', '~> 3.2', '<= 3.5.0'
115
- # chromedriver-helper 2.0 broke the chromedriver used by capybara
116
- # see: https://github.com/flavorjones/chromedriver-helper/issues/62
117
- # and https://github.com/flavorjones/chromedriver-helper/issues/57
118
- spec.add_development_dependency 'chromedriver-helper', '< 2.0'
119
116
  end
@@ -1,3 +1,3 @@
1
1
  module Hyrax
2
- VERSION = '2.4.1'.freeze
2
+ VERSION = '2.5.0'.freeze
3
3
  end
@@ -10,7 +10,7 @@ RSpec.describe 'CollectionAbility' do
10
10
 
11
11
  context 'when admin user' do
12
12
  let(:user) { FactoryBot.create(:admin) }
13
- let!(:collection) { create(:collection, id: 'col_au', with_permission_template: true, collection_type_gid: collection_type_gid) }
13
+ let!(:collection) { build(:collection_lw, id: 'col_au', with_permission_template: true, collection_type_gid: collection_type_gid) }
14
14
  let!(:solr_document) { SolrDocument.new(collection.to_solr) }
15
15
 
16
16
  it 'allows all abilities' do # rubocop:disable RSpec/ExampleLength
@@ -34,7 +34,7 @@ RSpec.describe 'CollectionAbility' do
34
34
  end
35
35
 
36
36
  context 'when collection manager' do
37
- let!(:collection) { create(:collection, id: 'col_mu', with_permission_template: true, collection_type_gid: collection_type_gid) }
37
+ let!(:collection) { build(:collection_lw, id: 'col_mu', with_permission_template: true, collection_type_gid: collection_type_gid) }
38
38
  let!(:solr_document) { SolrDocument.new(collection.to_solr) }
39
39
 
40
40
  before do
@@ -69,7 +69,7 @@ RSpec.describe 'CollectionAbility' do
69
69
  end
70
70
 
71
71
  context 'when collection depositor' do
72
- let!(:collection) { create(:collection, id: 'col_du', with_permission_template: true, collection_type_gid: collection_type_gid) }
72
+ let!(:collection) { build(:collection_lw, id: 'col_du', with_permission_template: true, collection_type_gid: collection_type_gid) }
73
73
  let!(:solr_document) { SolrDocument.new(collection.to_solr) }
74
74
 
75
75
  before do
@@ -104,7 +104,7 @@ RSpec.describe 'CollectionAbility' do
104
104
  end
105
105
 
106
106
  context 'when collection viewer' do
107
- let!(:collection) { create(:collection, id: 'col_vu', with_permission_template: true, collection_type_gid: collection_type_gid) }
107
+ let!(:collection) { build(:collection_lw, id: 'col_vu', with_permission_template: true, collection_type_gid: collection_type_gid) }
108
108
  let!(:solr_document) { SolrDocument.new(collection.to_solr) }
109
109
 
110
110
  before do
@@ -139,7 +139,7 @@ RSpec.describe 'CollectionAbility' do
139
139
  end
140
140
 
141
141
  context 'when user has no special access' do
142
- let!(:collection) { create(:collection, id: 'as', with_permission_template: true, collection_type_gid: collection_type_gid) }
142
+ let!(:collection) { create(:collection_lw, id: 'as', with_permission_template: true, collection_type_gid: collection_type_gid) }
143
143
  let!(:solr_document) { SolrDocument.new(collection.to_solr) }
144
144
 
145
145
  it 'denies all abilities' do # rubocop:disable RSpec/ExampleLength
@@ -8,7 +8,7 @@ RSpec.describe 'PermissionTemplateAbility' do
8
8
  let(:current_user) { user }
9
9
  let(:collection_type_gid) { create(:collection_type).gid }
10
10
 
11
- let!(:collection) { create(:collection, with_permission_template: true, collection_type_gid: collection_type_gid) }
11
+ let!(:collection) { create(:collection_lw, with_permission_template: true, collection_type_gid: collection_type_gid) }
12
12
  let(:permission_template) { collection.permission_template }
13
13
  let!(:permission_template_access) do
14
14
  create(:permission_template_access,