Sha256: fddb690369829a97a179c2c5dfd6cae191fcd430b10509df1cf598882725896c

Contents?: true

Size: 1.83 KB

Versions: 2

Compression:

Stored size: 1.83 KB

Contents

require 'spec_helper'
require 'taza/fixture'
require 'extensions/array'

describe Taza::Fixture do
  before :each do
    #TODO: we should generate the base project in a temp dir
    @base_path = File.join(@original_directory,'spec','sandbox','fixtures','')
  end

  it "should be able to load entries from fixtures" do
    fixture = Taza::Fixture.new
    fixture.load_fixtures_from(@base_path)
    example = fixture.get_fixture_entity(:examples,'first_example')
    example.name.should eql("first")
    example.price.should eql(1)
  end

  it "should use the spec fixtures folder as the base path" do
    Taza::Fixture.base_path.should eql('./spec/fixtures/')
  end

  it "should know if a pluralized fixture of that name exists" do
    fixture = Taza::Fixture.new
    fixture.load_fixtures_from(@base_path)
    fixture.pluralized_fixture_exists?('example').should be_true
    fixture.pluralized_fixture_exists?('boo').should be_false
  end

  it "should be able to get all fixtures loaded excluding sub-folder fixtures" do
    fixture = Taza::Fixture.new
    fixture.load_fixtures_from(@base_path)
    fixture.fixture_names.should be_equivalent([:examples,:users,:foos])
  end

  it "should be able to get specific fixture entities" do
    fixture = Taza::Fixture.new
    fixture.load_fixtures_from(@base_path)
    examples = fixture.specific_fixture_entities(:examples, ['third_example'])
    examples.length.should eql(1)
    examples['third_example'].name.should eql('third')
  end

  it "should not modified the fixtures when you get specific entities off a fixture" do
    fixture = Taza::Fixture.new
    fixture.load_fixtures_from(@base_path)
    previous_count = fixture.get_fixture(:examples).length
    examples = fixture.specific_fixture_entities(:examples, ['third_example'])
    fixture.get_fixture(:examples).length.should eql(previous_count)
  end

 end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
taza-0.9.2.1 spec/taza/fixture_spec.rb
taza-0.9.2.0 spec/taza/fixture_spec.rb