Sha256: ffeab5a6987fdf3465bbd3206e58726ee1e5b159b192ce2092b93ede5d0682a1

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

require 'spec_helper'

describe RailsWizard::Template do
  subject{ RailsWizard::Template }
  let(:scroll){ RailsWizard::Scroll.generate('name','# test') }

  describe '#initialize' do
    it 'should work with classes' do
      subject.new([scroll]).scrolls.should == [scroll]
    end
  end

  describe '#scrolls_with_dependencies' do
    def r(*deps)
      mock(:Class, :requires => deps, :superclass => RailsWizard::Scroll)
    end

    subject do
      @template = RailsWizard::Template.new([]) 
      @template.stub!(:scrolls).and_return(@scrolls)
      @template.stub!(:scroll_classes).and_return(@scrolls)
      @template
    end
    
    it 'should return the same number scrolls if none have dependencies' do
      @scrolls = [r, r]
      subject.scrolls_with_dependencies.size.should == 2
    end

    it 'should handle simple dependencies' do
      @scrolls = [r(r, r), r(r)]
      subject.scrolls_with_dependencies.size.should == 5
    end

    it 'should handle multi-level dependencies' do
      @scrolls = [r(r(r))]
      subject.scrolls_with_dependencies.size.should == 3
    end

    it 'should uniqify' do
      a = r
      b = r(a)
      c = r(r, a, b)
      @scrolls = [a,b,c]
      subject.scrolls_with_dependencies.size.should == 4
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ey_rails_wizard-0.5.0 spec/rails_wizard/template_spec.rb
ey_rails_wizard-0.4.0 spec/rails_wizard/template_spec.rb