Sha256: a8ad5f042c506152feb965b8fb943edbc58a851765f8305c8d1cbe2c1220999d

Contents?: true

Size: 1.49 KB

Versions: 6

Compression:

Stored size: 1.49 KB

Contents

require 'test_helper'

describe Seedbank::Runner do

  before do
    flexmock(FakeModel)
  end

  describe "seeds with dependency" do

    subject { Rake::Task['db:seed:dependent'] }

    it "runs the dependencies in order" do
      FakeModel.should_receive(:seed).with('dependency').once.ordered
      FakeModel.should_receive(:seed).with('dependent').once.ordered

      subject.invoke
    end
  end

  describe "seeds with multiple dependencies" do

    subject { Rake::Task['db:seed:dependent_on_several'] }

    it "runs the dependencies in order" do
      FakeModel.should_receive(:seed).with('dependency').once.ordered
      FakeModel.should_receive(:seed).with('dependency2').once.ordered
      FakeModel.should_receive(:seed).with('dependent on several').once.ordered

      subject.invoke
    end
  end

  describe "seeds with nested dependencies" do

    subject { Rake::Task['db:seed:dependent_on_nested'] }

    it "runs all dependencies in order" do
      FakeModel.should_receive(:seed).with('dependency').once.ordered
      FakeModel.should_receive(:seed).with('dependent').once.ordered
      FakeModel.should_receive(:seed).with('dependency2').once.ordered
      FakeModel.should_receive(:seed).with('dependent on nested').once.ordered

      subject.invoke
    end

  end

  describe "after with no block given" do
    
    subject { Rake::Task['db:seed:no_block'] }

    it "runs the dependencies" do
      FakeModel.should_receive(:seed).with('dependency').once.ordered

      subject.invoke
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
seedbank-0.2.1 test/lib/seedbank/runner_test.rb
seedbank-0.2.0 test/lib/seedbank/runner_test.rb
seedbank-0.2.0.pre test/lib/seedbank/runner_test.rb
seedbank-0.1.3 test/seedbank/runner_test.rb
seedbank-0.1.2 test/seedbank/runner_test.rb
seedbank-0.1.1 test/seedbank/runner_test.rb