active-fedora 11.0.0.rc1 → 11.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/active_fedora/railtie.rb +2 -2
  3. data/lib/active_fedora/version.rb +1 -1
  4. data/spec/integration/associations_spec.rb +17 -18
  5. data/spec/integration/attached_files_spec.rb +4 -4
  6. data/spec/integration/attributes_spec.rb +12 -16
  7. data/spec/integration/autosave_association_spec.rb +5 -5
  8. data/spec/integration/base_spec.rb +2 -2
  9. data/spec/integration/collection_association_spec.rb +2 -5
  10. data/spec/integration/datastream_rdf_nested_attributes_spec.rb +23 -23
  11. data/spec/integration/date_time_properties_spec.rb +1 -2
  12. data/spec/integration/direct_container_spec.rb +8 -8
  13. data/spec/integration/directly_contains_one_association_spec.rb +11 -13
  14. data/spec/integration/fedora_solr_sync_spec.rb +2 -2
  15. data/spec/integration/file_fixity_spec.rb +6 -8
  16. data/spec/integration/file_spec.rb +9 -10
  17. data/spec/integration/has_many_associations_spec.rb +6 -8
  18. data/spec/integration/indirect_container_spec.rb +8 -9
  19. data/spec/integration/json_serialization_spec.rb +4 -4
  20. data/spec/integration/ntriples_datastream_spec.rb +74 -74
  21. data/spec/integration/om_datastream_spec.rb +13 -13
  22. data/spec/integration/rdf_nested_attributes_spec.rb +6 -6
  23. data/spec/integration/relation_delegation_spec.rb +8 -8
  24. data/spec/integration/relation_spec.rb +13 -16
  25. data/spec/integration/solr_hit_spec.rb +4 -4
  26. data/spec/integration/versionable_spec.rb +132 -132
  27. data/spec/unit/aggregation/list_source_spec.rb +37 -37
  28. data/spec/unit/aggregation/ordered_reader_spec.rb +4 -4
  29. data/spec/unit/association_hash_spec.rb +15 -15
  30. data/spec/unit/attached_files_spec.rb +19 -19
  31. data/spec/unit/attributes_spec.rb +25 -25
  32. data/spec/unit/base_active_model_spec.rb +8 -8
  33. data/spec/unit/base_extra_spec.rb +5 -4
  34. data/spec/unit/base_spec.rb +9 -9
  35. data/spec/unit/change_set_spec.rb +5 -5
  36. data/spec/unit/core_spec.rb +26 -26
  37. data/spec/unit/default_model_mapper_spec.rb +3 -3
  38. data/spec/unit/fedora_spec.rb +2 -2
  39. data/spec/unit/file_configurator_spec.rb +92 -92
  40. data/spec/unit/file_spec.rb +60 -60
  41. data/spec/unit/files_hash_spec.rb +7 -7
  42. data/spec/unit/has_and_belongs_to_many_association_spec.rb +12 -12
  43. data/spec/unit/has_many_association_spec.rb +2 -2
  44. data/spec/unit/indexers/global_indexer_spec.rb +6 -6
  45. data/spec/unit/indexing_service_spec.rb +5 -5
  46. data/spec/unit/indexing_spec.rb +4 -4
  47. data/spec/unit/loadable_from_json_spec.rb +4 -4
  48. data/spec/unit/model_classifier_spec.rb +4 -4
  49. data/spec/unit/nom_datastream_spec.rb +8 -8
  50. data/spec/unit/om_datastream_spec.rb +43 -43
  51. data/spec/unit/ordered_spec.rb +142 -142
  52. data/spec/unit/orders/list_node_spec.rb +20 -20
  53. data/spec/unit/orders/ordered_list_spec.rb +96 -96
  54. data/spec/unit/orders/reflection_spec.rb +3 -3
  55. data/spec/unit/pathing_spec.rb +4 -4
  56. data/spec/unit/persistence_spec.rb +28 -28
  57. data/spec/unit/qualified_dublin_core_datastream_spec.rb +8 -8
  58. data/spec/unit/query_spec.rb +5 -5
  59. data/spec/unit/rdf/indexing_service_spec.rb +17 -17
  60. data/spec/unit/rdf_datastream_spec.rb +10 -10
  61. data/spec/unit/rdf_resource_datastream_spec.rb +37 -37
  62. data/spec/unit/rdfxml_datastream_spec.rb +14 -14
  63. data/spec/unit/readonly_spec.rb +5 -4
  64. data/spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb +9 -9
  65. data/spec/unit/rspec_matchers/have_many_associated_active_fedora_objects_matcher_spec.rb +9 -9
  66. data/spec/unit/rspec_matchers/have_predicate_matcher_spec.rb +9 -9
  67. data/spec/unit/schema_indexing_strategy_spec.rb +5 -5
  68. data/spec/unit/serializers_spec.rb +3 -4
  69. data/spec/unit/solr_hit_spec.rb +9 -9
  70. data/spec/unit/sparql_insert_spec.rb +2 -2
  71. data/spec/unit/validations_spec.rb +9 -9
  72. data/spec/unit/with_metadata/default_metadata_class_factory_spec.rb +2 -1
  73. data/spec/unit/with_metadata/metadata_node_spec.rb +3 -2
  74. metadata +2 -2
@@ -38,25 +38,25 @@ describe "Nesting attribute behavior of RDF resources" do
38
38
  end
39
39
 
40
40
  context "with an AT resource as a property" do
41
- subject { ComplexResource.new }
41
+ subject(:complex_resource) { ComplexResource.new }
42
42
 
43
43
  let(:params) { [{ subject: 'Foo' }, { subject: 'Bar' }] }
44
44
 
45
45
  before do
46
46
  ComplexResource.accepts_nested_attributes_for(*args)
47
- subject.topic_attributes = params
47
+ complex_resource.topic_attributes = params
48
48
  end
49
49
 
50
50
  context "when no options are set" do
51
51
  let(:args) { [:topic] }
52
52
 
53
53
  it "sets the attributes" do
54
- expect(subject.topic.size).to eq 2
55
- expect(subject.topic.map(&:subject)).to contain_exactly ['Foo'], ['Bar']
54
+ expect(complex_resource.topic.size).to eq 2
55
+ expect(complex_resource.topic.map(&:subject)).to contain_exactly ['Foo'], ['Bar']
56
56
  end
57
57
 
58
58
  it "marks the attributes as changed" do
59
- expect(subject.changed_attributes.keys).to eq ["topic"]
59
+ expect(complex_resource.changed_attributes.keys).to eq ["topic"]
60
60
  end
61
61
  end
62
62
 
@@ -66,7 +66,7 @@ describe "Nesting attribute behavior of RDF resources" do
66
66
  let(:params) { [{ subject: 'Foo' }, { subject: 'Bar' }] }
67
67
 
68
68
  it "does not add terms for which the proc is true" do
69
- expect(subject.topic.map(&:subject)).to eq [['Foo']]
69
+ expect(complex_resource.topic.map(&:subject)).to eq [['Foo']]
70
70
  end
71
71
  end
72
72
  end
@@ -25,30 +25,30 @@ describe ActiveFedora::Base do
25
25
  let!(:instance2) { TestClass.create!(foo: ['Alpha'], bar: ['Peanuts']) }
26
26
  let!(:instance3) { TestClass.create!(foo: ['Sigma'], bar: ['Peanuts']) }
27
27
 
28
- subject { TestClass.where(bar: 'Peanuts') }
28
+ subject(:peanuts) { TestClass.where(bar: 'Peanuts') }
29
29
 
30
30
  it "maps" do
31
- expect(subject.map(&:id)).to contain_exactly instance2.id, instance3.id
31
+ expect(peanuts.map(&:id)).to contain_exactly instance2.id, instance3.id
32
32
  end
33
33
 
34
34
  it "collects" do
35
- expect(subject.collect(&:id)).to contain_exactly instance2.id, instance3.id
35
+ expect(peanuts.collect(&:id)).to contain_exactly instance2.id, instance3.id
36
36
  end
37
37
 
38
38
  it "has each" do
39
39
  t = double
40
40
  expect(t).to receive(:foo).twice
41
- subject.each { t.foo }
41
+ peanuts.each { t.foo }
42
42
  end
43
43
 
44
44
  it "has all?" do
45
- expect(subject.all? { |t| t.foo == ['Alpha'] }).to be false
46
- expect(subject.all? { |t| t.bar == ['Peanuts'] }).to be true
45
+ expect(peanuts.all? { |t| t.foo == ['Alpha'] }).to be false
46
+ expect(peanuts.all? { |t| t.bar == ['Peanuts'] }).to be true
47
47
  end
48
48
 
49
49
  it "has include?" do
50
- expect(subject.include?(instance1)).to be false
51
- expect(subject.include?(instance2)).to be true
50
+ expect(peanuts.include?(instance1)).to be false
51
+ expect(peanuts.include?(instance2)).to be true
52
52
  end
53
53
  end
54
54
  end
@@ -15,15 +15,13 @@ describe ActiveFedora::Base do
15
15
  Object.send(:remove_const, :Book)
16
16
  end
17
17
 
18
- subject { Library.all }
18
+ subject(:libraries) { Library.all }
19
19
 
20
20
  it "is a relation" do
21
- expect(subject.class).to be ActiveFedora::Relation
21
+ expect(libraries.class).to be ActiveFedora::Relation
22
22
  end
23
23
 
24
- it "is enumerable" do
25
- expect(subject).to respond_to(:each_with_index)
26
- end
24
+ it { is_expected.to respond_to(:each_with_index) }
27
25
 
28
26
  context "when some records exist" do
29
27
  before do
@@ -34,43 +32,42 @@ describe ActiveFedora::Base do
34
32
 
35
33
  describe "is cached" do
36
34
  before do
37
- subject.to_a # trigger initial load
35
+ libraries.to_a # trigger initial load
38
36
  end
39
37
 
40
- it "is loaded" do
41
- expect(subject).to be_loaded
42
- end
38
+ it { is_expected.to be_loaded }
39
+
43
40
  it "does not reload" do
44
41
  expect_any_instance_of(ActiveFedora::Relation).to_not receive :find_each
45
- subject[0]
42
+ libraries[0]
46
43
  end
47
44
  end
48
45
 
49
46
  describe "#find" do
50
47
  it "finds one of them" do
51
- expect(subject.find(library1.id)).to eq library1
48
+ expect(libraries.find(library1.id)).to eq library1
52
49
  end
53
50
  it "finds with a block" do
54
- expect(subject.find { |l| l.id == library1.id }).to eq library1
51
+ expect(libraries.find { |l| l.id == library1.id }).to eq library1
55
52
  end
56
53
  end
57
54
 
58
55
  describe "#select" do
59
56
  it "finds with a block" do
60
- expect(subject.select { |l| l.id == library1.id }).to eq [library1]
57
+ expect(libraries.select { |l| l.id == library1.id }).to eq [library1]
61
58
  end
62
59
  end
63
60
 
64
61
  context "unpermitted methods" do
65
62
  it "excludes them" do
66
- expect { subject.sort! }.to raise_error NoMethodError
63
+ expect { libraries.sort! }.to raise_error NoMethodError
67
64
  end
68
65
  end
69
66
 
70
67
  context "when limit is applied" do
71
- subject { Library.create books: [Book.create, Book.create] }
68
+ subject(:libraries) { Library.create books: [Book.create, Book.create] }
72
69
  it "limits the number of books" do
73
- expect(subject.books.limit(1).size).to eq 1
70
+ expect(libraries.books.limit(1).size).to eq 1
74
71
  end
75
72
  end
76
73
  end
@@ -19,14 +19,14 @@ describe ActiveFedora::SolrHit do
19
19
  ) }
20
20
 
21
21
  let(:doc) { obj.to_solr }
22
- let(:solr_hit) { described_class.new(doc) }
22
+ subject(:solr_hit) { described_class.new(doc) }
23
23
 
24
24
  describe "#reify" do
25
- subject { solr_hit.reify }
25
+ let(:solr_reified) { solr_hit.reify }
26
26
 
27
27
  it "finds the document in solr" do
28
- expect(subject).to be_instance_of Foo
29
- expect(subject.title).to eq 'My Title'
28
+ expect(solr_reified).to be_instance_of Foo
29
+ expect(solr_reified.title).to eq 'My Title'
30
30
  end
31
31
  end
32
32
  end
@@ -12,45 +12,45 @@ describe ActiveFedora::Versionable do
12
12
  Object.send(:remove_const, :WithVersions)
13
13
  end
14
14
 
15
- subject { WithVersions.new }
15
+ subject(:object) { WithVersions.new }
16
16
 
17
17
  let(:current_year) { DateTime.now.year.to_s }
18
18
 
19
19
  context "saved with no versions" do
20
20
  it "does not have versions" do
21
- subject.update(title: ["Greetings Earthlings"])
22
- expect(subject).not_to have_versions
21
+ object.update(title: ["Greetings Earthlings"])
22
+ expect(object).not_to have_versions
23
23
  end
24
24
  end
25
25
 
26
26
  context "saved with versions" do
27
27
  it "has versions" do
28
- subject.update(title: ["Greetings Earthlings"])
29
- subject.create_version
30
- expect(subject).to have_versions
28
+ object.update(title: ["Greetings Earthlings"])
29
+ object.create_version
30
+ expect(object).to have_versions
31
31
  end
32
32
  end
33
33
 
34
34
  describe 'sorting versions' do
35
35
  before do
36
- allow(subject).to receive(:fedora_versions) { versions }
36
+ allow(graph).to receive(:fedora_versions) { versions }
37
37
  end
38
38
 
39
39
  let(:version1) { double('version1', uri: 'http://localhost:8983/fedora/rest/test/84/61/63/98/84616398-f63a-4572-ba01-0689339e4fcb/fcr:versions/87a0a8c317f1e711aa993d-e1d2-4a65-93ee-3a12fc9541ab', label: 'version1', created: '2015-04-02T19:54:45.962Z') }
40
40
  let(:version2) { double('version2', uri: 'http://localhost:8983/fedora/rest/test/84/61/63/98/84616398-f63a-4572-ba01-0689339e4fcb/fcr:versions/87a0a8c317f1e790373a67-c9ee-447d-b740-4faa882b1a1f', label: 'version2', created: '2015-04-02T19:54:45.96Z') }
41
41
  let(:versions) { [version1, version2] }
42
42
 
43
- subject { ActiveFedora::VersionsGraph.new }
43
+ subject(:graph) { ActiveFedora::VersionsGraph.new }
44
44
 
45
45
  it 'sorts by DateTime' do
46
- expect(subject.first).to eq version2
46
+ expect(graph.first).to eq version2
47
47
  end
48
48
 
49
49
  context 'with an unparseable created date' do
50
50
  let(:version2) { double('version2', uri: 'http://localhost:8983/fedora/rest/test/84/61/63/98/84616398-f63a-4572-ba01-0689339e4fcb/fcr:versions/87a0a8c317f1e790373a67-c9ee-447d-b740-4faa882b1a1f', label: 'version2', created: '') }
51
51
 
52
52
  it 'raises an exception' do
53
- expect { subject.first }.to raise_error(ActiveFedora::VersionLacksCreateDate)
53
+ expect { graph.first }.to raise_error(ActiveFedora::VersionLacksCreateDate)
54
54
  end
55
55
  end
56
56
 
@@ -63,62 +63,62 @@ describe ActiveFedora::Versionable do
63
63
  let(:version2) { double('version2', uri: 'http://localhost:8983/fedora/rest/test/84/61/63/98/84616398-f63a-4572-ba01-0689339e4fcb/fcr:versions/87a0a8c317f1e790373a67-c9ee-447d-b740-4faa882b1a1f', label: 'version2') }
64
64
 
65
65
  it 'raises an exception' do
66
- expect { subject.first }.to raise_error(ActiveFedora::VersionLacksCreateDate)
66
+ expect { graph.first }.to raise_error(ActiveFedora::VersionLacksCreateDate)
67
67
  end
68
68
  end
69
69
  end
70
70
 
71
71
  context "after saving" do
72
72
  before do
73
- subject.title = ["Greetings Earthlings"]
74
- subject.save
75
- subject.create_version
73
+ object.title = ["Greetings Earthlings"]
74
+ object.save
75
+ object.create_version
76
76
  end
77
77
 
78
78
  it { is_expected.to have_versions }
79
79
 
80
80
  it "has one version" do
81
- expect(subject.versions).to be_kind_of ActiveFedora::VersionsGraph
82
- expect(subject.versions.all.first).to be_kind_of ActiveFedora::VersionsGraph::ResourceVersion
83
- expect(subject.versions.all.first.label).to eql "version1"
84
- expect(subject.versions.all.first.created).to start_with current_year
81
+ expect(object.versions).to be_kind_of ActiveFedora::VersionsGraph
82
+ expect(object.versions.all.first).to be_kind_of ActiveFedora::VersionsGraph::ResourceVersion
83
+ expect(object.versions.all.first.label).to eql "version1"
84
+ expect(object.versions.all.first.created).to start_with current_year
85
85
  end
86
86
 
87
87
  context "two times" do
88
88
  before do
89
- subject.title = ["Surrender and prepare to be boarded"]
90
- subject.save
91
- subject.create_version
89
+ object.title = ["Surrender and prepare to be boarded"]
90
+ object.save
91
+ object.create_version
92
92
  end
93
93
 
94
94
  it "has two versions" do
95
- expect(subject.versions.all.size).to eq 2
96
- subject.versions.all.each_index do |index|
97
- expect(subject.versions.all[index].label).to end_with "version" + (index + 1).to_s
98
- expect(subject.versions.all[index].created).to start_with current_year
95
+ expect(object.versions.all.size).to eq 2
96
+ object.versions.all.each_index do |index|
97
+ expect(object.versions.all[index].label).to end_with "version" + (index + 1).to_s
98
+ expect(object.versions.all[index].created).to start_with current_year
99
99
  end
100
100
  end
101
101
 
102
102
  context "then restoring" do
103
103
  let(:first_version) { "version1" }
104
104
  before do
105
- subject.restore_version(first_version)
105
+ object.restore_version(first_version)
106
106
  end
107
107
 
108
108
  it "will return to the first version's values" do
109
- expect(subject.title).to eq(["Greetings Earthlings"])
109
+ expect(object.title).to eq(["Greetings Earthlings"])
110
110
  end
111
111
 
112
112
  context "and creating additional versions" do
113
113
  before do
114
- subject.title = ["Now, surrender and prepare to be boarded"]
115
- subject.save!
116
- subject.create_version
114
+ object.title = ["Now, surrender and prepare to be boarded"]
115
+ object.save!
116
+ object.create_version
117
117
  end
118
118
 
119
119
  it "has three versions" do
120
- expect(subject.versions.all.size).to eq 3
121
- expect(subject.title).to eq(["Now, surrender and prepare to be boarded"])
120
+ expect(object.versions.all.size).to eq 3
121
+ expect(object.title).to eq(["Now, surrender and prepare to be boarded"])
122
122
  end
123
123
  end
124
124
  end
@@ -146,7 +146,7 @@ describe ActiveFedora::Versionable do
146
146
  MockAFBase.create
147
147
  end
148
148
 
149
- subject { test_object.descMetadata }
149
+ subject(:desc_metadata) { test_object.descMetadata }
150
150
 
151
151
  let(:current_year) { DateTime.now.year.to_s }
152
152
 
@@ -155,96 +155,96 @@ describe ActiveFedora::Versionable do
155
155
 
156
156
  context "before creating the file" do
157
157
  it "does not have versions" do
158
- expect(subject.versions).to be_empty
158
+ expect(desc_metadata.versions).to be_empty
159
159
  end
160
160
  it "does not have a title" do
161
- expect(subject.title).to be_empty
161
+ expect(desc_metadata.title).to be_empty
162
162
  end
163
163
  end
164
164
 
165
165
  context "after creating the file" do
166
166
  before do
167
- subject.title = "Greetings Earthlings"
168
- subject.save
169
- subject.create_version
170
- @original_size = subject.size
167
+ desc_metadata.title = "Greetings Earthlings"
168
+ desc_metadata.save
169
+ desc_metadata.create_version
170
+ @original_size = desc_metadata.size
171
171
  end
172
172
 
173
173
  it "links to versions endpoint" do
174
- expect(subject.metadata.ldp_source.graph.query(predicate: ::RDF::Vocab::Fcrepo4.hasVersions).objects).to_not be_empty
174
+ expect(desc_metadata.metadata.ldp_source.graph.query(predicate: ::RDF::Vocab::Fcrepo4.hasVersions).objects).to_not be_empty
175
175
  end
176
176
 
177
177
  it "has one version" do
178
- expect(subject.versions.first.label).to eql "version1"
178
+ expect(desc_metadata.versions.first.label).to eql "version1"
179
179
  end
180
180
 
181
181
  it "has a title" do
182
- expect(subject.title).to eq(["Greetings Earthlings"])
182
+ expect(desc_metadata.title).to eq(["Greetings Earthlings"])
183
183
  end
184
184
 
185
185
  it "has a size" do
186
- expect(subject.size).to_not be_nil
186
+ expect(desc_metadata.size).to_not be_nil
187
187
  end
188
188
 
189
189
  context "two times" do
190
190
  before do
191
- subject.title = "Surrender and prepare to be boarded"
192
- subject.save
193
- subject.create_version
191
+ desc_metadata.title = "Surrender and prepare to be boarded"
192
+ desc_metadata.save
193
+ desc_metadata.create_version
194
194
  end
195
195
 
196
196
  it "has two versions" do
197
- expect(subject.versions.all.size).to eq 2
198
- subject.versions.all.each_index do |index|
199
- expect(subject.versions.all[index].label).to end_with "version" + (index + 1).to_s
200
- expect(subject.versions.all[index].created).to start_with current_year
197
+ expect(desc_metadata.versions.all.size).to eq 2
198
+ desc_metadata.versions.all.each_index do |index|
199
+ expect(desc_metadata.versions.all[index].label).to end_with "version" + (index + 1).to_s
200
+ expect(desc_metadata.versions.all[index].created).to start_with current_year
201
201
  end
202
202
  end
203
203
 
204
204
  it "has the new title" do
205
- expect(subject.title).to eq(["Surrender and prepare to be boarded"])
205
+ expect(desc_metadata.title).to eq(["Surrender and prepare to be boarded"])
206
206
  end
207
207
 
208
208
  it "has a new size" do
209
- expect(subject.size).to_not be_nil
210
- expect(subject.size).to_not eq(@original_size)
209
+ expect(desc_metadata.size).to_not be_nil
210
+ expect(desc_metadata.size).to_not eq(@original_size)
211
211
  end
212
212
 
213
213
  context "then restoring" do
214
214
  let(:first_version) { "version1" }
215
215
  before do
216
- subject.restore_version(first_version)
216
+ desc_metadata.restore_version(first_version)
217
217
  end
218
218
 
219
219
  it "has two unique versions" do
220
- expect(subject.versions.all.size).to eq 2
220
+ expect(desc_metadata.versions.all.size).to eq 2
221
221
  end
222
222
 
223
223
  it "loads the restored file's content" do
224
- expect(subject.title).to eq(["Greetings Earthlings"])
224
+ expect(desc_metadata.title).to eq(["Greetings Earthlings"])
225
225
  end
226
226
 
227
227
  it "is the same size as the original file" do
228
- expect(subject.size).to eq @original_size
228
+ expect(desc_metadata.size).to eq @original_size
229
229
  end
230
230
 
231
231
  context "and creating additional versions" do
232
232
  before do
233
- subject.title = "Now, surrender and prepare to be boarded"
234
- subject.save
235
- subject.create_version
233
+ desc_metadata.title = "Now, surrender and prepare to be boarded"
234
+ desc_metadata.save
235
+ desc_metadata.create_version
236
236
  end
237
237
 
238
238
  it "has three unique versions" do
239
- expect(subject.versions.all.size).to eq 3
239
+ expect(desc_metadata.versions.all.size).to eq 3
240
240
  end
241
241
 
242
242
  it "has a new title" do
243
- expect(subject.title).to eq(["Now, surrender and prepare to be boarded"])
243
+ expect(desc_metadata.title).to eq(["Now, surrender and prepare to be boarded"])
244
244
  end
245
245
 
246
246
  it "has a new size" do
247
- expect(subject.size).to_not eq @original_size
247
+ expect(desc_metadata.size).to_not eq @original_size
248
248
  end
249
249
  end
250
250
  end
@@ -272,7 +272,7 @@ describe ActiveFedora::Versionable do
272
272
  Object.send(:remove_const, :VersionableDatastream)
273
273
  end
274
274
 
275
- subject { test_object.descMetadata }
275
+ subject(:desc_metadata) { test_object.descMetadata }
276
276
 
277
277
  let(:current_year) { DateTime.now.year.to_s }
278
278
 
@@ -281,97 +281,97 @@ describe ActiveFedora::Versionable do
281
281
 
282
282
  context "before creating the file" do
283
283
  it "does not have versions" do
284
- expect(subject.versions).to be_empty
284
+ expect(desc_metadata.versions).to be_empty
285
285
  end
286
286
  it "does not have a title" do
287
- expect(subject.title).to be_empty
287
+ expect(desc_metadata.title).to be_empty
288
288
  end
289
289
  end
290
290
 
291
291
  context "after creating the file" do
292
292
  before do
293
- subject.title = "Greetings Earthlings"
294
- subject.save
295
- subject.create_version
296
- @original_size = subject.size
293
+ desc_metadata.title = "Greetings Earthlings"
294
+ desc_metadata.save
295
+ desc_metadata.create_version
296
+ @original_size = desc_metadata.size
297
297
  end
298
298
 
299
299
  it "links to versions endpoint" do
300
- expect(subject.metadata.ldp_source.graph.query(predicate: ::RDF::Vocab::Fcrepo4.hasVersions).objects).to_not be_empty
300
+ expect(desc_metadata.metadata.ldp_source.graph.query(predicate: ::RDF::Vocab::Fcrepo4.hasVersions).objects).to_not be_empty
301
301
  end
302
302
 
303
303
  it "has one version" do
304
- expect(subject.versions.first.label).to eql "version1"
305
- expect(subject.versions.first.created).to start_with current_year
304
+ expect(desc_metadata.versions.first.label).to eql "version1"
305
+ expect(desc_metadata.versions.first.created).to start_with current_year
306
306
  end
307
307
 
308
308
  it "has a title" do
309
- expect(subject.title).to eql(["Greetings Earthlings"])
309
+ expect(desc_metadata.title).to eql(["Greetings Earthlings"])
310
310
  end
311
311
 
312
312
  it "has a size" do
313
- expect(subject.size).to_not be_nil
313
+ expect(desc_metadata.size).to_not be_nil
314
314
  end
315
315
 
316
316
  context "two times" do
317
317
  before do
318
- subject.title = "Surrender and prepare to be boarded"
319
- subject.save
320
- subject.create_version
318
+ desc_metadata.title = "Surrender and prepare to be boarded"
319
+ desc_metadata.save
320
+ desc_metadata.create_version
321
321
  end
322
322
 
323
323
  it "has two unique versions" do
324
- expect(subject.versions.all.size).to eq 2
325
- subject.versions.all.each_index do |index|
326
- expect(subject.versions.all[index].label).to end_with "version" + (index + 1).to_s
327
- expect(subject.versions.all[index].created).to start_with current_year
324
+ expect(desc_metadata.versions.all.size).to eq 2
325
+ desc_metadata.versions.all.each_index do |index|
326
+ expect(desc_metadata.versions.all[index].label).to end_with "version" + (index + 1).to_s
327
+ expect(desc_metadata.versions.all[index].created).to start_with current_year
328
328
  end
329
329
  end
330
330
 
331
331
  it "has the new title" do
332
- expect(subject.title).to eql(["Surrender and prepare to be boarded"])
332
+ expect(desc_metadata.title).to eql(["Surrender and prepare to be boarded"])
333
333
  end
334
334
 
335
335
  it "has a new size" do
336
- expect(subject.size).to_not be_nil
337
- expect(subject.size).to_not eq(@original_size)
336
+ expect(desc_metadata.size).to_not be_nil
337
+ expect(desc_metadata.size).to_not eq(@original_size)
338
338
  end
339
339
 
340
340
  context "then restoring" do
341
341
  let(:first_version) { "version1" }
342
342
  before do
343
- subject.restore_version(first_version)
343
+ desc_metadata.restore_version(first_version)
344
344
  end
345
345
 
346
346
  it "stills have two unique versions" do
347
- expect(subject.versions.all.size).to eq 2
347
+ expect(desc_metadata.versions.all.size).to eq 2
348
348
  end
349
349
 
350
350
  it "loads the restored file's content" do
351
- expect(subject.title).to eql(["Greetings Earthlings"])
351
+ expect(desc_metadata.title).to eql(["Greetings Earthlings"])
352
352
  end
353
353
 
354
354
  it "is the same size as the original file" do
355
- expect(subject.size).to eq @original_size
355
+ expect(desc_metadata.size).to eq @original_size
356
356
  end
357
357
 
358
358
  context "and creating additional versions" do
359
359
  before do
360
- subject.title = "Now, surrender and prepare to be boarded"
361
- subject.save
362
- subject.create_version
360
+ desc_metadata.title = "Now, surrender and prepare to be boarded"
361
+ desc_metadata.save
362
+ desc_metadata.create_version
363
363
  end
364
364
 
365
365
  it "has three unique versions" do
366
- expect(subject.versions.all.size).to eq 3
366
+ expect(desc_metadata.versions.all.size).to eq 3
367
367
  end
368
368
 
369
369
  it "has a new title" do
370
- expect(subject.title).to eql(["Now, surrender and prepare to be boarded"])
370
+ expect(desc_metadata.title).to eql(["Now, surrender and prepare to be boarded"])
371
371
  end
372
372
 
373
373
  it "has a new size" do
374
- expect(subject.size).to_not eq @original_size
374
+ expect(desc_metadata.size).to_not eq @original_size
375
375
  end
376
376
  end
377
377
  end
@@ -395,7 +395,7 @@ describe ActiveFedora::Versionable do
395
395
  Object.send(:remove_const, :BinaryDatastream)
396
396
  end
397
397
 
398
- subject { test_object.content }
398
+ let(:content) { test_object.content }
399
399
 
400
400
  let(:current_year) { DateTime.now.year.to_s }
401
401
 
@@ -404,7 +404,7 @@ describe ActiveFedora::Versionable do
404
404
 
405
405
  context "before creating the file" do
406
406
  it "does not have versions" do
407
- expect(subject.versions).to be_empty
407
+ expect(content.versions).to be_empty
408
408
  end
409
409
  end
410
410
 
@@ -412,48 +412,48 @@ describe ActiveFedora::Versionable do
412
412
  let(:first_file) { File.new(File.join(File.dirname(__FILE__), "../fixtures/dino.jpg")) }
413
413
  let(:first_name) { "dino.jpg" }
414
414
  before do
415
- subject.content = first_file
416
- subject.original_name = first_name
417
- subject.save
418
- subject.create_version
415
+ content.content = first_file
416
+ content.original_name = first_name
417
+ content.save
418
+ content.create_version
419
419
  end
420
420
 
421
421
  it "links to versions endpoint" do
422
- expect(subject.metadata.ldp_source.graph.query(predicate: ::RDF::Vocab::Fcrepo4.hasVersions).objects).to_not be_empty
422
+ expect(content.metadata.ldp_source.graph.query(predicate: ::RDF::Vocab::Fcrepo4.hasVersions).objects).to_not be_empty
423
423
  end
424
424
 
425
425
  it "has one version" do
426
- expect(subject.versions.all.size).to eq 1
427
- expect(subject.original_name).to eql(first_name)
428
- expect(subject.content.size).to eq first_file.size
429
- expect(subject.versions.first.label).to eql "version1"
430
- expect(subject.versions.first.created).to start_with current_year
426
+ expect(content.versions.all.size).to eq 1
427
+ expect(content.original_name).to eql(first_name)
428
+ expect(content.content.size).to eq first_file.size
429
+ expect(content.versions.first.label).to eql "version1"
430
+ expect(content.versions.first.created).to start_with current_year
431
431
  end
432
432
 
433
433
  context "two times" do
434
434
  let(:second_file) { File.new(File.join(File.dirname(__FILE__), "../fixtures/minivan.jpg")) }
435
435
  let(:second_name) { "minivan.jpg" }
436
436
  before do
437
- subject.content = second_file
438
- subject.original_name = second_name
439
- subject.save
440
- subject.create_version
437
+ content.content = second_file
438
+ content.original_name = second_name
439
+ content.save
440
+ content.create_version
441
441
  end
442
442
 
443
443
  it "has two unique versions" do
444
- expect(subject.versions.all.size).to eq 2
445
- expect(subject.original_name).to eql(second_name)
446
- expect(subject.content.size).to eq second_file.size
447
- subject.versions.all.each_index do |index|
448
- expect(subject.versions.all[index].label).to end_with "version" + (index + 1).to_s
449
- expect(subject.versions.all[index].created).to start_with current_year
444
+ expect(content.versions.all.size).to eq 2
445
+ expect(content.original_name).to eql(second_name)
446
+ expect(content.content.size).to eq second_file.size
447
+ content.versions.all.each_index do |index|
448
+ expect(content.versions.all[index].label).to end_with "version" + (index + 1).to_s
449
+ expect(content.versions.all[index].created).to start_with current_year
450
450
  end
451
451
  end
452
452
 
453
453
  context "with fixity checking" do
454
454
  let(:results) do
455
455
  results = []
456
- subject.versions.all.each do |version|
456
+ content.versions.all.each do |version|
457
457
  results << ActiveFedora::FixityService.new(version.uri).check
458
458
  end
459
459
  return results
@@ -469,36 +469,36 @@ describe ActiveFedora::Versionable do
469
469
  context "then restoring" do
470
470
  let(:first_version) { "version1" }
471
471
  before do
472
- subject.restore_version(first_version)
472
+ content.restore_version(first_version)
473
473
  end
474
474
 
475
475
  it "stills have two unique versions" do
476
- expect(subject.versions.all.size).to eq 2
476
+ expect(content.versions.all.size).to eq 2
477
477
  end
478
478
 
479
479
  it "loads the restored file's content" do
480
- expect(subject.content.size).to eq first_file.size
480
+ expect(content.content.size).to eq first_file.size
481
481
  end
482
482
 
483
483
  it "loads the restored file's original name" do
484
- expect(subject.original_name).to eql(first_name)
484
+ expect(content.original_name).to eql(first_name)
485
485
  end
486
486
 
487
487
  context "and creating additional versions" do
488
488
  before do
489
- subject.content = first_file
490
- subject.original_name = first_name
491
- subject.save
492
- subject.create_version
489
+ content.content = first_file
490
+ content.original_name = first_name
491
+ content.save
492
+ content.create_version
493
493
  end
494
494
 
495
495
  it "has three unique versions" do
496
- expect(subject.versions.all.size).to eq 3
497
- expect(subject.original_name).to eql(first_name)
498
- expect(subject.content.size).to eq first_file.size
499
- subject.versions.all.each_index do |index|
500
- expect(subject.versions.all[index].label).to end_with "version" + (index + 1).to_s
501
- expect(subject.versions.all[index].created).to start_with current_year
496
+ expect(content.versions.all.size).to eq 3
497
+ expect(content.original_name).to eql(first_name)
498
+ expect(content.content.size).to eq first_file.size
499
+ content.versions.all.each_index do |index|
500
+ expect(content.versions.all[index].label).to end_with "version" + (index + 1).to_s
501
+ expect(content.versions.all[index].created).to start_with current_year
502
502
  end
503
503
  end
504
504
  end