active-fedora 8.2.1 → 8.2.2

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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/active-fedora.gemspec +1 -2
  3. data/lib/active_fedora/datastream_collections.rb +4 -8
  4. data/lib/active_fedora/datastreams.rb +7 -9
  5. data/lib/active_fedora/version.rb +1 -1
  6. data/spec/config_helper.rb +3 -3
  7. data/spec/integration/associations_spec.rb +76 -76
  8. data/spec/integration/auditable_spec.rb +7 -7
  9. data/spec/integration/autosave_association_spec.rb +3 -3
  10. data/spec/integration/base_spec.rb +51 -51
  11. data/spec/integration/belongs_to_association_spec.rb +27 -27
  12. data/spec/integration/bug_spec.rb +1 -1
  13. data/spec/integration/collection_association_spec.rb +2 -2
  14. data/spec/integration/complex_rdf_datastream_spec.rb +32 -32
  15. data/spec/integration/datastream_collections_spec.rb +42 -42
  16. data/spec/integration/datastream_spec.rb +19 -19
  17. data/spec/integration/datastreams_spec.rb +25 -25
  18. data/spec/integration/delete_all_spec.rb +5 -5
  19. data/spec/integration/fedora_solr_sync_spec.rb +1 -1
  20. data/spec/integration/full_featured_model_spec.rb +9 -9
  21. data/spec/integration/has_and_belongs_to_many_associations_spec.rb +46 -47
  22. data/spec/integration/has_many_associations_spec.rb +17 -17
  23. data/spec/integration/json_serialization_spec.rb +2 -2
  24. data/spec/integration/load_from_solr_spec.rb +1 -1
  25. data/spec/integration/model_spec.rb +9 -9
  26. data/spec/integration/nested_attribute_spec.rb +17 -17
  27. data/spec/integration/ntriples_datastream_spec.rb +43 -43
  28. data/spec/integration/om_datastream_spec.rb +37 -37
  29. data/spec/integration/persistence_spec.rb +1 -1
  30. data/spec/integration/rdf_nested_attributes_spec.rb +9 -9
  31. data/spec/integration/relation_delegation_spec.rb +7 -7
  32. data/spec/integration/relation_spec.rb +2 -2
  33. data/spec/integration/rels_ext_datastream_spec.rb +3 -3
  34. data/spec/integration/scoped_query_spec.rb +14 -14
  35. data/spec/integration/solr_service_spec.rb +24 -24
  36. data/spec/support/mock_fedora.rb +9 -10
  37. data/spec/unit/active_fedora_spec.rb +20 -20
  38. data/spec/unit/attributes_spec.rb +24 -24
  39. data/spec/unit/base_active_model_spec.rb +6 -6
  40. data/spec/unit/base_cma_spec.rb +2 -2
  41. data/spec/unit/base_datastream_management_spec.rb +7 -7
  42. data/spec/unit/base_extra_spec.rb +20 -20
  43. data/spec/unit/base_spec.rb +141 -141
  44. data/spec/unit/builder/has_and_belongs_to_many_spec.rb +1 -1
  45. data/spec/unit/callback_spec.rb +12 -12
  46. data/spec/unit/code_configurator_spec.rb +7 -7
  47. data/spec/unit/config_spec.rb +2 -2
  48. data/spec/unit/content_model_spec.rb +19 -20
  49. data/spec/unit/core_spec.rb +1 -1
  50. data/spec/unit/datastream_collections_spec.rb +101 -101
  51. data/spec/unit/datastream_spec.rb +12 -12
  52. data/spec/unit/datastreams_spec.rb +39 -39
  53. data/spec/unit/file_configurator_spec.rb +117 -117
  54. data/spec/unit/has_and_belongs_to_many_collection_spec.rb +16 -16
  55. data/spec/unit/has_many_collection_spec.rb +5 -5
  56. data/spec/unit/inheritance_spec.rb +5 -5
  57. data/spec/unit/model_spec.rb +5 -5
  58. data/spec/unit/nom_datastream_spec.rb +5 -5
  59. data/spec/unit/ntriples_datastream_spec.rb +56 -56
  60. data/spec/unit/om_datastream_spec.rb +99 -99
  61. data/spec/unit/persistence_spec.rb +2 -2
  62. data/spec/unit/predicates_spec.rb +28 -28
  63. data/spec/unit/property_spec.rb +5 -5
  64. data/spec/unit/qualified_dublin_core_datastream_spec.rb +10 -10
  65. data/spec/unit/query_spec.rb +66 -66
  66. data/spec/unit/rdf_datastream_spec.rb +10 -10
  67. data/spec/unit/rdf_resource_datastream_spec.rb +2 -2
  68. data/spec/unit/rdf_xml_writer_spec.rb +3 -3
  69. data/spec/unit/rdfxml_rdf_datastream_spec.rb +9 -9
  70. data/spec/unit/relationship_graph_spec.rb +31 -31
  71. data/spec/unit/reload_on_save_spec.rb +3 -3
  72. data/spec/unit/rels_ext_datastream_spec.rb +28 -28
  73. data/spec/unit/rspec_matchers/belong_to_associated_active_fedora_object_matcher_spec.rb +11 -11
  74. data/spec/unit/rspec_matchers/have_many_associated_active_fedora_objects_matcher_spec.rb +11 -11
  75. data/spec/unit/rspec_matchers/have_predicate_matcher_spec.rb +11 -11
  76. data/spec/unit/rspec_matchers/match_fedora_datastream_matcher_spec.rb +7 -7
  77. data/spec/unit/rubydora_connection_spec.rb +3 -3
  78. data/spec/unit/semantic_node_spec.rb +17 -17
  79. data/spec/unit/serializers_spec.rb +1 -1
  80. data/spec/unit/service_definitions_spec.rb +11 -11
  81. data/spec/unit/simple_datastream_spec.rb +6 -6
  82. data/spec/unit/solr_config_options_spec.rb +10 -10
  83. data/spec/unit/solr_digital_object_spec.rb +4 -4
  84. data/spec/unit/solr_service_spec.rb +41 -41
  85. data/spec/unit/unsaved_digital_object_spec.rb +8 -8
  86. data/spec/unit/validations_spec.rb +6 -6
  87. metadata +4 -4
@@ -3,8 +3,8 @@ require 'spec_helper'
3
3
 
4
4
  describe ActiveFedora::RDFDatastream do
5
5
  describe "a new instance" do
6
- its(:metadata?) { should be_true}
7
- its(:content_changed?) { should be_false}
6
+ its(:metadata?) { should be_truthy}
7
+ its(:content_changed?) { should be_falsey}
8
8
  end
9
9
  describe "an instance that exists in the datastore, but hasn't been loaded" do
10
10
  before do
@@ -27,30 +27,30 @@ describe ActiveFedora::RDFDatastream do
27
27
  end
28
28
  subject { @obj.descMetadata }
29
29
  it "should not load the descMetadata datastream when calling content_changed?" do
30
- @obj.inner_object.repository.should_not_receive(:datastream_dissemination).with(hash_including(:dsid=>'descMetadata'))
31
- subject.should_not be_content_changed
30
+ expect(@obj.inner_object.repository).not_to receive(:datastream_dissemination).with(hash_including(:dsid=>'descMetadata'))
31
+ expect(subject).not_to be_content_changed
32
32
  end
33
33
 
34
34
  it "should allow asserting an empty string" do
35
35
  subject.title = ['']
36
- subject.title.should == ['']
36
+ expect(subject.title).to eq([''])
37
37
  end
38
38
 
39
39
  describe "when multivalue: false" do
40
40
  it "should return single values" do
41
41
  subject.description = 'my description'
42
- subject.description.should == 'my description'
42
+ expect(subject.description).to eq('my description')
43
43
  end
44
44
  end
45
45
 
46
46
  it "should clear stuff" do
47
47
  subject.title = ['one', 'two', 'three']
48
48
  subject.title.clear
49
- subject.graph.query([subject.rdf_subject, RDF::DC.title, nil]).first.should be_nil
49
+ expect(subject.graph.query([subject.rdf_subject, RDF::DC.title, nil]).first).to be_nil
50
50
  end
51
51
 
52
52
  it "should have a list of fields" do
53
- MyDatastream.fields.should == [:title, :description]
53
+ expect(MyDatastream.fields).to eq([:title, :description])
54
54
  end
55
55
  end
56
56
 
@@ -98,8 +98,8 @@ describe ActiveFedora::RDFDatastream do
98
98
  describe 'legacy non-utf-8 characters' do
99
99
  let(:ds) do
100
100
  datastream = ActiveFedora::NtriplesRDFDatastream.new
101
- datastream.stub(:new?).and_return(false)
102
- datastream.stub(:datastream_content).and_return("<info:fedora/scholarsphere:qv33rx50r> <http://purl.org/dc/terms/description> \"\\n\xE2\x80\x99 \" .\n".force_encoding('ASCII-8BIT'))
101
+ allow(datastream).to receive(:new?).and_return(false)
102
+ allow(datastream).to receive(:datastream_content).and_return("<info:fedora/scholarsphere:qv33rx50r> <http://purl.org/dc/terms/description> \"\\n\xE2\x80\x99 \" .\n".force_encoding('ASCII-8BIT'))
103
103
  datastream
104
104
  end
105
105
  it "should not error on access" do
@@ -159,7 +159,7 @@ describe ActiveFedora::RDFDatastream do
159
159
  context "persisted to repository" do
160
160
  before do
161
161
  DummySubnode.configure :repository => :default
162
- DummySubnode.any_instance.stub(:repository).and_return(RDF::Repository.new)
162
+ allow_any_instance_of(DummySubnode).to receive(:repository).and_return(RDF::Repository.new)
163
163
  dummy = DummySubnode.new(RDF::URI('http://example.org/dummy/blah'))
164
164
  dummy.title = ['subbla']
165
165
  # We want to have to manually persist to the repository.
@@ -311,7 +311,7 @@ describe ActiveFedora::RDFDatastream do
311
311
  end
312
312
 
313
313
  it 'lets me specify a resource class' do
314
- expect(DummyResource.resource_class < DummyATResource).to be_true
314
+ expect(DummyResource.resource_class < DummyATResource).to eq true
315
315
  end
316
316
 
317
317
  it 'creates underlying resource of type resource_class' do
@@ -35,7 +35,7 @@ describe ActiveFedora::RDFXMLWriter do
35
35
  writer << statement
36
36
  end
37
37
  end
38
- content.should be_equivalent_to @rdf_xml_with_type
38
+ expect(content).to be_equivalent_to @rdf_xml_with_type
39
39
  end
40
40
 
41
41
  it 'should serialize graphs without rdf:type equivalently to RDF::RDFXML::Writer' do
@@ -57,7 +57,7 @@ describe ActiveFedora::RDFXMLWriter do
57
57
  writer << statement
58
58
  end
59
59
  end
60
- EquivalentXml.equivalent?(local_content, @rdf_xml).should be_true
61
- EquivalentXml.equivalent?(local_content, generic_content).should be_true
60
+ expect(EquivalentXml.equivalent?(local_content, @rdf_xml)).to be_truthy
61
+ expect(EquivalentXml.equivalent?(local_content, generic_content)).to be_truthy
62
62
  end
63
63
  end
@@ -7,14 +7,14 @@ describe ActiveFedora::RdfxmlRDFDatastream do
7
7
  property :publisher, :predicate => RDF::DC.publisher
8
8
  end
9
9
  @subject = MyRdfxmlDatastream.new(@inner_object, 'mixed_rdf')
10
- @subject.stub(:pid => 'test:1')
10
+ allow(@subject).to receive_messages(:pid => 'test:1')
11
11
  end
12
12
  after(:each) do
13
13
  Object.send(:remove_const, :MyRdfxmlDatastream)
14
14
  end
15
15
  it "should save and reload" do
16
16
  @subject.publisher = ["St. Martin's Press"]
17
- @subject.serialize.should =~ /<rdf:RDF/
17
+ expect(@subject.serialize).to match(/<rdf:RDF/)
18
18
  end
19
19
  end
20
20
 
@@ -79,7 +79,7 @@ describe ActiveFedora::RdfxmlRDFDatastream do
79
79
  describe "a new instance" do
80
80
  subject { MyDatastream.new(double('inner object', :pid=>'test:1', :new_record? =>true), 'descMetadata', about:"http://library.ucsd.edu/ark:/20775/") }
81
81
  it "should have a subject" do
82
- subject.rdf_subject.to_s.should == "http://library.ucsd.edu/ark:/20775/"
82
+ expect(subject.rdf_subject.to_s).to eq("http://library.ucsd.edu/ark:/20775/")
83
83
  end
84
84
 
85
85
  end
@@ -91,20 +91,20 @@ describe ActiveFedora::RdfxmlRDFDatastream do
91
91
  subject
92
92
  end
93
93
  it "should have a subject" do
94
- subject.rdf_subject.to_s.should == "http://library.ucsd.edu/ark:/20775/"
94
+ expect(subject.rdf_subject.to_s).to eq("http://library.ucsd.edu/ark:/20775/")
95
95
  end
96
96
  it "should have controlGroup" do
97
- subject.controlGroup.should == 'M'
97
+ expect(subject.controlGroup).to eq('M')
98
98
  end
99
99
  it "should have mimeType" do
100
- subject.mimeType.should == 'text/xml'
100
+ expect(subject.mimeType).to eq('text/xml')
101
101
  end
102
102
  it "should have dsid" do
103
- subject.dsid.should == 'descMetadata'
103
+ expect(subject.dsid).to eq('descMetadata')
104
104
  end
105
105
  it "should have fields" do
106
- subject.resource_type.should == ["image"]
107
- subject.title.first.value.should == ["example title"]
106
+ expect(subject.resource_type).to eq(["image"])
107
+ expect(subject.title.first.value).to eq(["example title"])
108
108
  end
109
109
  end
110
110
  end
@@ -4,17 +4,17 @@ describe ActiveFedora::RelationshipGraph do
4
4
  before do
5
5
  @graph = ActiveFedora::RelationshipGraph.new
6
6
  @n1 = ActiveFedora::Base.new()
7
- @n1.stub(:pid => 'foo:777')
7
+ allow(@n1).to receive_messages(:pid => 'foo:777')
8
8
  end
9
9
 
10
10
  describe "#relationships" do
11
11
  it "should have hash accessors" do
12
- @graph.should respond_to(:[])
12
+ expect(@graph).to respond_to(:[])
13
13
  end
14
14
 
15
15
  it "should initialize new relation keys" do
16
- @graph[:has_description].should be_empty
17
- @graph[:has_description].should respond_to(:<<)
16
+ expect(@graph[:has_description]).to be_empty
17
+ expect(@graph[:has_description]).to respond_to(:<<)
18
18
  end
19
19
 
20
20
  end
@@ -22,94 +22,94 @@ describe ActiveFedora::RelationshipGraph do
22
22
  it "should add relationships" do
23
23
  @n2 = ActiveFedora::Base.new
24
24
  @graph.add(:has_part, @n1)
25
- @graph[:has_part].should == [@n1]
25
+ expect(@graph[:has_part]).to eq([@n1])
26
26
  @graph.add(:has_part, @n2)
27
- @graph[:has_part].should == [@n1, @n2]
27
+ expect(@graph[:has_part]).to eq([@n1, @n2])
28
28
  @graph.add(:has_part, @n2)
29
- @graph[:has_part].should == [@n1, @n2]
30
- @graph.dirty.should be_true
29
+ expect(@graph[:has_part]).to eq([@n1, @n2])
30
+ expect(@graph.dirty).to be_truthy
31
31
  end
32
32
 
33
33
  it "should create a rdf graph" do
34
34
  graph = @graph.to_graph('info:fedora/foo:1')
35
- graph.should be_kind_of RDF::Graph
36
- graph.statements.to_a.should == []
35
+ expect(graph).to be_kind_of RDF::Graph
36
+ expect(graph.statements.to_a).to eq([])
37
37
 
38
38
  @graph.add(:has_part, @n1)
39
39
  graph = @graph.to_graph('info:fedora/foo:1')
40
40
  stmts = graph.statements.to_a
41
- stmts.size.should == 1
41
+ expect(stmts.size).to eq(1)
42
42
  stmt = stmts.first
43
- stmt.subject.to_s.should == 'info:fedora/foo:1'
44
- stmt.predicate.to_s.should == 'info:fedora/fedora-system:def/relations-external#hasPart'
45
- stmt.object.to_s.should == 'info:fedora/foo:777'
43
+ expect(stmt.subject.to_s).to eq('info:fedora/foo:1')
44
+ expect(stmt.predicate.to_s).to eq('info:fedora/fedora-system:def/relations-external#hasPart')
45
+ expect(stmt.object.to_s).to eq('info:fedora/foo:777')
46
46
 
47
47
  end
48
48
 
49
49
  it "should have array accessor" do
50
50
  @graph.add(:has_part, @n1)
51
- @graph[:has_part].should == [@n1]
51
+ expect(@graph[:has_part]).to eq([@n1])
52
52
  end
53
53
 
54
54
  describe "has_predicate?" do
55
55
  it "should return true when it has it" do
56
- @graph.has_predicate?(:has_part).should be_false
56
+ expect(@graph.has_predicate?(:has_part)).to be_falsey
57
57
  @graph.add(:has_part, @n1)
58
- @graph.has_predicate?(:has_part).should be_true
58
+ expect(@graph.has_predicate?(:has_part)).to be_truthy
59
59
  end
60
60
  end
61
61
 
62
62
  describe "delete" do
63
63
  it "should delete an object when an object is passed" do
64
64
  @graph.add(:has_part, @n1)
65
- @graph[:has_part].should == [@n1]
65
+ expect(@graph[:has_part]).to eq([@n1])
66
66
  @graph.delete(:has_part, @n1)
67
- @graph[:has_part].should == []
67
+ expect(@graph[:has_part]).to eq([])
68
68
  end
69
69
  it "should delete an pid when an object is passed" do
70
70
  #a reloaded rels-ext is just a list of uris, not inflated.
71
71
  @graph.add(:has_part, 'info:fedora/foo:777')
72
- @graph[:has_part].should == ['info:fedora/foo:777']
72
+ expect(@graph[:has_part]).to eq(['info:fedora/foo:777'])
73
73
  @graph.delete(:has_part, @n1)
74
- @graph[:has_part].should == []
74
+ expect(@graph[:has_part]).to eq([])
75
75
  end
76
76
  it "should delete an pid when a string is passed" do
77
77
  #a reloaded rels-ext is just a list of uris, not inflated.
78
78
  @graph.add(:has_part, 'info:fedora/foo:777')
79
- @graph[:has_part].should == ['info:fedora/foo:777']
79
+ expect(@graph[:has_part]).to eq(['info:fedora/foo:777'])
80
80
  @graph.delete(:has_part, 'info:fedora/foo:777')
81
- @graph[:has_part].should == []
81
+ expect(@graph[:has_part]).to eq([])
82
82
  end
83
83
  it "should delete an object when a pid is passed" do
84
84
  #a reloaded rels-ext is just a list of uris, not inflated.
85
85
  @graph.add(:has_part, @n1)
86
- @graph[:has_part].should == [@n1]
86
+ expect(@graph[:has_part]).to eq([@n1])
87
87
  @graph.delete(:has_part, 'info:fedora/foo:777')
88
- @graph[:has_part].should == []
88
+ expect(@graph[:has_part]).to eq([])
89
89
  end
90
90
 
91
91
  it "should delete all the predicates if only one arg is passed" do
92
92
  @graph.add(:has_part, @n1)
93
- @graph[:has_part].should == [@n1]
93
+ expect(@graph[:has_part]).to eq([@n1])
94
94
  @graph.delete(:has_part)
95
- @graph.has_predicate?(:has_part).should_not be_true
95
+ expect(@graph.has_predicate?(:has_part)).not_to be_truthy
96
96
  end
97
97
  end
98
98
  describe "build_statement" do
99
99
  it "should raise an error when the target is a pid, not a uri" do
100
- lambda { @graph.build_statement('info:fedora/spec:9', :is_part_of, 'spec:7') }.should raise_error ArgumentError
100
+ expect { @graph.build_statement('info:fedora/spec:9', :is_part_of, 'spec:7') }.to raise_error ArgumentError
101
101
  end
102
102
  it "should run the happy path" do
103
103
  stm = @graph.build_statement('info:fedora/spec:9', :is_part_of, 'info:fedora/spec:7')
104
- stm.object.to_s.should == "info:fedora/spec:7"
104
+ expect(stm.object.to_s).to eq("info:fedora/spec:7")
105
105
  end
106
106
  it "should also be happy with non-info URIs" do
107
107
  stm = @graph.build_statement('info:fedora/spec:9', :is_annotation_of, 'http://www.w3.org/standards/techs/rdf')
108
- stm.object.to_s.should == "http://www.w3.org/standards/techs/rdf"
108
+ expect(stm.object.to_s).to eq("http://www.w3.org/standards/techs/rdf")
109
109
  end
110
110
  it "should also be happy with targets that are URI::Generics" do
111
111
  stm = @graph.build_statement('info:fedora/spec:9', :is_annotation_of, URI.parse('http://www.w3.org/standards/techs/rdf'))
112
- stm.object.to_s.should == "http://www.w3.org/standards/techs/rdf"
112
+ expect(stm.object.to_s).to eq("http://www.w3.org/standards/techs/rdf")
113
113
  end
114
114
  end
115
115
  end
@@ -4,19 +4,19 @@ describe ActiveFedora::ReloadOnSave do
4
4
  let(:file) { ActiveFedora::Base.new }
5
5
 
6
6
  it 'defaults to call not reload' do
7
- file.should_not_receive(:reload)
7
+ expect(file).not_to receive(:reload)
8
8
  file.save
9
9
  end
10
10
 
11
11
  it 'reload can be turned on' do
12
12
  file.reload_on_save = true
13
- file.should_receive(:reload)
13
+ expect(file).to receive(:reload)
14
14
  file.save
15
15
  end
16
16
 
17
17
  it 'allows reload to be turned off and on' do
18
18
  file.reload_on_save = true
19
- file.should_receive(:reload).once
19
+ expect(file).to receive(:reload).once
20
20
  file.save
21
21
  file.reload_on_save = false
22
22
  file.save
@@ -10,30 +10,30 @@ describe ActiveFedora::RelsExtDatastream do
10
10
  before(:each) do
11
11
  mock_inner = double('inner object')
12
12
  @mock_repo = double('repository')
13
- @mock_repo.stub(:datastream_dissemination=>'My Content', :config=>{})
14
- mock_inner.stub(:repository).and_return(@mock_repo)
15
- mock_inner.stub(:pid).and_return(@pid)
13
+ allow(@mock_repo).to receive_messages(:datastream_dissemination=>'My Content', :config=>{})
14
+ allow(mock_inner).to receive(:repository).and_return(@mock_repo)
15
+ allow(mock_inner).to receive(:pid).and_return(@pid)
16
16
  @test_ds = ActiveFedora::RelsExtDatastream.new(mock_inner, "RELS-EXT")
17
- @test_ds.stub(:profile).and_return({})
17
+ allow(@test_ds).to receive(:profile).and_return({})
18
18
  end
19
19
 
20
- its(:metadata?) { should be_true}
20
+ its(:metadata?) { should be_truthy}
21
21
  its(:controlGroup) { should == "X"}
22
22
 
23
23
  describe "#mimeType" do
24
24
  it 'should use the application/rdf+xml mime type' do
25
- @test_ds.mimeType.should == 'application/rdf+xml'
25
+ expect(@test_ds.mimeType).to eq('application/rdf+xml')
26
26
  end
27
27
  end
28
28
 
29
29
  describe "#changed?" do
30
30
  it "should be false when no changes have been made" do
31
31
  subject.model = double(:relationships_are_dirty? => false)
32
- subject.changed?.should == false
32
+ expect(subject.changed?).to eq(false)
33
33
  end
34
34
  it "should be true when the model has changes" do
35
35
  subject.model = double(:relationships_are_dirty? => true)
36
- subject.changed?.should == true
36
+ expect(subject.changed?).to eq(true)
37
37
  end
38
38
  end
39
39
 
@@ -45,9 +45,9 @@ describe ActiveFedora::RelsExtDatastream do
45
45
  subject = RDF::URI.new "info:fedora/test:sample_pid"
46
46
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:is_member_of), RDF::URI.new('demo:10'))
47
47
 
48
- @test_ds.stub(:new? => true, :relationships => graph, :model => double(:relationships_are_dirty? =>true, :relationships_are_not_dirty! => true))
48
+ allow(@test_ds).to receive_messages(:new? => true, :relationships => graph, :model => double(:relationships_are_dirty? =>true, :relationships_are_not_dirty! => true))
49
49
  @test_ds.serialize!
50
- EquivalentXml.equivalent?(@test_ds.content, "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>\n <rdf:Description rdf:about='info:fedora/test:sample_pid'>\n <isMemberOf rdf:resource='demo:10' xmlns='info:fedora/fedora-system:def/relations-external#'/></rdf:Description>\n </rdf:RDF>").should be_true
50
+ expect(EquivalentXml.equivalent?(@test_ds.content, "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>\n <rdf:Description rdf:about='info:fedora/test:sample_pid'>\n <isMemberOf rdf:resource='demo:10' xmlns='info:fedora/fedora-system:def/relations-external#'/></rdf:Description>\n </rdf:RDF>")).to be_truthy
51
51
  end
52
52
 
53
53
  end
@@ -78,8 +78,8 @@ describe ActiveFedora::RelsExtDatastream do
78
78
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:OtherModel"))
79
79
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:SampleModel"))
80
80
 
81
- @test_ds.should_receive(:model).and_return(double("model", :relationships=>graph, :relationships_are_dirty= => true))
82
- EquivalentXml.equivalent?(@test_ds.to_rels_ext(), @sample_rels_ext_xml).should be_true
81
+ expect(@test_ds).to receive(:model).and_return(double("model", :relationships=>graph, :relationships_are_dirty= => true))
82
+ expect(EquivalentXml.equivalent?(@test_ds.to_rels_ext(), @sample_rels_ext_xml)).to be_truthy
83
83
  end
84
84
 
85
85
  it 'should use mapped namespace prefixes when given' do
@@ -91,21 +91,21 @@ describe ActiveFedora::RelsExtDatastream do
91
91
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:OtherModel"))
92
92
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:SampleModel"))
93
93
 
94
- @test_ds.stub(:model).and_return(double("model", :relationships=>graph, :relationships_are_dirty= => true))
94
+ allow(@test_ds).to receive(:model).and_return(double("model", :relationships=>graph, :relationships_are_dirty= => true))
95
95
  rels = @test_ds.to_rels_ext()
96
- EquivalentXml.equivalent?(rels, @sample_rels_ext_xml).should be_true
97
- rels.should_not =~ /fedora:isMemberOf/
98
- rels.should_not =~ /fedora-model:hasModel/
99
- rels.should =~ /ns\d:isMemberOf/
100
- rels.should =~ /ns\d:hasModel/
96
+ expect(EquivalentXml.equivalent?(rels, @sample_rels_ext_xml)).to be_truthy
97
+ expect(rels).not_to match(/fedora:isMemberOf/)
98
+ expect(rels).not_to match(/fedora-model:hasModel/)
99
+ expect(rels).to match(/ns\d:isMemberOf/)
100
+ expect(rels).to match(/ns\d:hasModel/)
101
101
 
102
102
  ActiveFedora::Predicates.predicate_config[:predicate_namespaces] = {:"fedora-model"=>"info:fedora/fedora-system:def/model#", :fedora=>"info:fedora/fedora-system:def/relations-external#"}
103
103
  rels = @test_ds.to_rels_ext()
104
- EquivalentXml.equivalent?(rels, @sample_rels_ext_xml).should be_true
105
- rels.should =~ /fedora:isMemberOf/
106
- rels.should =~ /fedora-model:hasModel/
107
- rels.should_not =~ /ns\d:isMemberOf/
108
- rels.should_not =~ /ns\d:hasModel/
104
+ expect(EquivalentXml.equivalent?(rels, @sample_rels_ext_xml)).to be_truthy
105
+ expect(rels).to match(/fedora:isMemberOf/)
106
+ expect(rels).to match(/fedora-model:hasModel/)
107
+ expect(rels).not_to match(/ns\d:isMemberOf/)
108
+ expect(rels).not_to match(/ns\d:hasModel/)
109
109
  ActiveFedora::Predicates.predicate_config[:predicate_namespaces] = nil
110
110
  end
111
111
 
@@ -125,8 +125,8 @@ describe ActiveFedora::RelsExtDatastream do
125
125
  it "should handle un-mapped predicates gracefully" do
126
126
  @test_obj.add_relationship("foo", "info:fedora/foo:bar")
127
127
  @test_obj.save
128
- @test_obj.relationships.size.should == 5
129
- @test_obj.ids_for_outbound("foo").should == ["foo:bar"]
128
+ expect(@test_obj.relationships.size).to eq(5)
129
+ expect(@test_obj.ids_for_outbound("foo")).to eq(["foo:bar"])
130
130
  end
131
131
  it "should automatically map un-mapped predicates" do
132
132
  xml = <<-EOS
@@ -144,8 +144,8 @@ describe ActiveFedora::RelsExtDatastream do
144
144
  model = ActiveFedora::Base.new
145
145
  new_ds = ActiveFedora::RelsExtDatastream.new
146
146
  new_ds.model = model
147
- lambda { ActiveFedora::RelsExtDatastream.from_xml(xml, new_ds) }.should_not raise_exception
148
- new_ds.to_rels_ext.should =~ /missing:hasOtherRelationship/
147
+ expect { ActiveFedora::RelsExtDatastream.from_xml(xml, new_ds) }.not_to raise_exception
148
+ expect(new_ds.to_rels_ext).to match(/missing:hasOtherRelationship/)
149
149
  end
150
150
  it "should handle un-mapped literals" do
151
151
  xml = "
@@ -162,7 +162,7 @@ describe ActiveFedora::RelsExtDatastream do
162
162
  new_ds.model = model
163
163
  ActiveFedora::RelsExtDatastream.from_xml(xml, new_ds)
164
164
  new_ext = new_ds.to_rels_ext()
165
- new_ext.should match "<ns2:itemID>oai:hull.ac.uk:hull:2708</ns2:itemID>"
165
+ expect(new_ext).to match "<ns2:itemID>oai:hull.ac.uk:hull:2708</ns2:itemID>"
166
166
 
167
167
  end
168
168
  end
@@ -10,17 +10,17 @@ describe RSpec::Matchers, "belong_to_associated_active_fedora_object_matcher" do
10
10
  let(:association) { :association }
11
11
 
12
12
  it 'should match when association is properly stored in fedora' do
13
- subject.class.should_receive(:find).with(pid).and_return(subject)
14
- subject.should_receive(association).and_return(object1)
15
- subject.should belong_to_associated_active_fedora_object(association).with_object(object1)
13
+ expect(subject.class).to receive(:find).with(pid).and_return(subject)
14
+ expect(subject).to receive(association).and_return(object1)
15
+ expect(subject).to belong_to_associated_active_fedora_object(association).with_object(object1)
16
16
  end
17
17
 
18
18
  it 'should not match when association is different' do
19
- subject.class.should_receive(:find).with(pid).and_return(subject)
20
- subject.should_receive(association).and_return(object1)
21
- lambda {
22
- subject.should belong_to_associated_active_fedora_object(association).with_object(object2)
23
- }.should (
19
+ expect(subject.class).to receive(:find).with(pid).and_return(subject)
20
+ expect(subject).to receive(association).and_return(object1)
21
+ expect {
22
+ expect(subject).to belong_to_associated_active_fedora_object(association).with_object(object2)
23
+ }.to (
24
24
  raise_error(
25
25
  RSpec::Expectations::ExpectationNotMetError,
26
26
  /expected #{subject.class} PID=#{pid} association: #{association.inspect}/
@@ -29,9 +29,9 @@ describe RSpec::Matchers, "belong_to_associated_active_fedora_object_matcher" do
29
29
  end
30
30
 
31
31
  it 'should require :with_object option' do
32
- lambda {
33
- subject.should belong_to_associated_active_fedora_object(association)
34
- }.should(
32
+ expect {
33
+ expect(subject).to belong_to_associated_active_fedora_object(association)
34
+ }.to(
35
35
  raise_error(
36
36
  ArgumentError,
37
37
  "subject.should belong_to_associated_active_fedora_object(<association_name>).with_object(<object>)"