Sha256: 50d90bccf4599b4decd5908627cdf7edfea3565d70e569a8cba26f44081226cb

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

describe Customize::InheritNode do

	before :each do
		described_class.delete_all
	end

	context :single_tree do
		context :one do
			let(:root) { described_class.create! :node_type=>"Node", :node_id=>1 }

			it { root.left.should == (root.right-1) }
		end

		context :two do
			before :each do
				@root = described_class.create!(:node_type=>"Node", :node_id=>2)
				@node = described_class.create!(:node_type=>"Node", :node_id=>3, :parent_id=>@root.id)
				@root.reload
			end

			it :node_right do
				@root.right.should == (@node.right+1)
			end
			it :node_left do 
				@root.left.should == (@node.left-1)
			end

			it :destroy do
				@last = described_class.create!(:node_type=>"Node", :node_id=>4)
				@node.destroy
				@last.reload
				@root.reload
				@root.left.should == (@root.right - 1)
				@last.left.should == (@root.right + 1)
			end

		end

	end
	context :forest do
		context :lvl_one do
			before :each do
				@root = (1..3).collect do |i|
				described_class.create :node_type=>"Node", :node_id=>i
				end
				@node = described_class.create :node_type=>"Node", :node_id=>4, :parent_id=>@root.first.id
			end

			let(:root){described_class.where(:node_type=>"Node", :parent_id=>nil)}
			let(:node){described_class.find_by_node_id 4}

			it :first_left do (root.first.left + 1).should == node.left end
			it :first_right do
				root.reload
				(root.first.right - 1).should == node.right
			end
			it :second do (root[1].left - 1).should == root.first.right end
		end
	end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
customize-0.0.8 spec/customize/inherit_node_spec.rb