active-fedora 9.4.3 → 9.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveFedora::FinderMethods do
4
+ let(:object_class) do
5
+ Class.new do
6
+ def self.delegated_attributes
7
+ {}
8
+ end
9
+ end
10
+ end
11
+
12
+ let(:finder_class) do
13
+ this = self
14
+ Class.new do
15
+ include ActiveFedora::FinderMethods
16
+ @@klass = this.object_class
17
+ def initialize
18
+ @klass = @@klass
19
+ end
20
+ end
21
+ end
22
+
23
+ let(:finder) { finder_class.new }
24
+
25
+ describe "#condition_to_clauses" do
26
+ subject { finder.send(:condition_to_clauses, key, value) }
27
+ let(:key) { 'library_id' }
28
+
29
+ context "when value is nil" do
30
+ let(:value) { nil }
31
+ it { is_expected.to eq "-library_id:[* TO *]" }
32
+ end
33
+
34
+ context "when value is empty string" do
35
+ let(:value) { '' }
36
+ it { is_expected.to eq "-library_id:[* TO *]" }
37
+ end
38
+
39
+ context "when value is an id" do
40
+ let(:value) { 'one/two/three' }
41
+ it { is_expected.to eq "_query_:\"{!raw f=library_id}one/two/three\"" }
42
+ end
43
+
44
+ context "when value is an array" do
45
+ let(:value) { ['one', 'four'] }
46
+ it { is_expected.to eq "_query_:\"{!raw f=library_id}one\" AND " \
47
+ "_query_:\"{!raw f=library_id}four\"" }
48
+ end
49
+ end
50
+ end
@@ -24,20 +24,44 @@ describe ActiveFedora::FixityService do
24
24
  end
25
25
 
26
26
  describe "#check" do
27
- before do
28
- allow(service).to receive(:get_fixity_response_from_fedora).and_return(response)
29
- end
27
+ before { allow(service).to receive(:get_fixity_response_from_fedora).and_return(response) }
30
28
  subject { service.check }
31
- context "with a passing result" do
32
- let(:response) do
33
- instance_double("Response", body: '<subject> <http://fedora.info/definitions/v4/repository#status> "SUCCESS"^^<http://www.w3.org/2001/XMLSchema#string> .')
29
+
30
+ context "with Fedora version >= 4.4.0" do
31
+ context "with a passing result" do
32
+ let(:response) do
33
+ instance_double("Response", body: '<subject> <http://www.loc.gov/premis/rdf/v1#hasEventOutcome> "SUCCESS"^^<http://www.w3.org/2001/XMLSchema#string> .')
34
+ end
35
+ it { is_expected.to be true }
36
+ end
37
+
38
+ context "with a failing result" do
39
+ let(:response) do
40
+ instance_double("Response", body: '<subject> <http://www.loc.gov/premis/rdf/v1#hasEventOutcome> "BAD_CHECKSUM"^^<http://www.w3.org/2001/XMLSchema#string> .')
41
+ end
42
+ it { is_expected.to be false }
43
+ end
44
+ end
45
+
46
+ context "with Fedora version < 4.4.0" do
47
+ context "with a passing result" do
48
+ let(:response) do
49
+ instance_double("Response", body: '<subject> <http://fedora.info/definitions/v4/repository#status> "SUCCESS"^^<http://www.w3.org/2001/XMLSchema#string> .')
50
+ end
51
+ it { is_expected.to be true }
52
+ end
53
+
54
+ context "with a failing result" do
55
+ let(:response) do
56
+ instance_double("Response", body: '<subject> <http://fedora.info/definitions/v4/repository#status> "BAD_CHECKSUM"^^<http://www.w3.org/2001/XMLSchema#string> .')
57
+ end
58
+ it { is_expected.to be false }
34
59
  end
35
- it { is_expected.to be true }
36
60
  end
37
61
 
38
- context "with a failing result" do
62
+ context "with a non-existent predicate" do
39
63
  let(:response) do
40
- instance_double("Response", body: '<subject> <http://fedora.info/definitions/v4/repository#status> "BAD_CHECKSUM"^^<http://www.w3.org/2001/XMLSchema#string> .')
64
+ instance_double("Response", body: '<subject> <http://bogus.com/definitions/v1/bogusTerm#foo> "SUCCESS"^^<http://www.w3.org/2001/XMLSchema#string> .')
41
65
  end
42
66
  it { is_expected.to be false }
43
67
  end
@@ -7,9 +7,9 @@ describe ActiveFedora::Base do
7
7
  class Basic < ActiveFedora::Base
8
8
  end
9
9
  end
10
- @model_query = "_query_:\"{!raw f=" + ActiveFedora::SolrQueryBuilder.solr_name("has_model", :symbol) + "}SpecModel::Basic" + "\""
11
- @sort_query = ActiveFedora::SolrQueryBuilder.solr_name("system_create", :stored_sortable, type: :date) + ' asc'
12
10
  end
11
+ let(:sort_query) { ActiveFedora::SolrQueryBuilder.solr_name("system_create", :stored_sortable, type: :date) + ' asc' }
12
+ let(:model_query) { "_query_:\"{!raw f=has_model_ssim}SpecModel::Basic\"" }
13
13
 
14
14
  after(:all) do
15
15
  Object.send(:remove_const, :SpecModel)
@@ -19,28 +19,40 @@ describe ActiveFedora::Base do
19
19
  before { allow(ActiveFedora::Base).to receive(:relation).and_return(relation) }
20
20
  describe "called on a concrete class" do
21
21
  let(:relation) { ActiveFedora::Relation.new(SpecModel::Basic) }
22
- it "should query solr for all objects with :has_model_s of self.class" do
23
- expect(relation).to receive(:load_from_fedora).with("changeme:30", nil).and_return("Fake Object1")
24
- expect(relation).to receive(:load_from_fedora).with("changeme:22", nil).and_return("Fake Object2")
25
- mock_docs = [{"id" => "changeme:30"}, {"id" => "changeme:22"}]
22
+
23
+ it "queries solr for all objects with has_model_ssim of self.class" do
24
+ expect(relation).to receive(:load_from_fedora).with("changeme:30", nil)
25
+ .and_return("Fake Object1")
26
+ expect(relation).to receive(:load_from_fedora).with("changeme:22", nil)
27
+ .and_return("Fake Object2")
28
+ mock_docs = [{ "id" => "changeme:30" }, { "id" => "changeme:22" }]
26
29
  expect(mock_docs).to receive(:has_next?).and_return(false)
27
- expect(ActiveFedora::SolrService.instance.conn).to receive(:paginate).with(1, 1000, 'select', :params=>{:q=>@model_query, :qt => 'standard', :sort => [@sort_query], :fl=> 'id', }).and_return('response'=>{'docs'=>mock_docs})
30
+ expect(ActiveFedora::SolrService.instance.conn).to receive(:paginate)
31
+ .with(1, 1000, 'select',
32
+ params: { q: model_query, qt: 'standard', sort: [sort_query], fl: 'id' })
33
+ .and_return('response' => { 'docs' => mock_docs })
28
34
  expect(SpecModel::Basic.all).to eq ["Fake Object1", "Fake Object2"]
29
35
  end
30
36
  end
37
+
31
38
  describe "called without a specific class" do
32
39
  let(:relation) { ActiveFedora::Relation.new(ActiveFedora::Base) }
33
- it "should specify a q parameter" do
34
- expect(relation).to receive(:load_from_fedora).with("changeme:30", true).and_return("Fake Object1")
35
- expect(relation).to receive(:load_from_fedora).with("changeme:22", true).and_return("Fake Object2")
40
+ it "specifies a q parameter" do
41
+ expect(relation).to receive(:load_from_fedora).with("changeme:30", true)
42
+ .and_return("Fake Object1")
43
+ expect(relation).to receive(:load_from_fedora).with("changeme:22", true)
44
+ .and_return("Fake Object2")
36
45
  mock_docs = [{"id" => "changeme:30"},{"id" => "changeme:22"}]
37
46
  expect(mock_docs).to receive(:has_next?).and_return(false)
38
- expect(ActiveFedora::SolrService.instance.conn).to receive(:paginate).with(1, 1000, 'select', :params=>{:q=>'*:*', :qt => 'standard', :sort => [@sort_query], :fl=> 'id', }).and_return('response'=>{'docs'=>mock_docs})
47
+ expect(ActiveFedora::SolrService.instance.conn).to receive(:paginate)
48
+ .with(1, 1000, 'select',
49
+ params: { q: '*:*', qt: 'standard', sort: [sort_query], fl: 'id' })
50
+ .and_return('response' => { 'docs' => mock_docs })
39
51
  expect(ActiveFedora::Base.all).to eq ["Fake Object1", "Fake Object2"]
40
52
  end
41
53
  end
42
54
  end
43
-
55
+
44
56
  describe '#find' do
45
57
  describe "with :cast false" do
46
58
  describe "and an id is specified" do
@@ -66,12 +78,15 @@ describe ActiveFedora::Base do
66
78
  end
67
79
  let(:relation) { ActiveFedora::Relation.new(SpecModel::Basic) }
68
80
  let(:solr) { ActiveFedora::SolrService.instance.conn }
69
- let(:expected_query) { "#{@model_query} AND foo:bar AND baz:quix AND baz:quack" }
70
- let(:expected_params) { { params: { sort: [@sort_query], fl: 'id', q: expected_query, qt: 'standard' } } }
81
+ let(:expected_query) { "#{model_query} AND " \
82
+ "_query_:\"{!raw f=foo}bar\" AND " \
83
+ "_query_:\"{!raw f=baz}quix\" AND " \
84
+ "_query_:\"{!raw f=baz}quack\"" }
85
+ let(:expected_params) { { params: { sort: [sort_query], fl: 'id', q: expected_query, qt: 'standard' } } }
71
86
  let(:expected_sort_params) { { params: { sort: ["title_t desc"], fl: 'id', q: expected_query, qt: 'standard' } } }
72
87
  let(:mock_docs) { [{"id" => "changeme:30"},{"id" => "changeme:22"}] }
73
88
 
74
- it "should filter by the provided fields" do
89
+ it "filters by the provided fields" do
75
90
  expect(relation).to receive(:load_from_fedora).with("changeme:30", nil).and_return("Fake Object1")
76
91
  expect(relation).to receive(:load_from_fedora).with("changeme:22", nil).and_return("Fake Object2")
77
92
 
@@ -80,42 +95,53 @@ describe ActiveFedora::Base do
80
95
  expect(SpecModel::Basic.where({:foo=>'bar', :baz=>['quix','quack']})).to eq ["Fake Object1", "Fake Object2"]
81
96
  end
82
97
 
83
- it "should correctly query for empty strings" do
84
- expect(SpecModel::Basic.where( :active_fedora_model_ssi => '').count).to eq 0
98
+ it "queries for empty strings" do
99
+ expect(SpecModel::Basic.where(active_fedora_model_ssi: '').count).to eq 0
85
100
  end
86
101
 
87
- it 'should correctly query for empty arrays' do
88
- expect(SpecModel::Basic.where( :active_fedora_model_ssi => []).count).to eq 0
102
+ it 'queries for empty arrays' do
103
+ expect(SpecModel::Basic.where(active_fedora_model_ssi: []).count).to eq 0
89
104
  end
90
105
 
91
- it "should add options" do
92
- expect(relation).to receive(:load_from_fedora).with("changeme:30", nil).and_return("Fake Object1")
93
- expect(relation).to receive(:load_from_fedora).with("changeme:22", nil).and_return("Fake Object2")
106
+ it "adds options" do
107
+ expect(relation).to receive(:load_from_fedora).with("changeme:30", nil)
108
+ .and_return("Fake Object1")
109
+ expect(relation).to receive(:load_from_fedora).with("changeme:22", nil)
110
+ .and_return("Fake Object2")
94
111
 
95
112
  expect(mock_docs).to receive(:has_next?).and_return(false)
96
- expect(solr).to receive(:paginate).with(1, 1000, 'select', expected_sort_params).and_return('response'=>{'docs'=>mock_docs})
97
- expect(SpecModel::Basic.where(:foo=>'bar', :baz=>['quix','quack']).order('title_t desc')).to eq ["Fake Object1", "Fake Object2"]
113
+ expect(solr).to receive(:paginate).with(1, 1000, 'select', expected_sort_params)
114
+ .and_return('response' => { 'docs' => mock_docs })
115
+ expect(SpecModel::Basic.where(foo: 'bar', baz: ['quix','quack'])
116
+ .order('title_t desc')).to eq ["Fake Object1", "Fake Object2"]
98
117
  end
99
118
  end
100
119
 
101
-
102
120
  describe '#find_each' do
103
121
  before { allow(ActiveFedora::Base).to receive(:relation).and_return(relation) }
104
122
  let(:relation) { ActiveFedora::Relation.new(SpecModel::Basic) }
105
123
  it "should query solr for all objects with :active_fedora_model_s of self.class" do
106
124
  mock_docs = [{"id" => "changeme-30"},{"id" => "changeme-22"}]
107
125
  expect(mock_docs).to receive(:has_next?).and_return(false)
108
- expect(ActiveFedora::SolrService.instance.conn).to receive(:paginate).with(1, 1000, 'select', :params=>{:q=>@model_query, :qt => 'standard', :sort => [@sort_query], :fl=> 'id', }).and_return('response'=>{'docs'=>mock_docs})
109
-
110
- allow(relation).to receive(:load_from_fedora).with("changeme-30", nil).and_return(SpecModel::Basic.new('changeme-30'))
111
- allow(relation).to receive(:load_from_fedora).with("changeme-22", nil).and_return(SpecModel::Basic.new('changeme-22'))
126
+ expect(ActiveFedora::SolrService.instance.conn).to receive(:paginate)
127
+ .with(1, 1000, 'select',
128
+ params: { q: model_query, qt: 'standard', sort: [sort_query], fl: 'id' })
129
+ .and_return('response' => { 'docs' => mock_docs })
130
+
131
+ allow(relation).to receive(:load_from_fedora).with("changeme-30", nil)
132
+ .and_return(SpecModel::Basic.new('changeme-30'))
133
+ allow(relation).to receive(:load_from_fedora).with("changeme-22", nil)
134
+ .and_return(SpecModel::Basic.new('changeme-22'))
112
135
  SpecModel::Basic.find_each(){ |obj| obj.class == SpecModel::Basic }
113
136
  end
114
137
 
115
138
  describe "with conditions" do
116
139
  let(:solr) { ActiveFedora::SolrService.instance.conn }
117
- let(:expected_query) { "#{@model_query} AND foo:bar AND baz:quix AND baz:quack" }
118
- let(:expected_params) { { params: { sort: [@sort_query], fl: 'id', q: expected_query, qt: 'standard' } } }
140
+ let(:expected_query) { "#{model_query} AND " \
141
+ "_query_:\"{!raw f=foo}bar\" AND " \
142
+ "_query_:\"{!raw f=baz}quix\" AND " \
143
+ "_query_:\"{!raw f=baz}quack\"" }
144
+ let(:expected_params) { { params: { sort: [sort_query], fl: 'id', q: expected_query, qt: 'standard' } } }
119
145
  let(:mock_docs) { [{"id" => "changeme-30"}, {"id" => "changeme-22"}] }
120
146
 
121
147
  it "should filter by the provided fields" do
@@ -132,8 +158,11 @@ describe ActiveFedora::Base do
132
158
  describe '#find_in_batches' do
133
159
  describe "with conditions hash" do
134
160
  let(:solr) { ActiveFedora::SolrService.instance.conn }
135
- let(:expected_query) { "#{@model_query} AND foo:bar AND baz:quix AND baz:quack" }
136
- let(:expected_params) { { params: { sort: [@sort_query], fl: 'id', q: expected_query, qt: 'standard' } } }
161
+ let(:expected_query) { "#{model_query} AND " \
162
+ "_query_:\"{!raw f=foo}bar\" AND " \
163
+ "_query_:\"{!raw f=baz}quix\" AND " \
164
+ "_query_:\"{!raw f=baz}quack\"" }
165
+ let(:expected_params) { { params: { sort: [sort_query], fl: 'id', q: expected_query, qt: 'standard' } } }
137
166
  let(:mock_docs) { double('docs') }
138
167
 
139
168
  it "should filter by the provided fields" do
@@ -147,22 +176,27 @@ describe ActiveFedora::Base do
147
176
  end
148
177
 
149
178
  describe '#count' do
150
-
151
- it "should return a count" do
152
- mock_result = {'response'=>{'numFound'=>7}}
153
- expect(ActiveFedora::SolrService).to receive(:query).with(@model_query, :rows=>0, :raw=>true).and_return(mock_result)
179
+ let(:mock_result) { { 'response' => { 'numFound' => 7 } } }
180
+
181
+ it "returns a count" do
182
+ expect(ActiveFedora::SolrService).to receive(:query)
183
+ .with(model_query, rows: 0, raw: true)
184
+ .and_return(mock_result)
154
185
  expect(SpecModel::Basic.count).to eq 7
155
186
  end
156
- it "should allow conditions" do
157
- mock_result = {'response'=>{'numFound'=>7}}
158
- expect(ActiveFedora::SolrService).to receive(:query).with("#{@model_query} AND (foo:bar)", :rows=>0, :raw=>true).and_return(mock_result)
159
- expect(SpecModel::Basic.count(:conditions=>'foo:bar')).to eq 7
187
+
188
+ it "allows conditions" do
189
+ expect(ActiveFedora::SolrService).to receive(:query)
190
+ .with("#{model_query} AND (foo:bar)", rows: 0, raw: true)
191
+ .and_return(mock_result)
192
+ expect(SpecModel::Basic.count(conditions: 'foo:bar')).to eq 7
160
193
  end
161
194
 
162
- it "should count without a class specified" do
163
- mock_result = {'response'=>{'numFound'=>7}}
164
- expect(ActiveFedora::SolrService).to receive(:query).with("(foo:bar)", :rows=>0, :raw=>true).and_return(mock_result)
165
- expect(ActiveFedora::Base.count(:conditions=>'foo:bar')).to eq 7
195
+ it "counts without a class specified" do
196
+ expect(ActiveFedora::SolrService).to receive(:query)
197
+ .with("(foo:bar)", rows: 0, raw: true)
198
+ .and_return(mock_result)
199
+ expect(ActiveFedora::Base.count(conditions: 'foo:bar')).to eq 7
166
200
  end
167
201
  end
168
202
 
@@ -200,37 +234,44 @@ describe ActiveFedora::Base do
200
234
  SpecModel::Basic.first != @c
201
235
  end
202
236
  end
203
- describe 'with one object' do
204
- it 'should equal the first object when there is only one' do
237
+ describe 'with one object' do
238
+ it 'equals the first object when there is only one' do
205
239
  a = SpecModel::Basic.create!
206
240
  SpecModel::Basic.first == SpecModel::Basic.last
207
241
  end
208
242
  end
209
243
  end
210
-
244
+
211
245
  describe '#find_with_conditions' do
212
246
  let(:mock_result) { double('Result') }
213
247
  let(:klass) { SpecModel::Basic }
214
248
  subject { klass.find_with_conditions(conditions) }
215
249
 
216
250
  before do
217
- expect(ActiveFedora::SolrService).to receive(:query).with(expected_query, sort: [@sort_query]).and_return(mock_result)
251
+ expect(ActiveFedora::SolrService).to receive(:query)
252
+ .with(expected_query, sort: [sort_query]).and_return(mock_result)
218
253
  end
219
254
 
220
255
  context "with a hash of conditions" do
221
- let(:expected_query) { "#{@model_query} AND foo:bar AND baz:quix AND baz:quack" }
256
+ let(:expected_query) { "#{model_query} AND " \
257
+ "_query_:\"{!raw f=foo}bar\" AND " \
258
+ "_query_:\"{!raw f=baz}quix\" AND " \
259
+ "_query_:\"{!raw f=baz}quack\"" }
222
260
  let(:conditions) { { foo: 'bar', baz: ['quix', 'quack'] } }
223
261
 
224
- it "should make a query to solr and return the results" do
262
+ it "makes a query to solr and returns the results" do
225
263
  expect(subject).to eq mock_result
226
264
  end
227
265
  end
228
266
 
229
267
  context "with quotes in the params" do
230
- let(:expected_query) { "#{@model_query} AND foo:9\\\"\\ Nails AND baz:7\\\"\\ version AND baz:quack" }
268
+ let(:expected_query) { "#{model_query} AND " \
269
+ "_query_:\"{!raw f=foo}9\\\" Nails\" AND " \
270
+ "_query_:\"{!raw f=baz}7\\\" version\" AND " \
271
+ "_query_:\"{!raw f=baz}quack\"" }
231
272
  let(:conditions) { { foo: '9" Nails', baz: ['7" version', 'quack']} }
232
273
 
233
- it "should escape quotes" do
274
+ it "escapes quotes" do
234
275
  expect(subject).to eq mock_result
235
276
  end
236
277
  end
@@ -240,8 +281,8 @@ describe ActiveFedora::Base do
240
281
 
241
282
  context "with a hash" do
242
283
  let(:conditions) { {:baz=>'quack'} }
243
- let(:expected_query) { 'baz:quack' }
244
- it "shouldn't use the class if it's called on AF:Base " do
284
+ let(:expected_query) { "_query_:\"{!raw f=baz}quack\"" }
285
+ it "doesn't use the class if it's called on AF:Base " do
245
286
  expect(subject).to eq mock_result
246
287
  end
247
288
  end
@@ -249,7 +290,7 @@ describe ActiveFedora::Base do
249
290
  context "called with a string" do
250
291
  let(:conditions) { 'chunky:monkey' }
251
292
  let(:expected_query) { '(chunky:monkey)' }
252
- it "should use the query string if it's provided and wrap it in parentheses" do
293
+ it "uses the query string if it's provided and wrap it in parentheses" do
253
294
  expect(subject).to eq mock_result
254
295
  end
255
296
  end
@@ -27,11 +27,15 @@ describe ActiveFedora do
27
27
  expect(@test_object.to_solr[:id]).to be_nil
28
28
  end
29
29
 
30
- it "should be used by ActiveFedora::Base#find_with_conditions" do
30
+ it "is used by ActiveFedora::Base#find_with_conditions" do
31
31
  mock_response = double("SolrResponse")
32
- expect(ActiveFedora::SolrService).to receive(:query).with("_query_:\"{!raw f=#{ActiveFedora::SolrQueryBuilder.solr_name("has_model", :symbol)}}SolrSpecModel::Basic\" AND " + SOLR_DOCUMENT_ID + ':changeme\\:30', {:sort => ["#{ActiveFedora::SolrQueryBuilder.solr_name("system_create", :stored_sortable, type: :date)} asc"]}).and_return(mock_response)
32
+ expect(ActiveFedora::SolrService).to receive(:query)
33
+ .with("_query_:\"{!raw f=has_model_ssim}SolrSpecModel::Basic\" AND " \
34
+ "_query_:\"{!raw f=MY_SAMPLE_ID}changeme:30\"",
35
+ sort: ["#{ActiveFedora::SolrQueryBuilder.solr_name("system_create", :stored_sortable, type: :date)} asc"])
36
+ .and_return(mock_response)
33
37
 
34
- expect(SolrSpecModel::Basic.find_with_conditions(:id=>"changeme:30")).to equal(mock_response)
38
+ expect(SolrSpecModel::Basic.find_with_conditions(id: "changeme:30")).to equal(mock_response)
35
39
  end
36
40
  end
37
41
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.4.3
4
+ version: 9.5.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: 2015-09-30 00:00:00.000000000 Z
13
+ date: 2015-10-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -284,6 +284,7 @@ files:
284
284
  - gemfiles/rails4.2.gemfile
285
285
  - lib/active-fedora.rb
286
286
  - lib/active_fedora.rb
287
+ - lib/active_fedora/association_hash.rb
287
288
  - lib/active_fedora/association_relation.rb
288
289
  - lib/active_fedora/associations.rb
289
290
  - lib/active_fedora/associations/association.rb
@@ -480,6 +481,7 @@ files:
480
481
  - spec/integration/clean_connection_spec.rb
481
482
  - spec/integration/collection_association_spec.rb
482
483
  - spec/integration/complex_rdf_datastream_spec.rb
484
+ - spec/integration/contains_association_spec.rb
483
485
  - spec/integration/datastream_rdf_nested_attributes_spec.rb
484
486
  - spec/integration/delete_all_spec.rb
485
487
  - spec/integration/direct_container_spec.rb
@@ -542,6 +544,7 @@ files:
542
544
  - spec/unit/file_path_builder_spec.rb
543
545
  - spec/unit/file_spec.rb
544
546
  - spec/unit/files_hash_spec.rb
547
+ - spec/unit/finder_methods_spec.rb
545
548
  - spec/unit/fixity_service_spec.rb
546
549
  - spec/unit/forbidden_attributes_protection_spec.rb
547
550
  - spec/unit/has_and_belongs_to_many_association_spec.rb