active-fedora 8.2.1 → 8.2.2

Sign up to get free protection for your applications and to get access to all the features.
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,7 +3,7 @@ require 'spec_helper'
3
3
  describe ActiveFedora::Associations::Builder::HasAndBelongsToMany do
4
4
  describe "valid_options" do
5
5
  subject { ActiveFedora::Associations::Builder::HasAndBelongsToMany.valid_options }
6
- it { should eq [:class_name, :property, :before_add, :after_add, :before_remove, :after_remove,
6
+ it { is_expected.to eq [:class_name, :property, :before_add, :after_add, :before_remove, :after_remove,
7
7
  :inverse_of, :solr_page_size, :autosave] }
8
8
  end
9
9
  end
@@ -30,22 +30,22 @@ describe ActiveFedora::Base do
30
30
  end
31
31
 
32
32
  it "Should have after_initialize, before_save,after_save, before_create, after_create, after_update, before_update, before_destroy" do
33
- CallbackStub.any_instance.should_receive(:a_init)
34
- CallbackStub.any_instance.should_receive :b_create
35
- CallbackStub.any_instance.should_receive :a_create
36
- CallbackStub.any_instance.should_receive(:b_save)
37
- CallbackStub.any_instance.should_receive(:a_save)
33
+ expect_any_instance_of(CallbackStub).to receive(:a_init)
34
+ expect_any_instance_of(CallbackStub).to receive :b_create
35
+ expect_any_instance_of(CallbackStub).to receive :a_create
36
+ expect_any_instance_of(CallbackStub).to receive(:b_save)
37
+ expect_any_instance_of(CallbackStub).to receive(:a_save)
38
38
  cb = CallbackStub.new :pid => 'test:123'
39
39
  cb.save
40
40
  end
41
41
  it "Should have after_initialize, before_save,after_save, before_create, after_create, after_update, before_update, before_destroy" do
42
- CallbackStub.any_instance.should_receive(:a_init)
43
- CallbackStub.any_instance.should_receive(:b_save)
44
- CallbackStub.any_instance.should_receive(:a_save)
45
- CallbackStub.any_instance.should_receive(:a_find)
46
- CallbackStub.any_instance.should_receive(:b_update)
47
- CallbackStub.any_instance.should_receive(:a_update)
48
- CallbackStub.any_instance.should_receive(:do_stuff)
42
+ expect_any_instance_of(CallbackStub).to receive(:a_init)
43
+ expect_any_instance_of(CallbackStub).to receive(:b_save)
44
+ expect_any_instance_of(CallbackStub).to receive(:a_save)
45
+ expect_any_instance_of(CallbackStub).to receive(:a_find)
46
+ expect_any_instance_of(CallbackStub).to receive(:b_update)
47
+ expect_any_instance_of(CallbackStub).to receive(:a_update)
48
+ expect_any_instance_of(CallbackStub).to receive(:do_stuff)
49
49
 
50
50
  cb2 = CallbackStub.find('test:123')
51
51
  cb2.save
@@ -38,14 +38,14 @@ describe ActiveFedora::FileConfigurator do
38
38
  end
39
39
 
40
40
  it "should initialize from code" do
41
- Psych.should_receive(:load).never
42
- File.should_receive(:exists?).never
43
- File.should_receive(:read).never
44
- File.should_receive(:open).never
41
+ expect(Psych).to receive(:load).never
42
+ expect(File).to receive(:exists?).never
43
+ expect(File).to receive(:read).never
44
+ expect(File).to receive(:open).never
45
45
  ActiveFedora.init(@config_params)
46
- ActiveFedora.fedora_config.credentials.should == @config_params[:fedora_config]
47
- ActiveFedora.solr_config.should == @config_params[:solr_config]
48
- ActiveFedora::Predicates.predicate_mappings['info:fedora/fedora-system:def/relations-external#'].length.should == 1
46
+ expect(ActiveFedora.fedora_config.credentials).to eq(@config_params[:fedora_config])
47
+ expect(ActiveFedora.solr_config).to eq(@config_params[:solr_config])
48
+ expect(ActiveFedora::Predicates.predicate_mappings['info:fedora/fedora-system:def/relations-external#'].length).to eq(1)
49
49
  end
50
50
 
51
51
  end
@@ -5,7 +5,7 @@ describe ActiveFedora::Config do
5
5
  conf = Psych.load(File.read('spec/fixtures/rails_root/config/fedora.yml'))['test']
6
6
  subject { ActiveFedora::Config.new(conf) }
7
7
  its(:credentials) { should == {:url => 'http://testhost.com:8983/fedora', :user=> 'fedoraAdmin', :password=> 'fedoraAdmin'}}
8
- it { should_not be_sharded }
8
+ it { is_expected.not_to be_sharded }
9
9
  end
10
10
  describe "with several fedora shards" do
11
11
  conf = Psych.load(File.read('spec/fixtures/sharded_fedora.yml'))['test']
@@ -13,7 +13,7 @@ describe ActiveFedora::Config do
13
13
  its(:credentials) { should == [{:url => 'http://127.0.0.1:8983/fedora1', :user=> 'fedoraAdmin', :password=> 'fedoraAdmin'},
14
14
  {:url => 'http://127.0.0.1:8983/fedora2', :user=> 'fedoraAdmin', :password=> 'fedoraAdmin'},
15
15
  {:url => 'http://127.0.0.1:8983/fedora3', :user=> 'fedoraAdmin', :password=> 'fedoraAdmin'}]}
16
- it { should be_sharded }
16
+ it { is_expected.to be_sharded }
17
17
  end
18
18
 
19
19
  end
@@ -21,19 +21,19 @@ describe ActiveFedora::ContentModel do
21
21
  describe '.best_model_for' do
22
22
  it 'should be nil if no relationships' do
23
23
  mock_object = BaseModel.new
24
- mock_object.should_receive(:relationships).with(:has_model).and_return([])
24
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return([])
25
25
  expect(ActiveFedora::ContentModel.best_model_for(mock_object)).to be_nil
26
26
  end
27
27
 
28
28
  it 'should be based on inheritance hierarchy' do
29
29
  mock_object = ActiveFedora::Base.new
30
- mock_object.should_receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", 'info:fedora/afmodel:SampleModel', 'info:fedora/afmodel:BaseModel'])
30
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", 'info:fedora/afmodel:SampleModel', 'info:fedora/afmodel:BaseModel'])
31
31
  expect(ActiveFedora::ContentModel.best_model_for(mock_object)).to eq SampleModel
32
32
  end
33
33
 
34
34
  it 'should find the deepest descendant of the on inheritance hierarchy' do
35
35
  mock_object = BaseModel.new
36
- mock_object.should_receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", 'info:fedora/afmodel:SampleModel', 'info:fedora/afmodel:BaseModel'])
36
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", 'info:fedora/afmodel:SampleModel', 'info:fedora/afmodel:BaseModel'])
37
37
  expect(ActiveFedora::ContentModel.best_model_for(mock_object)).to eq SampleModel
38
38
  end
39
39
  end
@@ -41,46 +41,45 @@ describe ActiveFedora::ContentModel do
41
41
  describe "models_asserted_by" do
42
42
  it "should return an array of all of the content models asserted by the given object" do
43
43
  mock_object = double("ActiveFedora Object")
44
- mock_object.should_receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", "info:fedora/afmodel:SampleModel", "info:fedora/afmodel:NonDefinedModel"])
45
- ActiveFedora::ContentModel.models_asserted_by(mock_object).should == ["info:fedora/fedora-system:ServiceDefinition-3.0", "info:fedora/afmodel:SampleModel", "info:fedora/afmodel:NonDefinedModel"]
44
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", "info:fedora/afmodel:SampleModel", "info:fedora/afmodel:NonDefinedModel"])
45
+ expect(ActiveFedora::ContentModel.models_asserted_by(mock_object)).to eq(["info:fedora/fedora-system:ServiceDefinition-3.0", "info:fedora/afmodel:SampleModel", "info:fedora/afmodel:NonDefinedModel"])
46
46
  end
47
47
  it "should return an empty array if the object doesn't have a RELS-EXT datastream" do
48
48
  mock_object = double("ActiveFedora Object")
49
- mock_object.should_receive(:relationships).with(:has_model).and_return([])
50
- ActiveFedora::ContentModel.models_asserted_by(mock_object).should == []
49
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return([])
50
+ expect(ActiveFedora::ContentModel.models_asserted_by(mock_object)).to eq([])
51
51
  end
52
52
  end
53
53
 
54
54
  describe "known_models_asserted_by" do
55
55
  it "should figure out the applicable models to load" do
56
56
  mock_object = double("ActiveFedora Object")
57
- mock_object.should_receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", "info:fedora/afmodel:SampleModel", "info:fedora/afmodel:NonDefinedModel"])
58
- ActiveFedora::ContentModel.known_models_for(mock_object).should == [SampleModel]
57
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return(["info:fedora/fedora-system:ServiceDefinition-3.0", "info:fedora/afmodel:SampleModel", "info:fedora/afmodel:NonDefinedModel"])
58
+ expect(ActiveFedora::ContentModel.known_models_for(mock_object)).to eq([SampleModel])
59
59
  end
60
60
  it "should support namespaced models" do
61
- pending "This is harder than it looks."
62
61
  mock_object = double("ActiveFedora Object")
63
- mock_object.should_receive(:relationships).with(:has_model).and_return(["info:fedora/afmodel:Sample_NamespacedModel"])
64
- ActiveFedora::ContentModel.known_models_for(mock_object).should == [Sample::NamespacedModel]
62
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return(["info:fedora/afmodel:Sample_NamespacedModel"])
63
+ expect(ActiveFedora::ContentModel.known_models_for(mock_object)).to eq([Sample::NamespacedModel])
65
64
  end
66
65
  it "should default to using ActiveFedora::Base as the model" do
67
66
  mock_object = double("ActiveFedora Object")
68
- mock_object.should_receive(:relationships).with(:has_model).and_return(["info:fedora/afmodel:NonDefinedModel"])
69
- ActiveFedora::ContentModel.known_models_for(mock_object).should == [ActiveFedora::Base]
67
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return(["info:fedora/afmodel:NonDefinedModel"])
68
+ expect(ActiveFedora::ContentModel.known_models_for(mock_object)).to eq([ActiveFedora::Base])
70
69
  end
71
70
  it "should still work even if the object doesn't have a RELS-EXT datastream" do
72
71
  mock_object = double("ActiveFedora Object")
73
- mock_object.should_receive(:relationships).with(:has_model).and_return([])
74
- ActiveFedora::ContentModel.known_models_for(mock_object).should == [ActiveFedora::Base]
72
+ expect(mock_object).to receive(:relationships).with(:has_model).and_return([])
73
+ expect(ActiveFedora::ContentModel.known_models_for(mock_object)).to eq([ActiveFedora::Base])
75
74
  end
76
75
  end
77
76
 
78
77
  describe "uri_to_model_class" do
79
78
  it "should return an ActiveFedora Model class corresponding to the given uri if a valid model can be found" do
80
- ActiveFedora::ContentModel.uri_to_model_class("info:fedora/afmodel:SampleModel").should == SampleModel
81
- ActiveFedora::ContentModel.uri_to_model_class("info:fedora/afmodel:NonDefinedModel").should == false
82
- ActiveFedora::ContentModel.uri_to_model_class("info:fedora/afmodel:String").should == false
83
- ActiveFedora::ContentModel.uri_to_model_class("info:fedora/hydra-cModel:genericContent").should == GenericContent
79
+ expect(ActiveFedora::ContentModel.uri_to_model_class("info:fedora/afmodel:SampleModel")).to eq(SampleModel)
80
+ expect(ActiveFedora::ContentModel.uri_to_model_class("info:fedora/afmodel:NonDefinedModel")).to eq(false)
81
+ expect(ActiveFedora::ContentModel.uri_to_model_class("info:fedora/afmodel:String")).to eq(false)
82
+ expect(ActiveFedora::ContentModel.uri_to_model_class("info:fedora/hydra-cModel:genericContent")).to eq(GenericContent)
84
83
  end
85
84
  end
86
85
 
@@ -68,7 +68,7 @@ describe ActiveFedora::Base do
68
68
  it "should access associations" do
69
69
  f = Book.find(subject.id)
70
70
  f.freeze
71
- f.library_id.should_not be_nil
71
+ expect(f.library_id).not_to be_nil
72
72
 
73
73
  end
74
74
  end
@@ -15,24 +15,24 @@ describe ActiveFedora::DatastreamCollections do
15
15
  it 'should cache a definition of named datastream and create helper methods to add/remove/access them' do
16
16
  @test_object2 = MockHasDatastream.new
17
17
  #prefix should default to name in caps if not specified in has_datastream call
18
- @test_object2.named_datastreams_desc.should == {"thumbnail"=>{:name=>"thumbnail",:prefix => "THUMB",
18
+ expect(@test_object2.named_datastreams_desc).to eq({"thumbnail"=>{:name=>"thumbnail",:prefix => "THUMB",
19
19
  :type=>"ActiveFedora::Datastream", :mimeType=>"image/jpeg",
20
20
  :controlGroup=>'M'},
21
21
  "EAD"=> {:name=>"EAD", :prefix=>"EAD",
22
22
  :type=>"ActiveFedora::Datastream", :mimeType=>"application/xml",
23
23
  :controlGroup=>'M' },
24
24
  "external"=> {:name=>"external", :prefix=>"EXTERNAL",
25
- :type=>"ActiveFedora::Datastream", :controlGroup=>'E' }}
26
- @test_object2.should respond_to(:thumbnail_append)
27
- @test_object2.should respond_to(:thumbnail_file_append)
28
- @test_object2.should respond_to(:thumbnail)
29
- @test_object2.should respond_to(:thumbnail_ids)
30
- @test_object2.should respond_to(:ead_append)
31
- @test_object2.should respond_to(:ead_file_append)
32
- @test_object2.should respond_to(:EAD)
33
- @test_object2.should respond_to(:EAD_ids)
34
- @test_object2.should respond_to(:external)
35
- @test_object2.should respond_to(:external_ids)
25
+ :type=>"ActiveFedora::Datastream", :controlGroup=>'E' }})
26
+ expect(@test_object2).to respond_to(:thumbnail_append)
27
+ expect(@test_object2).to respond_to(:thumbnail_file_append)
28
+ expect(@test_object2).to respond_to(:thumbnail)
29
+ expect(@test_object2).to respond_to(:thumbnail_ids)
30
+ expect(@test_object2).to respond_to(:ead_append)
31
+ expect(@test_object2).to respond_to(:ead_file_append)
32
+ expect(@test_object2).to respond_to(:EAD)
33
+ expect(@test_object2).to respond_to(:EAD_ids)
34
+ expect(@test_object2).to respond_to(:external)
35
+ expect(@test_object2).to respond_to(:external_ids)
36
36
  end
37
37
  end
38
38
  describe '#datastream_names' do
@@ -46,7 +46,7 @@ describe ActiveFedora::DatastreamCollections do
46
46
 
47
47
  it 'should return a set of datastream names defined by has_datastream' do
48
48
  @test_object2 = MockDatastreamNames.new
49
- @test_object2.datastream_names.should include("thumbnail","EAD")
49
+ expect(@test_object2.datastream_names).to include("thumbnail","EAD")
50
50
  end
51
51
  end
52
52
 
@@ -65,8 +65,8 @@ describe ActiveFedora::DatastreamCollections do
65
65
  @test_object2 = MockAddNamedDatastream.new
66
66
  @f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg"))
67
67
  @f2 = File.new(File.join( File.dirname(__FILE__), "../fixtures/dino.jpg" ))
68
- @f.stub(:content_type).and_return("image/jpeg")
69
- @f2.stub(:original_filename).and_return("dino.jpg")
68
+ allow(@f).to receive(:content_type).and_return("image/jpeg")
69
+ allow(@f2).to receive(:original_filename).and_return("dino.jpg")
70
70
  end
71
71
 
72
72
  it 'cannot add a datastream with name that does not exist' do
@@ -93,16 +93,16 @@ describe ActiveFedora::DatastreamCollections do
93
93
 
94
94
  it "should use the given label for the dsLabel" do
95
95
  @test_object2.add_named_datastream("high",{:content_type=>"image/jpeg",:blob=>@f2, :label=>"my_image"})
96
- @test_object2.high.first.dsLabel.should == "my_image"
96
+ expect(@test_object2.high.first.dsLabel).to eq("my_image")
97
97
  end
98
98
 
99
99
  it "should fallback on using the file name" do
100
100
  @test_object2.add_named_datastream("high",{:content_type=>"image/jpeg",:blob=>@f2})
101
- @test_object2.high.first.dsLabel.should == "dino.jpg"
101
+ expect(@test_object2.high.first.dsLabel).to eq("dino.jpg")
102
102
  end
103
103
 
104
104
  it "should check the file for a content type" do
105
- @f.should_receive(:content_type).and_return("image/jpeg")
105
+ expect(@f).to receive(:content_type).and_return("image/jpeg")
106
106
  @test_object2.add_named_datastream("thumbnail",{:file=>@f})
107
107
  end
108
108
 
@@ -111,7 +111,7 @@ describe ActiveFedora::DatastreamCollections do
111
111
  end
112
112
 
113
113
  it "should encsure mimetype and content type match" do
114
- @f.stub(:content_type).and_return("image/tiff")
114
+ allow(@f).to receive(:content_type).and_return("image/tiff")
115
115
  expect { @test_object2.add_named_datastream("thumbnail",{:file=>f}) }.to raise_error
116
116
  end
117
117
 
@@ -119,12 +119,12 @@ describe ActiveFedora::DatastreamCollections do
119
119
  #check for if any mime type allowed
120
120
  @test_object2.add_named_datastream("anymime",{:file=>@f})
121
121
  #check datastream created is of type ActiveFedora::Datastream
122
- @test_object2.anymime.first.class.should == ActiveFedora::Datastream
122
+ expect(@test_object2.anymime.first.class).to eq(ActiveFedora::Datastream)
123
123
  end
124
124
 
125
125
  it "should cgecj that a dsid forms to the prefix" do
126
126
  #if dsid supplied check that conforms to prefix
127
- @f.stub(:content_type).and_return("image/jpeg")
127
+ allow(@f).to receive(:content_type).and_return("image/jpeg")
128
128
  expect { @test_object2.add_named_datastream("thumbnail",{:file=>@f,:dsid=>"DS1"}) }.to raise_error
129
129
  end
130
130
 
@@ -134,7 +134,7 @@ describe ActiveFedora::DatastreamCollections do
134
134
  #@test_object2.high.first.attributes[:prefix].should == "HIGH"
135
135
  @test_object2.high.first.dsid.match(/HIGH[0-9]/)
136
136
  #check datastreams added with other right properties
137
- @test_object2.high.first.controlGroup.should == "M"
137
+ expect(@test_object2.high.first.controlGroup).to eq("M")
138
138
  end
139
139
 
140
140
  it "should work with external datastreams" do
@@ -142,7 +142,7 @@ describe ActiveFedora::DatastreamCollections do
142
142
  #check external datastream
143
143
  @test_object2.add_named_datastream("external",{:dsLocation=>"http://myreasource.com"})
144
144
  #check dslocation goes to dslabel
145
- @test_object2.external.first.dsLabel.should == "http://myreasource.com"
145
+ expect(@test_object2.external.first.dsLabel).to eq("http://myreasource.com")
146
146
  #check datastreams added to fedora (may want to stub this at first)
147
147
  end
148
148
  end
@@ -162,15 +162,15 @@ describe ActiveFedora::DatastreamCollections do
162
162
  @test_object2 = MockAddNamedFileDatastream.new
163
163
  f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg"))
164
164
  #these normally supplied in multi-part post request
165
- f.stub(:original_filename).and_return("minivan.jpg")
166
- f.stub(:content_type).and_return("image/jpeg")
165
+ allow(f).to receive(:original_filename).and_return("minivan.jpg")
166
+ allow(f).to receive(:content_type).and_return("image/jpeg")
167
167
  @test_object2.add_named_file_datastream("thumbnail",f)
168
168
  thumb = @test_object2.thumbnail.first
169
- thumb.class.should == MockDS
170
- thumb.mimeType.should == "image/jpeg"
171
- thumb.dsid.should == "THUMB1"
172
- thumb.controlGroup.should == "M"
173
- thumb.dsLabel.should == "minivan.jpg"
169
+ expect(thumb.class).to eq(MockDS)
170
+ expect(thumb.mimeType).to eq("image/jpeg")
171
+ expect(thumb.dsid).to eq("THUMB1")
172
+ expect(thumb.controlGroup).to eq("M")
173
+ expect(thumb.dsLabel).to eq("minivan.jpg")
174
174
  #thumb.name.should == "thumbnail"
175
175
  # :prefix=>"THUMB", :content_type=>"image/jpeg", :dsid=>"THUMB1", :dsID=>"THUMB1",
176
176
  # :pid=>@test_object2.pid, :mimeType=>"image/jpeg", :controlGroup=>"M", :dsLabel=>"minivan.jpg", :name=>"thumbnail"}
@@ -190,10 +190,10 @@ describe ActiveFedora::DatastreamCollections do
190
190
  @test_object2 = MockUpdateNamedDatastream.new
191
191
  f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg"))
192
192
  f2 = File.new(File.join( File.dirname(__FILE__), "../fixtures/dino.jpg" ))
193
- f.stub(:content_type).and_return("image/jpeg")
194
- f.stub(:original_filename).and_return("minivan.jpg")
195
- f2.stub(:content_type).and_return("image/jpeg")
196
- f2.stub(:original_filename).and_return("dino.jpg")
193
+ allow(f).to receive(:content_type).and_return("image/jpeg")
194
+ allow(f).to receive(:original_filename).and_return("minivan.jpg")
195
+ allow(f2).to receive(:content_type).and_return("image/jpeg")
196
+ allow(f2).to receive(:original_filename).and_return("dino.jpg")
197
197
  #check raise exception if dsid not supplied
198
198
  @test_object2.add_named_datastream("thumbnail",{:file=>f})
199
199
  had_exception = false
@@ -212,15 +212,15 @@ describe ActiveFedora::DatastreamCollections do
212
212
  end
213
213
  raise "Failed to raise exception if dsid does not exist" unless had_exception
214
214
  #check datastream is updated in place without new dsid
215
- @test_object2.thumbnail.size.should == 1
215
+ expect(@test_object2.thumbnail.size).to eq(1)
216
216
  @test_object2.thumbnail_ids == ["THUMB1"]
217
217
  thumb1 = @test_object2.thumbnail.first
218
- thumb1.dsid.should == 'THUMB1'
219
- thumb1.pid.should == @test_object2.pid
220
- thumb1.dsLabel.should == 'minivan.jpg'
218
+ expect(thumb1.dsid).to eq('THUMB1')
219
+ expect(thumb1.pid).to eq(@test_object2.pid)
220
+ expect(thumb1.dsLabel).to eq('minivan.jpg')
221
221
  f.rewind
222
222
  @test_object2.update_named_datastream("thumbnail",{:file=>f2,:dsid=>"THUMB1"})
223
- @test_object2.thumbnail.size.should == 1
223
+ expect(@test_object2.thumbnail.size).to eq(1)
224
224
  @test_object2.thumbnail_ids == ["THUMB1"]
225
225
  # @test_object2.thumbnail.first.attributes.should == {:type=>"ActiveFedora::Datastream",
226
226
  # :content_type=>"image/jpeg",
@@ -229,9 +229,9 @@ describe ActiveFedora::DatastreamCollections do
229
229
  # :pid=>@test_object2.pid, :dsID=>"THUMB1",
230
230
  # :name=>"thumbnail", :dsLabel=>"dino.jpg"}
231
231
  thumb1 = @test_object2.thumbnail.first
232
- thumb1.dsid.should == 'THUMB1'
233
- thumb1.pid.should == @test_object2.pid
234
- thumb1.dsLabel.should == 'dino.jpg'
232
+ expect(thumb1.dsid).to eq('THUMB1')
233
+ expect(thumb1.pid).to eq(@test_object2.pid)
234
+ expect(thumb1.dsLabel).to eq('dino.jpg')
235
235
  end
236
236
  end
237
237
  describe '#named_datastreams_desc' do
@@ -245,9 +245,9 @@ describe ActiveFedora::DatastreamCollections do
245
245
 
246
246
  it 'should intialize a value to an empty hash and then not modify afterward' do
247
247
  @test_object2 = MockNamedDatastreamsDesc.new
248
- @test_object2.named_datastreams_desc.should == {"thumbnail"=>{:name=>"thumbnail",:prefix => "THUMB",
248
+ expect(@test_object2.named_datastreams_desc).to eq({"thumbnail"=>{:name=>"thumbnail",:prefix => "THUMB",
249
249
  :type=>"ActiveFedora::Datastream", :mimeType=>"image/jpeg",
250
- :controlGroup=>'M'}}
250
+ :controlGroup=>'M'}})
251
251
  end
252
252
  end
253
253
 
@@ -261,8 +261,8 @@ describe ActiveFedora::DatastreamCollections do
261
261
 
262
262
  it 'should return true if a named datastream exists in model' do
263
263
  @test_object2 = MockIsNamedDatastream.new
264
- @test_object2.is_named_datastream?("thumbnail").should == true
265
- @test_object2.is_named_datastream?("thumb").should == false
264
+ expect(@test_object2.is_named_datastream?("thumbnail")).to eq(true)
265
+ expect(@test_object2.is_named_datastream?("thumb")).to eq(false)
266
266
  end
267
267
  end
268
268
 
@@ -280,33 +280,33 @@ describe ActiveFedora::DatastreamCollections do
280
280
  it 'should return a hash of datastream names to arrays of datastreams' do
281
281
  @test_object2 = MockNamedDatastreams.new
282
282
  f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg" ))
283
- f.stub(:content_type).and_return("image/jpeg")
284
- f.stub(:original_filename).and_return("minivan.jpg")
283
+ allow(f).to receive(:content_type).and_return("image/jpeg")
284
+ allow(f).to receive(:original_filename).and_return("minivan.jpg")
285
285
  f2 = File.new(File.join( File.dirname(__FILE__), "../fixtures/dino.jpg" ))
286
- f2.stub(:content_type).and_return("image/jpeg")
287
- f2.stub(:original_filename).and_return("dino.jpg")
286
+ allow(f2).to receive(:content_type).and_return("image/jpeg")
287
+ allow(f2).to receive(:original_filename).and_return("dino.jpg")
288
288
  @test_object2.thumbnail_file_append(f)
289
289
  @test_object2.high_file_append(f2)
290
290
  @test_object2.external_append({:dsLocation=>"http://myresource.com"})
291
291
  datastreams = @test_object2.named_datastreams
292
- datastreams.keys.include?("thumbnail").should == true
293
- datastreams.keys.include?("external").should == true
294
- datastreams.keys.include?("high").should == true
295
- datastreams.keys.size.should == 3
296
- datastreams["thumbnail"].size.should == 1
297
- datastreams["thumbnail"].first.dsid.should == 'THUMB1'
298
- datastreams["thumbnail"].first.dsLabel.should == 'minivan.jpg'
299
- datastreams["thumbnail"].first.controlGroup.should == "M"
292
+ expect(datastreams.keys.include?("thumbnail")).to eq(true)
293
+ expect(datastreams.keys.include?("external")).to eq(true)
294
+ expect(datastreams.keys.include?("high")).to eq(true)
295
+ expect(datastreams.keys.size).to eq(3)
296
+ expect(datastreams["thumbnail"].size).to eq(1)
297
+ expect(datastreams["thumbnail"].first.dsid).to eq('THUMB1')
298
+ expect(datastreams["thumbnail"].first.dsLabel).to eq('minivan.jpg')
299
+ expect(datastreams["thumbnail"].first.controlGroup).to eq("M")
300
300
 
301
- datastreams["external"].size.should == 1
302
- datastreams["external"].first.dsid.should == "EXTERNAL1"
303
- datastreams["external"].first.dsLocation.should == "http://myresource.com"
304
- datastreams["external"].first.controlGroup.should == "E"
301
+ expect(datastreams["external"].size).to eq(1)
302
+ expect(datastreams["external"].first.dsid).to eq("EXTERNAL1")
303
+ expect(datastreams["external"].first.dsLocation).to eq("http://myresource.com")
304
+ expect(datastreams["external"].first.controlGroup).to eq("E")
305
305
 
306
- datastreams["high"].size.should == 1
307
- datastreams["high"].first.dsLabel.should == 'dino.jpg'
308
- datastreams["high"].first.controlGroup.should == "M"
309
- datastreams["high"].first.dsid.should == "HIGH1"
306
+ expect(datastreams["high"].size).to eq(1)
307
+ expect(datastreams["high"].first.dsLabel).to eq('dino.jpg')
308
+ expect(datastreams["high"].first.controlGroup).to eq("M")
309
+ expect(datastreams["high"].first.dsid).to eq("HIGH1")
310
310
  end
311
311
  end
312
312
 
@@ -325,15 +325,15 @@ describe ActiveFedora::DatastreamCollections do
325
325
  it 'should provide a hash of datastreams names to array of datastream ids' do
326
326
  @test_object2 = MockNamedDatastreamsIds.new
327
327
  f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg" ))
328
- f.stub(:content_type).and_return("image/jpeg")
329
- f.stub(:original_filename).and_return("minivan.jpg")
328
+ allow(f).to receive(:content_type).and_return("image/jpeg")
329
+ allow(f).to receive(:original_filename).and_return("minivan.jpg")
330
330
  f2 = File.new(File.join( File.dirname(__FILE__), "../fixtures/dino.jpg" ))
331
- f2.stub(:content_type).and_return("image/jpeg")
332
- f2.stub(:original_filename).and_return("dino.jpg")
331
+ allow(f2).to receive(:content_type).and_return("image/jpeg")
332
+ allow(f2).to receive(:original_filename).and_return("dino.jpg")
333
333
  @test_object2.thumbnail_file_append(f)
334
334
  @test_object2.high_file_append(f2)
335
335
  @test_object2.external_append({:dsLocation=>"http://myresource.com"})
336
- @test_object2.named_datastreams_ids.should == {"thumbnail"=>["THUMB1"],"high"=>["HIGH1"],"external"=>["EXTERNAL1"]}
336
+ expect(@test_object2.named_datastreams_ids).to eq({"thumbnail"=>["THUMB1"],"high"=>["HIGH1"],"external"=>["EXTERNAL1"]})
337
337
  end
338
338
  end
339
339
 
@@ -349,32 +349,32 @@ describe ActiveFedora::DatastreamCollections do
349
349
 
350
350
  it 'should create helper methods to get named datastreams or dsids' do
351
351
  @test_object2 = MockCreateNamedDatastreamFinder.new
352
- @test_object2.should respond_to(:thumbnail)
353
- @test_object2.should respond_to(:thumbnail_ids)
354
- @test_object2.should respond_to(:high)
355
- @test_object2.should respond_to(:high_ids)
352
+ expect(@test_object2).to respond_to(:thumbnail)
353
+ expect(@test_object2).to respond_to(:thumbnail_ids)
354
+ expect(@test_object2).to respond_to(:high)
355
+ expect(@test_object2).to respond_to(:high_ids)
356
356
  f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg"))
357
357
  f2 = File.new(File.join( File.dirname(__FILE__), "../fixtures/dino.jpg" ))
358
- f2.stub(:original_filename).and_return("dino.jpg")
359
- f.stub(:content_type).and_return("image/jpeg")
358
+ allow(f2).to receive(:original_filename).and_return("dino.jpg")
359
+ allow(f).to receive(:content_type).and_return("image/jpeg")
360
360
  @test_object2.add_named_datastream("thumbnail",{:content_type=>"image/jpeg",:blob=>f, :label=>"testDS"})
361
361
  @test_object2.add_named_datastream("high",{:content_type=>"image/jpeg",:blob=>f2})
362
362
  @test_object2.add_named_datastream("high",{:content_type=>"image/jpeg",:blob=>f2})
363
363
  t2_thumb1 = @test_object2.thumbnail.first
364
- t2_thumb1.mimeType.should == "image/jpeg"
365
- t2_thumb1.controlGroup.should == "M"
366
- t2_thumb1.dsLabel.should == "testDS"
367
- t2_thumb1.pid.should == @test_object2.pid
368
- t2_thumb1.dsid.should == "THUMB1"
364
+ expect(t2_thumb1.mimeType).to eq("image/jpeg")
365
+ expect(t2_thumb1.controlGroup).to eq("M")
366
+ expect(t2_thumb1.dsLabel).to eq("testDS")
367
+ expect(t2_thumb1.pid).to eq(@test_object2.pid)
368
+ expect(t2_thumb1.dsid).to eq("THUMB1")
369
369
  # :type=>"ActiveFedora::Datastream",
370
370
  # :prefix=>"THUMB", :content_type=>"image/jpeg", :dsid=>"THUMB1", :dsID=>"THUMB1",
371
371
  # :pid=>@test_object2.pid, :mimeType=>"image/jpeg", :controlGroup=>"M", :dsLabel=>"testDS", :name=>"thumbnail", :label=>"testDS"}
372
- @test_object2.thumbnail_ids.should == ["THUMB1"]
372
+ expect(@test_object2.thumbnail_ids).to eq(["THUMB1"])
373
373
  @test_object2.high_ids.include?("HIGH1") == true
374
374
  @test_object2.high_ids.include?("HIGH2") == true
375
- @test_object2.high_ids.size.should == 2
375
+ expect(@test_object2.high_ids.size).to eq(2)
376
376
  #just check returning datastream object at this point
377
- @test_object2.high.first.class.should == ActiveFedora::Datastream
377
+ expect(@test_object2.high.first.class).to eq(ActiveFedora::Datastream)
378
378
  end
379
379
  end
380
380
 
@@ -391,29 +391,29 @@ describe ActiveFedora::DatastreamCollections do
391
391
  it 'should create append method for each has_datastream entry' do
392
392
  @test_object2 = MockCreateNamedDatastreamUpdateMethods.new
393
393
  @test_object3 = MockCreateNamedDatastreamUpdateMethods.new
394
- @test_object2.should respond_to(:thumbnail_append)
395
- @test_object2.should respond_to(:ead_append)
394
+ expect(@test_object2).to respond_to(:thumbnail_append)
395
+ expect(@test_object2).to respond_to(:ead_append)
396
396
  f = File.new(File.join( File.dirname(__FILE__), "../fixtures/minivan.jpg"))
397
- f.stub(:content_type).and_return("image/jpeg")
398
- f.stub(:original_filename).and_return("minivan.jpg")
397
+ allow(f).to receive(:content_type).and_return("image/jpeg")
398
+ allow(f).to receive(:original_filename).and_return("minivan.jpg")
399
399
  @test_object2.thumbnail_file_append(f)
400
400
  t2_thumb1 = @test_object2.thumbnail.first
401
- t2_thumb1.mimeType.should == "image/jpeg"
402
- t2_thumb1.dsLabel.should == "minivan.jpg"
403
- t2_thumb1.pid.should == @test_object2.pid
404
- t2_thumb1.dsid.should == "THUMB1"
401
+ expect(t2_thumb1.mimeType).to eq("image/jpeg")
402
+ expect(t2_thumb1.dsLabel).to eq("minivan.jpg")
403
+ expect(t2_thumb1.pid).to eq(@test_object2.pid)
404
+ expect(t2_thumb1.dsid).to eq("THUMB1")
405
405
  @test_object3.thumbnail_append({:file=>f})
406
406
  t3_thumb1 = @test_object3.thumbnail.first
407
- t3_thumb1.mimeType.should == "image/jpeg"
408
- t3_thumb1.dsLabel.should == "minivan.jpg"
409
- t3_thumb1.pid.should == @test_object3.pid
410
- t3_thumb1.dsid.should == "THUMB1"
407
+ expect(t3_thumb1.mimeType).to eq("image/jpeg")
408
+ expect(t3_thumb1.dsLabel).to eq("minivan.jpg")
409
+ expect(t3_thumb1.pid).to eq(@test_object3.pid)
410
+ expect(t3_thumb1.dsid).to eq("THUMB1")
411
411
  @test_object3.external_append({:dsLocation=>"http://myresource.com"})
412
412
  t3_external1 = @test_object3.external.first
413
- t3_external1.dsLabel.should == "http://myresource.com"
414
- t3_external1.dsLocation.should == "http://myresource.com"
415
- t3_external1.pid.should == @test_object3.pid
416
- t3_external1.dsid.should == "EXTERNAL1"
413
+ expect(t3_external1.dsLabel).to eq("http://myresource.com")
414
+ expect(t3_external1.dsLocation).to eq("http://myresource.com")
415
+ expect(t3_external1.pid).to eq(@test_object3.pid)
416
+ expect(t3_external1.dsid).to eq("EXTERNAL1")
417
417
  t3_external1.controlGroup == 'E'
418
418
  end
419
419
  end