spec/models/content_spec.rb in alchemy_cms-2.2.4 vs spec/models/content_spec.rb in alchemy_cms-2.3.rc5
- old
+ new
@@ -1,100 +1,103 @@
require 'spec_helper'
-describe Alchemy::Content do
+module Alchemy
+ describe Content do
- it "should return the ingredient from its essence" do
- @element = FactoryGirl.create(:element, :name => 'headline')
- @content = @element.contents.find_by_essence_type('Alchemy::EssenceText')
- @content.essence.update_attributes(:body => "Hello")
- @content.ingredient.should == "Hello"
- end
+ let(:element) { FactoryGirl.create(:element, :name => 'headline', :create_contents_after_create => true) }
+ let(:content) { element.contents.find_by_essence_type('Alchemy::EssenceText') }
- describe '.normalize_essence_type' do
+ it "should return the ingredient from its essence" do
+ content.essence.update_attributes(:body => "Hello")
+ content.ingredient.should == "Hello"
+ end
- context "passing namespaced essence type" do
+ describe '.normalize_essence_type' do
- it "should not add alchemy namespace" do
- Alchemy::Content.normalize_essence_type('Alchemy::EssenceText').should == "Alchemy::EssenceText"
+ context "passing namespaced essence type" do
+
+ it "should not add alchemy namespace" do
+ Content.normalize_essence_type('Alchemy::EssenceText').should == "Alchemy::EssenceText"
+ end
+
end
- end
+ context "passing not namespaced essence type" do
- context "passing not namespaced essence type" do
+ it "should add alchemy namespace" do
+ Content.normalize_essence_type('EssenceText').should == "Alchemy::EssenceText"
+ end
- it "should add alchemy namespace" do
- Alchemy::Content.normalize_essence_type('EssenceText').should == "Alchemy::EssenceText"
end
end
- end
+ describe '#normalized_essence_type' do
- describe '#normalized_essence_type' do
+ context "without namespace in essence_type column" do
- context "without namespace in essence_type column" do
+ it "should return the namespaced essence type" do
+ Content.new(:essence_type => 'EssenceText').normalized_essence_type.should == 'Alchemy::EssenceText'
+ end
- it "should return the namespaced essence type" do
- Alchemy::Content.new(:essence_type => 'EssenceText').normalized_essence_type.should == 'Alchemy::EssenceText'
end
- end
+ context "with namespace in essence_type column" do
- context "with namespace in essence_type column" do
+ it "should return the namespaced essence type" do
+ Content.new(:essence_type => 'Alchemy::EssenceText').normalized_essence_type.should == 'Alchemy::EssenceText'
+ end
- it "should return the namespaced essence type" do
- Alchemy::Content.new(:essence_type => 'Alchemy::EssenceText').normalized_essence_type.should == 'Alchemy::EssenceText'
end
end
- end
+ describe '#update_essence' do
- describe '#update_essence' do
+ it "should update the attributes of related essence and return true" do
+ @element = FactoryGirl.create(:element, :name => 'text', :create_contents_after_create => true)
+ @content = @element.contents.first
+ @content.update_essence(:body => 'Mikes Petshop')
+ @content.ingredient.should == "Mikes Petshop"
+ end
- it "should update the attributes of related essence and return true" do
- @element = FactoryGirl.create(:element, :name => 'text')
- @content = @element.contents.first
- @content.update_essence(:body => 'Mikes Petshop')
- @content.ingredient.should == "Mikes Petshop"
- end
+ it "should add error messages if save fails and return false" do
+ @element = FactoryGirl.create(:element, :name => 'contactform', :create_contents_after_create => true)
+ @content = @element.contents.first
+ @content.update_essence
+ @content.errors[:essence].should have(1).item
+ end
- it "should add error messages if save fails and return false" do
- @element = FactoryGirl.create(:element, :name => 'contactform')
- @content = @element.contents.first
- @content.update_essence
- @content.errors[:essence].should have(1).item
- end
+ it "should raise error if essence is missing" do
+ @element = FactoryGirl.create(:element, :name => 'text', :create_contents_after_create => true)
+ @content = @element.contents.first
+ @content.update_essence
+ end
- it "should raise error if essence is missing" do
- @element = FactoryGirl.create(:element, :name => 'text')
- @content = @element.contents.first
- @content.update_essence
end
- end
+ describe '#copy' do
- describe '#copy' do
+ before(:each) do
+ @element = FactoryGirl.create(:element, :name => 'text', :create_contents_after_create => true)
+ @content = @element.contents.first
+ end
- before(:each) do
- @element = FactoryGirl.create(:element, :name => 'text')
- @content = @element.contents.first
- end
+ it "should create a new record with all attributes of source except given differences" do
+ copy = Content.copy(@content, {:name => 'foobar', :element_id => @element.id + 1})
+ copy.name.should == 'foobar'
+ end
- it "should create a new record with all attributes of source except given differences" do
- copy = Alchemy::Content.copy(@content, {:name => 'foobar', :element_id => @element.id + 1})
- copy.name.should == 'foobar'
- end
+ it "should make a new record for essence of source" do
+ copy = Content.copy(@content, {:element_id => @element.id + 1})
+ copy.essence_id.should_not == @content.essence_id
+ end
- it "should make a new record for essence of source" do
- copy = Alchemy::Content.copy(@content, {:element_id => @element.id + 1})
- copy.essence_id.should_not == @content.essence_id
- end
+ it "should copy source essence attributes" do
+ copy = Content.copy(@content, {:element_id => @element.id + 1})
+ copy.essence.body == @content.essence.body
+ end
- it "should copy source essence attributes" do
- copy = Alchemy::Content.copy(@content, {:element_id => @element.id + 1})
- copy.essence.body == @content.essence.body
end
end
-
end