curation_concerns 0.12.0.pre9 → 0.12.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6eab5f25a1495de88c62656c40d9261594057c45
4
- data.tar.gz: d2cc26ee39bd02be81ade88945c8ef17082f6eb1
3
+ metadata.gz: 385f4e3748f29f5498d701ecaca78b830e466317
4
+ data.tar.gz: 9df2179967ddec4f5eac6e8a3e2adec52f50b61a
5
5
  SHA512:
6
- metadata.gz: cdb783ae9f39849fe73f11ececb03330d491632dc0cec1e9d522070d547ebd06bc28728d7162d61907660361b88e59f25fc1571fbed711945415244f66c9b8e6
7
- data.tar.gz: b042084b5e0fe0509620b6b6fe42b82f595b22317df8b1a664591e7f6885e97ca4d9c0b3abd15a7aa1e9380acdaad8f73aa796136453a463b499024cc7fa2f4d
6
+ metadata.gz: 560677b0f20e0024f49e8a30fbb19114be599f2bbba7a360808c008b0d888593a2051c7bfea46c3a606423299a7e0464f0fa3a7044b398735bb86c106c9aa86c
7
+ data.tar.gz: 50a8a6920a23729f5a83fa73bb92fc41ec25e27c520cbe6414405f7e14d54c59711c7ac8fab580eb9e3b60712a5aab2523133cdd3a1439e867dbac115832dd08
@@ -160,7 +160,7 @@ module CurationConcerns
160
160
  end
161
161
 
162
162
  def collection_search_builder
163
- collection_search_builder_class.new(self).with(params.except(:q)).tap do |builder|
163
+ collection_search_builder_class.new(self).with(params.except(:q, :page)).tap do |builder|
164
164
  builder.current_ability = current_ability
165
165
  end
166
166
  end
@@ -5,21 +5,6 @@ module CurationConcerns
5
5
  !params[:cq].blank?
6
6
  end
7
7
 
8
- # Displays the Collections create collection button. Put this in your search result page template. We recommend putting it in catalog/_sort_and_per_page.html.erb
9
- def button_for_create_collection(label = 'Create Collection')
10
- render '/collections/button_create_collection', label: label
11
- end
12
-
13
- # Displays the Collections update collection button. Put this in your search result page template. We recommend putting it in catalog/_sort_and_per_page.html.erb
14
- def button_for_update_collection(label = 'Update Collection', collection_id = 'collection_replace_id')
15
- render '/collections/button_for_update_collection', label: label, collection_id: collection_id
16
- end
17
-
18
- # Displays the Collections delete collection button. Put this in your search result page for each collection found.
19
- def button_for_delete_collection(collection, label = 'Delete Collection', confirm = 'Are you sure?')
20
- render '/collections/button_for_delete_collection', collection: collection, label: label, confirm: confirm
21
- end
22
-
23
8
  def button_for_remove_from_collection(collection, document, label = 'Remove From Collection')
24
9
  render '/collections/button_remove_from_collection', collection: collection, label: label, document: document
25
10
  end
@@ -23,10 +23,10 @@
23
23
  <div class="modal-footer">
24
24
  <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
25
25
  <% if user_collections.blank? %>
26
- <%= button_for_create_collection %>
26
+ <%= render '/collections/button_create_collection', label: 'Create Collection' %>
27
27
  <% else %>
28
- <%= button_for_update_collection %>
29
- <%= button_for_create_collection "Add to new Collection" %>
28
+ <%= render '/collections/button_for_update_collection', label: 'Update Collection', collection_id: 'collection_replace_id' %>
29
+ <%= render '/collections/button_create_collection', label: 'Add to new Collection' %>
30
30
  <% end %>
31
31
  </div>
32
32
  </div><!-- /.modal-content -->
@@ -1,3 +1,3 @@
1
1
  module CurationConcerns
2
- VERSION = "0.12.0.pre9".freeze
2
+ VERSION = "0.12.0".freeze
3
3
  end
@@ -78,6 +78,20 @@ describe CollectionsController do
78
78
  end
79
79
  end
80
80
 
81
+ describe '#index' do
82
+ before { sign_in user }
83
+ let!(:collection1) { create(:collection, title: ['Beta'], user: user) }
84
+ let!(:collection2) { create(:collection, title: ['Alpha'], user: user) }
85
+ let!(:generic_work) { create(:generic_work, user: user) }
86
+
87
+ it 'shows a list of collections sorted alphabetically' do
88
+ get :index
89
+ expect(response).to be_successful
90
+ expect(assigns[:document_list].map(&:id)).not_to include generic_work.id
91
+ expect(assigns[:document_list].map(&:id)).to match_array [collection2.id, collection1.id]
92
+ end
93
+ end
94
+
81
95
  describe '#update' do
82
96
  before { sign_in user }
83
97
 
@@ -137,6 +151,28 @@ describe CollectionsController do
137
151
  end
138
152
  end
139
153
 
154
+ context 'when moving members between collections' do
155
+ let(:asset1) { create(:generic_work, user: user) }
156
+ let(:asset2) { create(:generic_work, user: user) }
157
+ let(:asset3) { create(:generic_work, user: user) }
158
+ before do
159
+ collection.members = [asset1, asset2, asset3]
160
+ collection.save!
161
+ end
162
+ let(:collection2) do
163
+ Collection.create(title: ['Some Collection']) do |col|
164
+ col.apply_depositor_metadata(user.user_key)
165
+ end
166
+ end
167
+
168
+ it 'moves the members' do
169
+ put :update, id: collection, collection: { members: 'move' },
170
+ destination_collection_id: collection2, batch_document_ids: [asset2, asset3]
171
+ expect(collection.reload.members).to eq [asset1]
172
+ expect(collection2.reload.members).to match_array [asset2, asset3]
173
+ end
174
+ end
175
+
140
176
  context 'updating a collections metadata' do
141
177
  it 'saves the metadata' do
142
178
  put :update, id: collection, collection: { creator: ['Emily'], visibility: 'open' }
@@ -181,6 +217,14 @@ describe CollectionsController do
181
217
  expect(assigns[:presenter].title).to eq 'Collection Title'
182
218
  end
183
219
  end
220
+ context 'when the page parameter is passed' do
221
+ it 'loads the collection (paying no attention to the page param)' do
222
+ get :show, id: collection, page: '2'
223
+ expect(response).to be_successful
224
+ expect(assigns[:presenter]).to be_kind_of CurationConcerns::CollectionPresenter
225
+ expect(assigns[:presenter].title).to eq 'Collection Title'
226
+ end
227
+ end
184
228
  end
185
229
 
186
230
  context 'not signed in' do
@@ -15,47 +15,6 @@ describe CollectionsHelper, type: :helper do
15
15
  end
16
16
  end
17
17
 
18
- describe "button_for_create_collection" do
19
- it "creates a button to the collections new path" do
20
- str = String.new(helper.button_for_create_collection)
21
- doc = Nokogiri::HTML(str)
22
- form = doc.xpath('//form').first
23
- expect(form.attr('action')).to eq(new_collection_path.to_s)
24
- i = form.xpath('.//input').first
25
- expect(i.attr('type')).to eq('submit')
26
- end
27
-
28
- it "creates a button with my text" do
29
- str = String.new(helper.button_for_create_collection("Create My Button"))
30
- doc = Nokogiri::HTML(str)
31
- form = doc.xpath('//form').first
32
- expect(form.attr('action')).to eq(new_collection_path.to_s)
33
- i = form.xpath('.//input').first
34
- expect(i.attr('value')).to eq('Create My Button')
35
- end
36
- end
37
-
38
- describe "button_for_delete_collection" do
39
- let(:collection) { FactoryGirl.create(:collection) }
40
-
41
- it "creates a button to the collections delete path" do
42
- str = button_for_delete_collection collection
43
- doc = Nokogiri::HTML(str)
44
- form = doc.xpath('//form').first
45
- expect(form.attr('action')).to eq collection_path(collection)
46
- i = form.xpath('.//input')[1]
47
- expect(i.attr('type')).to eq('submit')
48
- end
49
- it "creates a button with my text" do
50
- str = button_for_delete_collection collection, "Delete My Button"
51
- doc = Nokogiri::HTML(str)
52
- form = doc.xpath('//form').first
53
- expect(form.attr('action')).to eq collection_path(collection)
54
- i = form.xpath('.//input')[1]
55
- expect(i.attr('value')).to eq("Delete My Button")
56
- end
57
- end
58
-
59
18
  describe "button_for_remove_from_collection" do
60
19
  let(:item) { double(id: 'changeme:123') }
61
20
  let(:collection) { FactoryGirl.create(:collection) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curation_concerns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0.pre9
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-04-20 00:00:00.000000000 Z
13
+ date: 2016-04-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: hydra-head
@@ -842,7 +842,6 @@ files:
842
842
  - app/views/collections/_form.html.erb
843
843
  - app/views/collections/_form_additional_information.html.erb
844
844
  - app/views/collections/_form_for_select_collection.html.erb
845
- - app/views/collections/_form_for_select_destination_collection.html.erb
846
845
  - app/views/collections/_form_permission.html.erb
847
846
  - app/views/collections/_form_to_add_member.html.erb
848
847
  - app/views/collections/_index_default.html.erb
@@ -1046,7 +1045,6 @@ files:
1046
1045
  - spec/actors/curation_concerns/work_actor_spec.rb
1047
1046
  - spec/controllers/accepts_batches_controller_spec.rb
1048
1047
  - spec/controllers/catalog_controller_spec.rb
1049
- - spec/controllers/collections_controller_spec.rb
1050
1048
  - spec/controllers/curation_concerns/classify_concerns_controller_spec.rb
1051
1049
  - spec/controllers/curation_concerns/collections_controller_spec.rb
1052
1050
  - spec/controllers/curation_concerns/file_sets_controller_json_spec.rb
@@ -1221,9 +1219,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1221
1219
  version: '0'
1222
1220
  required_rubygems_version: !ruby/object:Gem::Requirement
1223
1221
  requirements:
1224
- - - ">"
1222
+ - - ">="
1225
1223
  - !ruby/object:Gem::Version
1226
- version: 1.3.1
1224
+ version: '0'
1227
1225
  requirements: []
1228
1226
  rubyforge_project:
1229
1227
  rubygems_version: 2.5.1
@@ -1245,7 +1243,6 @@ test_files:
1245
1243
  - spec/actors/curation_concerns/work_actor_spec.rb
1246
1244
  - spec/controllers/accepts_batches_controller_spec.rb
1247
1245
  - spec/controllers/catalog_controller_spec.rb
1248
- - spec/controllers/collections_controller_spec.rb
1249
1246
  - spec/controllers/curation_concerns/classify_concerns_controller_spec.rb
1250
1247
  - spec/controllers/curation_concerns/collections_controller_spec.rb
1251
1248
  - spec/controllers/curation_concerns/file_sets_controller_json_spec.rb
@@ -1,21 +0,0 @@
1
- <% if user_collections.nil?%>
2
- <b> Make sure you have included CurationConcerns::SelectsCollections in your controller for this page and
3
- added a before filter with one of the find_collections variations depending on your access level: find_collections, find_collections_with_read_access, find_collections_with_edit_access
4
- </b>
5
- <% elsif user_collections.blank? %>
6
- <b> You do not have access to any existing collections please create a collection. </b>
7
- <% else %>
8
- Please Select your collection to add you files to:
9
- <%= form_tag(collection_path(@collection), :method => "put") do %>
10
- <input type="hidden" name="test" value="val" />
11
- <%= hash_as_hidden_fields({:collection =>{members:"move"}}) %>
12
- <div class="collection-list">
13
- <ul>
14
- <% user_collections.each do |collection| %>
15
- <li> <%= radio_button_tag(:destination_collection_id, collection.id, false, :class => "collection-selector") %><%= label_tag(:collection, collection.title) %> </li>
16
- <% end %>
17
- </ul>
18
- </div>
19
- <%= button_to "Move to Selected Collection", collections_path, :method=>:put, :class=>"btn btn-primary collection-update submits-batches", 'data-behavior'=>'hydra-collections', :id=>'hydra-collection-move' %>
20
- <% end %>
21
- <% end %>
@@ -1,272 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe CollectionsController, type: :controller do
4
- let(:user) { FactoryGirl.create(:user) }
5
-
6
- before do
7
- allow(controller).to receive(:has_access?).and_return(true)
8
-
9
- sign_in user
10
- allow_any_instance_of(User).to receive(:groups).and_return([])
11
- allow(controller).to receive(:clear_session_user) ## Don't clear out the authenticated session
12
- end
13
-
14
- describe '#index' do
15
- let!(:collection1) { FactoryGirl.create(:collection, title: ['Beta'], user: user) }
16
- let!(:collection2) { FactoryGirl.create(:collection, title: ['Alpha'], user: user) }
17
- let!(:generic_file) { create(:generic_work, user: user) }
18
-
19
- it 'shows a list of collections sorted alphabetically' do
20
- get :index
21
- expect(response).to be_successful
22
- expect(assigns[:document_list].map(&:id)).not_to include generic_file.id
23
- expect(assigns[:document_list].map(&:id)).to match_array [collection2.id, collection1.id]
24
- end
25
- end
26
-
27
- describe '#new' do
28
- it 'assigns @collection' do
29
- get :new
30
- expect(assigns(:collection)).to be_kind_of(Collection)
31
- end
32
- end
33
-
34
- describe '#create' do
35
- it 'creates a Collection' do
36
- expect do
37
- post :create, collection: { title: ['My First Collection'],
38
- description: ["The Description\r\n\r\nand more"] }
39
- end.to change { Collection.count }.by(1)
40
- expect(assigns[:collection].title).to eq ['My First Collection']
41
- expect(assigns[:collection].description).to eq ["The Description\r\n\r\nand more"]
42
- expect(assigns[:collection].depositor).to eq(user.user_key)
43
- expect(response).to redirect_to collection_path(assigns[:collection])
44
- end
45
-
46
- it 'adds docs to collection if batch ids provided' do
47
- @asset1 = create(:generic_work, user: user)
48
- @asset2 = create(:generic_work, user: user)
49
- post :create, batch_document_ids: [@asset1, @asset2],
50
- collection: { title: ['My Secong Collection'],
51
- description: ["The Description\r\n\r\nand more"] }
52
- expect(assigns[:collection].members).to eq [@asset1, @asset2]
53
- end
54
-
55
- it 'calls after_create' do
56
- expect(controller).to receive(:after_create).and_call_original
57
- post :create, collection: { title: ['My First Collection'],
58
- description: ["The Description\r\n\r\nand more"] }
59
- end
60
-
61
- it 'adds one doc to collection if batch ids provided and add the collection id to the document in the colledction' do
62
- @asset1 = create(:generic_work, user: user)
63
- post :create, batch_document_ids: [@asset1],
64
- collection: { title: ['My Second Collection'],
65
- description: ["The Description\r\n\r\nand more"] }
66
- expect(assigns[:collection].members).to eq [@asset1]
67
- asset_results = ActiveFedora::SolrService.instance.conn.get 'select', params: { fq: ["id:\"#{@asset1.id}\""], fl: ['id', Solrizer.solr_name(:collection)] }
68
- expect(asset_results['response']['numFound']).to eq(1)
69
- doc = asset_results['response']['docs'].first
70
- expect(doc['id']).to eq @asset1.id
71
- afterupdate = GenericWork.find(@asset1.id)
72
- expect(doc[Solrizer.solr_name(:collection)]).to eq(afterupdate.to_solr[Solrizer.solr_name(:collection)])
73
- end
74
-
75
- it 'adds docs to collection if batch ids provided and add the collection id to the documents int he colledction' do
76
- @asset1 = create(:generic_work, user: user)
77
- @asset2 = create(:generic_work, user: user)
78
- post :create, batch_document_ids: [@asset1, @asset2],
79
- collection: { title: ['My Secong Collection'],
80
- description: ["The Description\r\n\r\nand more"] }
81
- expect(assigns[:collection].members).to eq [@asset1, @asset2]
82
- asset_results = ActiveFedora::SolrService.instance.conn.get 'select', params: { fq: ["id:\"#{@asset1.id}\""], fl: ['id', Solrizer.solr_name(:collection)] }
83
- expect(asset_results['response']['numFound']).to eq(1)
84
- doc = asset_results['response']['docs'].first
85
- expect(doc['id']).to eq(@asset1.id)
86
- afterupdate = GenericWork.find(@asset1.id)
87
- expect(doc[Solrizer.solr_name(:collection)]).to eq(afterupdate.to_solr[Solrizer.solr_name(:collection)])
88
- end
89
- end
90
-
91
- describe '#update' do
92
- let(:collection) { FactoryGirl.create(:collection, user: user) }
93
- before do
94
- @asset1 = create(:generic_work, user: user)
95
- @asset2 = create(:generic_work, user: user)
96
- @asset3 = create(:generic_work, user: user)
97
- end
98
-
99
- it 'updates collection metadata' do
100
- put :update, id: collection.id, collection: { title: ['New Title'], description: ['New Description'] }
101
- expect(response).to redirect_to collection_path(collection)
102
- expect(assigns[:collection].title).to eq(['New Title'])
103
- expect(assigns[:collection].description).to eq(['New Description'])
104
- end
105
-
106
- it 'calls after_update' do
107
- expect(controller).to receive(:after_update).and_call_original
108
- put :update, id: collection.id, collection: { title: ['New Title'], description: ['New Description'] }
109
- end
110
-
111
- context 'when updating fails' do
112
- before do
113
- allow_any_instance_of(Collection).to receive(:save).and_return(false)
114
- end
115
- it 'renders edit succesfully' do
116
- put :update, id: collection.id, collection: { title: ['New Title'] }
117
- expect(response).to render_template 'edit'
118
- end
119
- end
120
-
121
- context 'when there are existing members in the collection' do
122
- it 'supports adding batches of members' do
123
- collection.members << @asset1
124
- collection.save!
125
- put :update, id: collection, collection: { members: 'add' }, batch_document_ids: [@asset2, @asset3]
126
- expect(response).to redirect_to collection_path(collection)
127
- expect(assigns[:collection].members).to match_array [@asset2, @asset3, @asset1]
128
- end
129
-
130
- it 'supports removing batches of members' do
131
- collection.members = [@asset1, @asset2, @asset3]
132
- collection.save!
133
- put :update, id: collection, collection: { members: 'remove' }, batch_document_ids: [@asset1, @asset3]
134
- expect(response).to redirect_to collection_path(collection)
135
- expect(assigns[:collection].members).to eq([@asset2])
136
- end
137
- end
138
-
139
- it 'supports setting members array' do
140
- put :update, id: collection, collection: { members: 'add' }, batch_document_ids: [@asset2, @asset3, @asset1]
141
- expect(response).to redirect_to collection_path(collection)
142
- expect(assigns[:collection].members).to match_array [@asset2, @asset3, @asset1]
143
- end
144
-
145
- it 'set/un-sets collection on members' do
146
- # Add to collection (sets collection on members)
147
- put :update, id: collection, collection: { members: 'add' }, batch_document_ids: [@asset2, @asset3]
148
- expect(assigns[:collection].members).to match_array [@asset2, @asset3]
149
-
150
- # Remove from collection (un-sets collection on members)
151
- put :update, id: collection, collection: { members: 'remove' }, batch_document_ids: [@asset2]
152
- expect(assigns[:collection].members).not_to include(@asset2)
153
- end
154
-
155
- context 'when moving members between collections' do
156
- before do
157
- collection.members = [@asset1, @asset2, @asset3]
158
- collection.save!
159
- end
160
- let(:collection2) do
161
- Collection.create(title: ['Some Collection']) do |col|
162
- col.apply_depositor_metadata(user.user_key)
163
- end
164
- end
165
-
166
- it 'moves the members' do
167
- put :update, id: collection, collection: { members: 'move' },
168
- destination_collection_id: collection2, batch_document_ids: [@asset2, @asset3]
169
- expect(collection.reload.members).to eq [@asset1]
170
- expect(collection2.reload.members).to match_array [@asset2, @asset3]
171
- end
172
- end
173
- end
174
-
175
- describe '#destroy' do
176
- describe 'valid collection' do
177
- let!(:collection) { FactoryGirl.create(:collection, user: user) }
178
- before do
179
- expect(controller).to receive(:authorize!).and_return(true)
180
- end
181
-
182
- it 'deletes the collection' do
183
- delete :destroy, id: collection
184
- expect(response).to redirect_to Rails.application.routes.url_helpers.search_catalog_path
185
- expect(flash[:notice]).to eq('Collection was successfully deleted.')
186
- end
187
-
188
- it 'calls after_destroy' do
189
- expect(controller).to receive(:after_destroy).and_call_original
190
- delete :destroy, id: collection
191
- end
192
-
193
- it 'updates members' do
194
- asset1 = create(:generic_work, user: user)
195
- collection.members << asset1
196
- collection.save!
197
- expect(asset1.in_collections).to eq [collection]
198
-
199
- delete :destroy, id: collection
200
- expect(asset1.in_collections).to eq []
201
- end
202
- end
203
-
204
- it 'does not delete an invalid collection' do
205
- expect { delete :destroy, id: 'zz:-1' }.to raise_error
206
- end
207
- end
208
-
209
- describe '#show' do
210
- context 'when there are no assets in the collection' do
211
- let(:collection) { FactoryGirl.create(:collection, user: user) }
212
- it 'shows no assets' do
213
- get :show, id: collection
214
- expect(response).to be_successful
215
- expect(assigns[:presenter].id).to eq collection.id
216
- expect(assigns[:member_docs]).to be_empty
217
- end
218
- end
219
-
220
- context 'with a number of assets' do
221
- let(:asset1) { create(:generic_work, title: ['First of the Assets'], read_users: [user.user_key]) }
222
- let(:asset2) { create(:generic_work, title: ['Second of the Assets'], read_users: [user.user_key]) }
223
- let(:asset3) { create(:generic_work, title: ['Third of the Assets'], read_users: [user.user_key]) }
224
- let!(:collection) do
225
- FactoryGirl.create(:collection, members: [asset1, asset2, asset3], user: user)
226
- end
227
-
228
- it 'queries the collections' do
229
- get :show, id: collection, cq: 'First'
230
- expect(assigns[:presenter].id).to eq collection.id
231
- expect(assigns[:member_docs].map(&:id)).to match_array [asset1.id]
232
- end
233
-
234
- it 'returns the specified number of rows' do
235
- get :show, id: collection, rows: '2'
236
- expect(assigns[:presenter].id).to eq collection.id
237
- expect(assigns[:member_docs].size).to eq 2
238
- end
239
-
240
- describe 'additional collections' do
241
- let(:asset4) { create(:generic_work, user: user, title: [asset1.id.to_s], read_users: [user.user_key]) }
242
- let!(:collection2) do
243
- FactoryGirl.create(:collection, members: [asset4], user: user)
244
- end
245
- it 'shows only the collections assets' do
246
- get :show, id: collection
247
- expect(assigns[:presenter].id).to eq collection.id
248
- expect(assigns[:member_docs].map(&:id)).to match_array [asset1.id, asset2.id, asset3.id]
249
- end
250
-
251
- it 'shows only the other collections assets' do
252
- get :show, id: collection2
253
- expect(assigns[:presenter].id).to eq collection2.id
254
- expect(assigns[:member_docs].map(&:id)).to match_array [asset4.id]
255
- end
256
- end
257
-
258
- context 'When there are search matches that are not in the collection' do
259
- let!(:bad_asset1) { create(:generic_work, user: user, title: ["#{asset1.id} #{asset1.title.first}"]) }
260
- let!(:bad_asset2) { create(:generic_work, user: user, title: ["#{asset1.id} #{asset1.title.first}"]) }
261
-
262
- # NOTE: This test depends on title_tesim being in the qf in solrconfig.xml
263
- it 'only shows the collection assets' do
264
- get :show, id: collection, cq: "\"#{asset1.title.first}\""
265
- expect(assigns[:presenter].id).to eq collection.id
266
- expect(assigns[:member_docs].map(&:id)).not_to include bad_asset1.id, bad_asset2.id
267
- expect(assigns[:member_docs].map(&:id)).to match_array [asset1.id]
268
- end
269
- end
270
- end
271
- end
272
- end