spec/active_triples/properties_spec.rb in active-triples-0.6.1 vs spec/active_triples/properties_spec.rb in active-triples-0.7.0

- old
+ new

@@ -10,15 +10,25 @@ after do Object.send(:remove_const, "DummyProperties") end describe '#property' do - it 'should set a property' do + it 'should set a property as a NodeConfig' do DummyProperties.property :title, :predicate => RDF::DC.title expect(DummyProperties.reflect_on_property(:title)).to be_kind_of ActiveTriples::NodeConfig end + it 'should set the correct property' do + DummyProperties.property :title, :predicate => RDF::DC.title + expect(DummyProperties.reflect_on_property(:title).predicate).to eql RDF::DC.title + end + + it 'should set the correct property from string' do + DummyProperties.property :title, :predicate => RDF::DC.title.to_s + expect(DummyProperties.reflect_on_property(:title).predicate).to eql RDF::DC.title + end + it 'should set index behaviors' do DummyProperties.property :title, :predicate => RDF::DC.title do |index| index.as :facetable, :searchable end expect(DummyProperties.reflect_on_property(:title)[:behaviors]).to eq [:facetable, :searchable] @@ -40,9 +50,17 @@ end it 'raises error when defining properties that are already methods' do DummyProperties.send :define_method, :type, lambda { } expect { DummyProperties.property :type, :predicate => RDF::DC.type }.to raise_error ArgumentError + end + + it 'raises error when defining properties with no predicate' do + expect { DummyProperties.property :type }.to raise_error ArgumentError + end + + it 'raises error when defining properties with a non-Roesource predicate' do + expect { DummyProperties.property :type, :predicate => 123 }.to raise_error ArgumentError end it 'raises error when defining properties already have method setters' do DummyProperties.send :define_method, :type=, lambda { } expect { DummyProperties.property :type, :predicate => RDF::DC.type }.to raise_error ArgumentError