active-fedora 5.7.1 → 6.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/.gitmodules +1 -1
  2. data/Gemfile +2 -1
  3. data/History.txt +0 -14
  4. data/Rakefile +1 -2
  5. data/active-fedora.gemspec +2 -2
  6. data/lib/active_fedora.rb +1 -16
  7. data/lib/active_fedora/associations.rb +8 -11
  8. data/lib/active_fedora/associations/association_collection.rb +2 -4
  9. data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +3 -12
  10. data/lib/active_fedora/associations/has_many_association.rb +0 -4
  11. data/lib/active_fedora/base.rb +6 -6
  12. data/lib/active_fedora/config.rb +0 -7
  13. data/lib/active_fedora/datastream.rb +0 -37
  14. data/lib/active_fedora/datastream_collections.rb +0 -10
  15. data/lib/active_fedora/datastreams.rb +0 -17
  16. data/lib/active_fedora/digital_object.rb +1 -1
  17. data/lib/active_fedora/file_configurator.rb +0 -22
  18. data/lib/active_fedora/fixture_loader.rb +1 -1
  19. data/lib/active_fedora/nokogiri_datastream.rb +9 -51
  20. data/lib/active_fedora/qualified_dublin_core_datastream.rb +1 -1
  21. data/lib/active_fedora/querying.rb +8 -4
  22. data/lib/active_fedora/rdf_datastream.rb +10 -9
  23. data/lib/active_fedora/rdf_node.rb +1 -1
  24. data/lib/active_fedora/rdf_node/term_proxy.rb +9 -5
  25. data/lib/active_fedora/relation.rb +1 -1
  26. data/lib/active_fedora/rels_ext_datastream.rb +1 -8
  27. data/lib/active_fedora/semantic_node.rb +0 -35
  28. data/lib/active_fedora/simple_datastream.rb +1 -1
  29. data/lib/active_fedora/solr_service.rb +6 -8
  30. data/lib/active_fedora/version.rb +1 -1
  31. data/lib/tasks/active_fedora_dev.rake +11 -3
  32. data/solr/conf/schema.xml +10 -1
  33. data/spec/integration/base_spec.rb +2 -347
  34. data/spec/integration/complex_rdf_datastream_spec.rb +1 -1
  35. data/spec/integration/full_featured_model_spec.rb +1 -9
  36. data/spec/integration/ntriples_datastream_spec.rb +4 -4
  37. data/spec/integration/om_datastream_spec.rb +2 -1
  38. data/spec/integration/rels_ext_datastream_spec.rb +1 -89
  39. data/spec/integration/scoped_query_spec.rb +4 -4
  40. data/spec/samples/hydra-mods_article_datastream.rb +2 -2
  41. data/spec/spec_helper.rb +3 -0
  42. data/spec/unit/base_spec.rb +7 -81
  43. data/spec/unit/datastream_spec.rb +0 -25
  44. data/spec/unit/has_many_collection_spec.rb +2 -27
  45. data/spec/unit/ntriples_datastream_spec.rb +28 -39
  46. data/spec/unit/om_datastream_spec.rb +13 -13
  47. data/spec/unit/qualified_dublin_core_datastream_spec.rb +1 -1
  48. data/spec/unit/query_spec.rb +1 -24
  49. data/spec/unit/semantic_node_spec.rb +0 -2
  50. data/spec/unit/simple_datastream_spec.rb +2 -2
  51. data/spec/unit/solr_config_options_spec.rb +1 -1
  52. metadata +76 -57
  53. checksums.yaml +0 -7
  54. data/.travis.yml +0 -8
  55. data/lib/active_fedora/file_management.rb +0 -81
  56. data/lib/active_fedora/metadata_datastream_helper.rb +0 -43
  57. data/lib/active_fedora/named_relationships.rb +0 -99
  58. data/lib/active_fedora/relationships.rb +0 -663
  59. data/spec/integration/base_file_management_spec.rb +0 -24
  60. data/spec/integration/has_many_associations_spec.rb +0 -64
  61. data/spec/integration/metadata_datastream_helper_spec.rb +0 -100
  62. data/spec/integration/semantic_node_spec.rb +0 -457
  63. data/spec/unit/base_file_management_spec.rb +0 -95
  64. data/spec/unit/has_and_belongs_to_many_collection_spec.rb +0 -59
  65. data/spec/unit/relationships_spec.rb +0 -871
@@ -68,15 +68,15 @@ describe ActiveFedora::NtriplesRDFDatastream do
68
68
  subject.date_uploaded = Date.parse('2012-11-02')
69
69
  subject.date_uploaded.first.should be_kind_of Date
70
70
  solr_document = subject.to_solr
71
- solr_document[ActiveFedora::SolrService.solr_name('rdf__date_uploaded', :date, :searchable)].should == ['2012-11-02T00:00:00Z']
71
+ solr_document[ActiveFedora::SolrService.solr_name('rdf__date_uploaded', type: :date)].should == ['2012-11-02T00:00:00Z']
72
72
  end
73
73
 
74
74
  it "should produce a solr document" do
75
75
  @subject = RdfTest.new(title: "War and Peace")
76
76
  solr_document = @subject.to_solr
77
- solr_document[ActiveFedora::SolrService.solr_name('rdf__title', :string, :displayable)].should == ["War and Peace"]
78
- solr_document[ActiveFedora::SolrService.solr_name('rdf__title', :string, :facetable)].should == ["War and Peace"]
79
- solr_document[ActiveFedora::SolrService.solr_name('rdf__title', :string, :searchable)].should == ["War and Peace"]
77
+ solr_document[ActiveFedora::SolrService.solr_name('rdf__title', :displayable)].should == ["War and Peace"]
78
+ solr_document[ActiveFedora::SolrService.solr_name('rdf__title', :facetable)].should == ["War and Peace"]
79
+ solr_document[ActiveFedora::SolrService.solr_name('rdf__title', type: :string)].should == ["War and Peace"]
80
80
  end
81
81
 
82
82
  it "should set and recall values" do
@@ -26,6 +26,7 @@ describe ActiveFedora::OmDatastream do
26
26
  @test_object = HydrangeaArticle2.find(@pid)
27
27
 
28
28
  @test_object.descMetadata.ng_xml = @test_object.descMetadata.ng_xml
29
+
29
30
  @test_object.descMetadata.should_not be_changed
30
31
  end
31
32
 
@@ -118,7 +119,7 @@ describe ActiveFedora::OmDatastream do
118
119
 
119
120
  end
120
121
  it "should solrize terms with :type=>'date' to *_dt solr terms" do
121
- @test_object.to_solr[ActiveFedora::SolrService.solr_name('mods_journal_issue_publication_date', :date)].should == ['2012-11-02T00:00:00Z']
122
+ @test_object.to_solr[ActiveFedora::SolrService.solr_name('mods_journal_issue_publication_date', type: :date)].should == ['2012-11-02T00:00:00Z']
122
123
  end
123
124
  end
124
125
  end
@@ -74,95 +74,7 @@ describe ActiveFedora::RelsExtDatastream do
74
74
  # make sure that _something_ was actually added to the object's relationships hash
75
75
  @test_object.ids_for_outbound(:is_member_of).size.should == 1
76
76
  new_rels = ActiveFedora::Base.find(@test_object.pid).relationships
77
-
78
- new_rels.to_a.each do |stmt|
79
- @test_object.relationships.should have_statement(stmt)
80
- end
81
-
82
-
83
- @test_object.relationships.to_a.each do |stmt|
84
- new_rels.should have_statement(stmt)
85
- end
86
-
87
- # new_rels.should == @test_object.relationships
77
+ new_rels.should == @test_object.relationships
88
78
  end
89
79
 
90
- describe '#from_solr' do
91
- before(:all) do
92
- @behavior = ActiveFedora::Relationships.deprecation_behavior
93
- @c_behavior = ActiveFedora::Relationships::ClassMethods.deprecation_behavior
94
- ActiveFedora::Relationships.deprecation_behavior = :silence
95
- ActiveFedora::Relationships::ClassMethods.deprecation_behavior = :silence
96
- end
97
-
98
- after :all do
99
- ActiveFedora::Relationships.deprecation_behavior = @behavior
100
- ActiveFedora::Relationships::ClassMethods.deprecation_behavior = @c_behavior
101
- end
102
- before do
103
- class MockAFRelsSolr < ActiveFedora::Base
104
- include ActiveFedora::FileManagement
105
- has_relationship "testing", :has_part, :type=>MockAFRelsSolr
106
- has_relationship "testing2", :has_member, :type=>MockAFRelsSolr
107
- has_relationship "testing_inbound", :has_part, :type=>MockAFRelsSolr, :inbound=>true
108
- has_relationship "testing_inbound2", :has_member, :type=>MockAFRelsSolr, :inbound=>true
109
- end
110
- end
111
- it "should respond_to from_solr" do
112
- @test_datastream.respond_to?(:from_solr).should be_true
113
- end
114
-
115
- it 'should populate the relationships hash based on data in solr only for any possible fedora predicates' do
116
- @test_object2 = MockAFRelsSolr.new
117
- #@test_object2.new_object = true
118
- @test_object2.save
119
- @test_object3 = MockAFRelsSolr.new
120
- #@test_object3.new_object = true
121
- @test_object3.save
122
- @test_object4 = MockAFRelsSolr.new
123
- #@test_object4.new_object = true
124
- @test_object4.save
125
- @test_object5 = MockAFRelsSolr.new
126
- #@test_object5.new_object = true
127
- @test_object5.save
128
- #append to named relationship 'testing'
129
- @test_object2.testing_append(@test_object3)
130
- @test_object2.testing2_append(@test_object4)
131
- @test_object5.testing_append(@test_object2)
132
- @test_object5.testing2_append(@test_object3)
133
- @test_object2.save
134
- @test_object5.save
135
- model_rel = MockAFRelsSolr.to_class_uri
136
- #check inbound correct, testing goes to :has_part and testing2 goes to :has_member
137
- #get solr doc for @test_object2
138
- solr_doc = MockAFRelsSolr.find_with_conditions(:id=>@test_object2.pid).first
139
- test_from_solr_object2 = MockAFRelsSolr.new
140
- test_from_solr_object2.rels_ext.from_solr(solr_doc)
141
- solr_doc = MockAFRelsSolr.find_with_conditions(:id=>@test_object3.pid).first
142
- test_from_solr_object3 = MockAFRelsSolr.new
143
- test_from_solr_object3.rels_ext.from_solr(solr_doc)
144
- solr_doc = MockAFRelsSolr.find_with_conditions(:id=>@test_object4.pid).first
145
- test_from_solr_object4 = MockAFRelsSolr.new
146
- test_from_solr_object4.rels_ext.from_solr(solr_doc)
147
- solr_doc = MockAFRelsSolr.find_with_conditions(:id=>@test_object5.pid).first
148
- test_from_solr_object5 = MockAFRelsSolr.new
149
- test_from_solr_object5.rels_ext.from_solr(solr_doc)
150
-
151
- test_from_solr_object2.object_relations[:has_part].should include @test_object3.internal_uri
152
- test_from_solr_object2.object_relations[:has_member].should include @test_object4.internal_uri
153
- test_from_solr_object2.object_relations[:has_model].should include model_rel
154
-
155
- test_from_solr_object2.relationships_by_name.should == {:self=>{"testing"=>[@test_object3.internal_uri],"testing2"=>[@test_object4.internal_uri], "collection_members"=>[], "part_of"=>[], "parts_outbound"=>[@test_object3.internal_uri]}}
156
- test_from_solr_object3.object_relations[:has_model].should include model_rel
157
- test_from_solr_object3.relationships_by_name.should == {:self=>{"testing2"=>[], "collection_members"=>[], "part_of"=>[], "testing"=>[], "parts_outbound"=>[]}}
158
- test_from_solr_object4.object_relations[:has_model].should include model_rel
159
- test_from_solr_object4.relationships_by_name.should == {:self=>{"testing2"=>[], "collection_members"=>[], "part_of"=>[], "testing"=>[], "parts_outbound"=>[]}}
160
-
161
- test_from_solr_object5.object_relations[:has_model].should include model_rel
162
- test_from_solr_object5.object_relations[:has_part].should include @test_object2.internal_uri
163
- test_from_solr_object5.object_relations[:has_member].should include @test_object3.internal_uri
164
-
165
- test_from_solr_object5.relationships_by_name.should == {:self=>{"testing2"=>[@test_object3.internal_uri], "collection_members"=>[], "part_of"=>[], "testing"=>[@test_object2.internal_uri], "parts_outbound"=>[@test_object2.internal_uri]}}
166
- end
167
- end
168
80
  end
@@ -15,7 +15,7 @@ describe ActiveFedora::Model do
15
15
 
16
16
  def to_solr(doc = {})
17
17
  doc = super
18
- doc[ActiveFedora::SolrService.solr_name('foo', :string, :sortable)] = doc[ActiveFedora::SolrService.solr_name('foo', :string, :searchable)]
18
+ doc[ActiveFedora::SolrService.solr_name('foo', :sortable)] = doc[ActiveFedora::SolrService.solr_name('foo', type: :string)]
19
19
  doc
20
20
  end
21
21
 
@@ -71,18 +71,18 @@ describe ActiveFedora::Model do
71
71
  @test_instance3.delete
72
72
  end
73
73
  it "should query" do
74
- ModelIntegrationSpec::Basic.where(ActiveFedora::SolrService.solr_name('foo', :string, :searchable)=> 'Beta').should == [@test_instance1]
74
+ ModelIntegrationSpec::Basic.where(ActiveFedora::SolrService.solr_name('foo', type: :string)=> 'Beta').should == [@test_instance1]
75
75
  ModelIntegrationSpec::Basic.where('foo' => 'Beta').should == [@test_instance1]
76
76
  end
77
77
  it "should order" do
78
- ModelIntegrationSpec::Basic.order(ActiveFedora::SolrService.solr_name('foo', :string, :sortable) + ' asc').should == [@test_instance2, @test_instance1, @test_instance3]
78
+ ModelIntegrationSpec::Basic.order(ActiveFedora::SolrService.solr_name('foo', :sortable) + ' asc').should == [@test_instance2, @test_instance1, @test_instance3]
79
79
  end
80
80
  it "should limit" do
81
81
  ModelIntegrationSpec::Basic.limit(1).should == [@test_instance1]
82
82
  end
83
83
 
84
84
  it "should chain them" do
85
- ModelIntegrationSpec::Basic.where(ActiveFedora::SolrService.solr_name('bar', :string, :searchable) => 'Peanuts').order(ActiveFedora::SolrService.solr_name('foo', :string, :sortable) + ' asc').limit(1).should == [@test_instance2]
85
+ ModelIntegrationSpec::Basic.where(ActiveFedora::SolrService.solr_name('bar', type: :string) => 'Peanuts').order(ActiveFedora::SolrService.solr_name('foo', :sortable) + ' asc').limit(1).should == [@test_instance2]
86
86
  end
87
87
  end
88
88
  end
@@ -508,8 +508,8 @@ module Hydra
508
508
  def to_solr(solr_doc=Hash.new)
509
509
  super(solr_doc)
510
510
 
511
- ::Solrizer::Extractor.insert_solr_field_value(solr_doc, Solrizer.default_field_mapper.solr_name('object_type', :string, :facetable), "Article")
512
- ::Solrizer::Extractor.insert_solr_field_value(solr_doc, Solrizer.default_field_mapper.solr_name('mods_journal_title_info', :string, :facetable), "Unknown") if solr_doc["mods_journal_title_info_facet"].nil?
511
+ ::Solrizer::Extractor.insert_solr_field_value(solr_doc, Solrizer.default_field_mapper.solr_name('object_type', :facetable), "Article")
512
+ ::Solrizer::Extractor.insert_solr_field_value(solr_doc, Solrizer.default_field_mapper.solr_name('mods_journal_title_info', :facetable), "Unknown") if solr_doc["mods_journal_title_info_facet"].nil?
513
513
 
514
514
  solr_doc
515
515
  end
@@ -2,6 +2,9 @@ ENV["environment"] ||= 'test'
2
2
  require "bundler/setup"
3
3
 
4
4
  require 'simplecov'
5
+ require 'simplecov-rcov'
6
+
7
+ SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
5
8
  SimpleCov.start
6
9
 
7
10
  require 'active-fedora'
@@ -392,16 +392,16 @@ describe ActiveFedora::Base do
392
392
  @test_object.should_receive(:create_date).and_return("2012-03-04T03:12:02Z")
393
393
  @test_object.should_receive(:modified_date).and_return("2012-03-07T03:12:02Z")
394
394
  solr_doc = @test_object.to_solr
395
- solr_doc[ActiveFedora::SolrService.solr_name("system_create", :date, :searchable)].should eql("2012-03-04T03:12:02Z")
396
- solr_doc[ActiveFedora::SolrService.solr_name("system_modified", :date, :searchable)].should eql("2012-03-07T03:12:02Z")
395
+ solr_doc[ActiveFedora::SolrService.solr_name("system_create", type: :date)].should eql("2012-03-04T03:12:02Z")
396
+ solr_doc[ActiveFedora::SolrService.solr_name("system_modified", type: :date)].should eql("2012-03-07T03:12:02Z")
397
397
  solr_doc[:id].should eql("#{@test_object.pid}")
398
398
  end
399
399
 
400
400
  it "should omit base metadata and RELS-EXT if :model_only==true" do
401
401
  @test_object.add_relationship(:has_part, "foo", true)
402
402
  solr_doc = @test_object.to_solr(Hash.new, :model_only => true)
403
- solr_doc[ActiveFedora::SolrService.solr_name("system_create", :date, :searchable)].should be_nil
404
- solr_doc[ActiveFedora::SolrService.solr_name("system_modified", :date, :searchable)].should be_nil
403
+ solr_doc[ActiveFedora::SolrService.solr_name("system_create", type: :date)].should be_nil
404
+ solr_doc[ActiveFedora::SolrService.solr_name("system_modified", type: :date)].should be_nil
405
405
  solr_doc["id"].should be_nil
406
406
  solr_doc[ActiveFedora::SolrService.solr_name("has_part", :symbol)].should be_nil
407
407
  end
@@ -540,87 +540,13 @@ pending "This is broken, and deprecated. I don't want to fix it - jcoyne"
540
540
  end
541
541
 
542
542
  describe '#relationships_by_name' do
543
- before(:all) do
544
- @behavior = ActiveFedora::Relationships.deprecation_behavior
545
- @c_behavior = ActiveFedora::Relationships::ClassMethods.deprecation_behavior
546
- ActiveFedora::Relationships.deprecation_behavior = :silence
547
- ActiveFedora::Relationships::ClassMethods.deprecation_behavior = :silence
548
- end
549
-
550
- after :all do
551
- ActiveFedora::Relationships.deprecation_behavior = @behavior
552
- ActiveFedora::Relationships::ClassMethods.deprecation_behavior = @c_behavior
553
- end
554
-
555
543
  before do
556
544
  class MockNamedRelationships < ActiveFedora::Base
557
- include ActiveFedora::FileManagement
558
- has_relationship "testing", :has_part, :type=>ActiveFedora::Base
559
- has_relationship "testing2", :has_member, :type=>ActiveFedora::Base
560
- has_relationship "testing_inbound", :has_part, :type=>ActiveFedora::Base, :inbound=>true
545
+ # has_relationship "testing", :has_part, :type=>ActiveFedora::Base
546
+ # has_relationship "testing2", :has_member, :type=>ActiveFedora::Base
547
+ # has_relationship "testing_inbound", :has_part, :type=>ActiveFedora::Base, :inbound=>true
561
548
  end
562
549
  end
563
-
564
- it 'should return current relationships by name' do
565
- next_pid = increment_pid.to_s
566
- ActiveFedora::Base.stub(:assign_pid).and_return(next_pid)
567
- stub_get(next_pid)
568
- @test_object2 = MockNamedRelationships.new
569
- @test_object2.add_relationship(:has_model, MockNamedRelationships.to_class_uri)
570
- @test_object.add_relationship(:has_model, ActiveFedora::Base.to_class_uri)
571
- #should return expected named relationships
572
- @test_object2.relationships_by_name
573
- @test_object2.relationships_by_name[:self]["testing"].should == []
574
- @test_object2.relationships_by_name[:self]["testing2"].should == []
575
- @test_object2.relationships_by_name[:self]["parts_outbound"].should == []
576
- @test_object2.add_relationship_by_name("testing",@test_object)
577
- # @test_object2.relationships_by_name.should == {:self=>{"testing"=>[@test_object.internal_uri],"testing2"=>[],"part_of"=>[], "parts_outbound"=>[@test_object.internal_uri], "collection_members"=>[]}}
578
-
579
- @test_object2.relationships_by_name[:self]["testing"].should == [@test_object.internal_uri]
580
- @test_object2.relationships_by_name[:self]["testing2"].should == []
581
- @test_object2.relationships_by_name[:self]["parts_outbound"].should == [@test_object.internal_uri]
582
- end
583
- end
584
-
585
-
586
- describe '#create_relationship_name_methods' do
587
- before(:all) do
588
- @behavior = ActiveFedora::Relationships.deprecation_behavior
589
- @c_behavior = ActiveFedora::Relationships::ClassMethods.deprecation_behavior
590
- ActiveFedora::Relationships.deprecation_behavior = :silence
591
- ActiveFedora::Relationships::ClassMethods.deprecation_behavior = :silence
592
- end
593
-
594
- after :all do
595
- ActiveFedora::Relationships.deprecation_behavior = @behavior
596
- ActiveFedora::Relationships::ClassMethods.deprecation_behavior = @c_behavior
597
- end
598
-
599
- before do
600
- class MockCreateNamedRelationshipMethodsBase < ActiveFedora::Base
601
- include ActiveFedora::Relationships
602
- register_relationship_desc :self, "testing", :is_part_of, :type=>ActiveFedora::Base
603
- create_relationship_name_methods "testing"
604
- end
605
- end
606
-
607
- it 'should append and remove using helper methods for each outbound relationship' do
608
- next_pid = increment_pid.to_s
609
- ActiveFedora::Base.stub(:assign_pid).and_return(next_pid)
610
- stub_get(next_pid)
611
- @test_object2 = MockCreateNamedRelationshipMethodsBase.new
612
- @test_object2.should respond_to(:testing_append)
613
- @test_object2.should respond_to(:testing_remove)
614
- #test executing each one to make sure code added is correct
615
- model_pid =ActiveFedora::Base.to_class_uri
616
- @test_object.add_relationship(:has_model,model_pid)
617
- @test_object2.add_relationship(:has_model,model_pid)
618
- @test_object2.testing_append(@test_object)
619
- #create relationship to access generate_uri method for an object
620
- @test_object2.relationships_by_name[:self]["testing"].should == [@test_object.internal_uri]
621
- @test_object2.testing_remove(@test_object)
622
- @test_object2.relationships_by_name[:self]["testing"].should == []
623
- end
624
550
  end
625
551
 
626
552
  describe ".solrize_relationships" do
@@ -107,29 +107,4 @@ describe ActiveFedora::Datastream do
107
107
  @test_datastream.size.should be_nil
108
108
  end
109
109
  end
110
-
111
- describe ".from_xml" do
112
- it "should load a FOXML datastream node" do
113
- ds_xml = <<-EOS
114
- <foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true" xmlns:foxml="info:fedora/fedora-system:def/foxml#">
115
- <foxml:xmlContent>
116
- <datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true">
117
- <datastreamVersion ID="DC.1" LABEL="Dublin Core Record for this object" CREATED="2011-09-28T22:50:18.626Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="526">
118
- <xmlContent>
119
- <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
120
- <dc:title>Title</dc:title>
121
- <dc:identifier>0123456789</dc:identifier>
122
- </oai_dc:dc>
123
- </xmlContent>
124
- </datastreamVersion>
125
- </datastream>
126
- </foxml:xmlContent>
127
- </foxml:datastream>
128
- EOS
129
- ds_node = Nokogiri::XML(ds_xml).root
130
- ds = ActiveFedora::Datastream.from_xml(@test_datastream, ds_node)
131
- ds.should be_a(ActiveFedora::Datastream)
132
- end
133
- end
134
-
135
110
  end
@@ -1,35 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::Associations::HasManyAssociation do
4
- it "should call add_relationship" do
5
- subject = stub("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a')
6
- predicate = stub(:klass => mock.class, :options=>{:property=>'predicate'}, :class_name=> nil)
7
- ActiveFedora::SolrService.stub(:query).and_return([])
8
- ac = ActiveFedora::Associations::HasManyAssociation.new(subject, predicate)
9
- object = stub("object", :new_record? => false, :pid => 'object:b', :save => nil)
10
-
11
- object.should_receive(:add_relationship).with('predicate', subject)
12
-
13
- ac << object
14
-
15
- end
16
-
17
- it "should call remove_relationship" do
18
- subject = stub("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a')
19
- predicate = stub(:klass => mock.class, :options=>{:property=>'predicate'}, :class_name=> nil)
20
- ActiveFedora::SolrService.stub(:query).and_return([])
21
- ac = ActiveFedora::Associations::HasManyAssociation.new(subject, predicate)
22
- object = stub("object", :new_record? => false, :pid => 'object:b', :save => nil)
23
-
24
- object.should_receive(:remove_relationship).with('predicate', subject)
25
-
26
- ac.delete(object)
27
-
28
- end
29
-
30
4
  it "should be able to replace the collection" do
31
5
  @owner = stub(:new_record? => false, :to_ary => nil, :internal_uri => 'info:fedora/changeme:99')
32
- @reflection = stub(:klass => mock.class, :options=>{:property=>'predicate'}, :class_name=> nil)
6
+ @reflection = stub(:klass => mock.class, :options=>{:property=>'predicate'})
7
+ #ac = ActiveFedora::Associations::AssociationCollection.new(@owner, @reflection)
33
8
  ac = ActiveFedora::Associations::HasManyAssociation.new(@owner, @reflection)
34
9
  @target = [stub(:to_ary => nil, :new_record? => false, :remove_relationship=>true), stub(:to_ary => nil, :new_record? => false, :remove_relationship=>true), stub(:to_ary => nil, :new_record? => false, :remove_relationship=>true)]
35
10
  ac.target = @target
@@ -9,7 +9,6 @@ describe ActiveFedora::NtriplesRDFDatastream do
9
9
  map.title(:in => RDF::DC)
10
10
  map.publisher(:in => RDF::DC)
11
11
  map.creator(:in => RDF::DC)
12
- map.educationLevel(:in => RDF::DC)
13
12
  map.based_near(:in => RDF::FOAF)
14
13
  map.related_url(:to => "seeAlso", :in => RDF::RDFS)
15
14
  end
@@ -40,16 +39,6 @@ describe ActiveFedora::NtriplesRDFDatastream do
40
39
  @subject.related_url.should == ["http://google.com/"]
41
40
  end
42
41
 
43
- it "should be able to call enumerable methods on the fields" do
44
- @subject.title.join(', ').should == "Title of work"
45
- @subject.title.count.should == 1
46
- @subject.title.size.should == 1
47
- @subject.title[0].should == "Title of work"
48
- @subject.title.to_a.should == ["Title of work"]
49
- val = []
50
- @subject.title.each_with_index {|v, i| val << "#{i}. #{v}"}
51
- val.should == ["0. Title of work"]
52
- end
53
42
 
54
43
  it "should return fields that are not TermProxies" do
55
44
  @subject.created.should be_kind_of Array
@@ -184,19 +173,19 @@ describe ActiveFedora::NtriplesRDFDatastream do
184
173
  end
185
174
  it "should iterate through @fields hash" do
186
175
  solr_doc = @subject.to_solr
187
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :searchable)].should == ["publisher1"]
188
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :sortable)].should == ["publisher1"]
189
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :displayable)].should == ["publisher1"]
190
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :facetable)].should == ["publisher1"]
191
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :searchable)].should == ["coverage1", "coverage2"]
192
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :displayable)].should == ["coverage1", "coverage2"]
193
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :facetable)].should == ["coverage1", "coverage2"]
194
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__created", :string, :sortable)].should == ["2009-10-10"]
195
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__created", :string, :displayable)].should == ["2009-10-10"]
196
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__title", :string, :searchable)].should == ["fake-title"]
197
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__title", :string, :sortable)].should == ["fake-title"]
198
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__title", :string, :displayable)].should == ["fake-title"]
199
- solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__related_url", :string, :searchable)].should == ["http://example.org/"]
176
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", type: :string)].should == ["publisher1"]
177
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :sortable)].should == ["publisher1"]
178
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :displayable)].should == ["publisher1"]
179
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :facetable)].should == ["publisher1"]
180
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", type: :string)].should == ["coverage1", "coverage2"]
181
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :displayable)].should == ["coverage1", "coverage2"]
182
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :facetable)].should == ["coverage1", "coverage2"]
183
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__created", :sortable)].should == ["2009-10-10"]
184
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__created", :displayable)].should == ["2009-10-10"]
185
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__title", type: :string)].should == ["fake-title"]
186
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__title", :sortable)].should == ["fake-title"]
187
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__title", :displayable)].should == ["fake-title"]
188
+ solr_doc[ActiveFedora::SolrService.solr_name("solr_rdf__related_url", type: :string)].should == ["http://example.org/"]
200
189
  end
201
190
 
202
191
  describe "with an actual object" do
@@ -240,25 +229,25 @@ describe ActiveFedora::NtriplesRDFDatastream do
240
229
  end
241
230
  describe ".to_solr()" do
242
231
  it "should return the right fields" do
243
- @obj.to_solr.keys.should include(ActiveFedora::SolrService.solr_name("solr_rdf__related_url", :string, :searchable),
244
- ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :searchable),
245
- ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :sortable),
246
- ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :displayable),
247
- ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :string, :facetable),
248
- ActiveFedora::SolrService.solr_name("solr_rdf__created", :string, :sortable),
249
- ActiveFedora::SolrService.solr_name("solr_rdf__created", :string, :displayable),
250
- ActiveFedora::SolrService.solr_name("solr_rdf__title", :string, :searchable),
251
- ActiveFedora::SolrService.solr_name("solr_rdf__title", :string, :sortable),
252
- ActiveFedora::SolrService.solr_name("solr_rdf__title", :string, :displayable),
253
- ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :searchable),
254
- ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :facetable),
255
- ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :displayable))
232
+ @obj.to_solr.keys.should include(ActiveFedora::SolrService.solr_name("solr_rdf__related_url", type: :string),
233
+ ActiveFedora::SolrService.solr_name("solr_rdf__publisher", type: :string),
234
+ ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :sortable),
235
+ ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :displayable),
236
+ ActiveFedora::SolrService.solr_name("solr_rdf__publisher", :facetable),
237
+ ActiveFedora::SolrService.solr_name("solr_rdf__created", :sortable),
238
+ ActiveFedora::SolrService.solr_name("solr_rdf__created", :displayable),
239
+ ActiveFedora::SolrService.solr_name("solr_rdf__title", type: :string),
240
+ ActiveFedora::SolrService.solr_name("solr_rdf__title", :sortable),
241
+ ActiveFedora::SolrService.solr_name("solr_rdf__title", :displayable),
242
+ ActiveFedora::SolrService.solr_name("solr_rdf__based_near", type: :string),
243
+ ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :facetable),
244
+ ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :displayable))
256
245
 
257
246
  end
258
247
 
259
248
  it "should return the right values" do
260
- @obj.to_solr[ActiveFedora::SolrService.solr_name("solr_rdf__related_url", :string, :searchable)].should == ["http://example.org/blogtastic/"]
261
- @obj.to_solr[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", :string, :searchable)].should == ["Tacoma, WA","Renton, WA"]
249
+ @obj.to_solr[ActiveFedora::SolrService.solr_name("solr_rdf__related_url", type: :string)].should == ["http://example.org/blogtastic/"]
250
+ @obj.to_solr[ActiveFedora::SolrService.solr_name("solr_rdf__based_near", type: :string)].should == ["Tacoma, WA","Renton, WA"]
262
251
  end
263
252
  end
264
253
  end