Sha256: 288e3df56cb465d16342550dd90249afa66241c3a4b2d95a87384c8796d2d8f5

Contents?: true

Size: 1.84 KB

Versions: 1

Compression:

Stored size: 1.84 KB

Contents

require File.dirname(__FILE__) + '/test_helper'
require 'fileutils'

require 'beer'
require 'drunkard'
require 'glass'

# TODO Test limit params
# TODO Test renaming
# TODO Examine contents of fixture and skeleton dump
class ArFixturesTest < Test::Unit::TestCase
  fixtures :beers, :drunkards, :beers_drunkards, :glasses
  include FileUtils

  def setup
    %w(db test/fixtures).each { |dir| mkdir_p File.join(RAILS_ROOT, dir) }
  end
  
  def test_dump_to_file
    %w(pilsner tripel).each {|name| Beer.create(:name => name) }
    
    assert_equal 2, Beer.count
    Beer.dump_to_file
    assert File.exist?(File.join(RAILS_ROOT, 'db', 'beers.yml'))
    
    Beer.destroy_all
    assert_equal 0, Beer.count
    Beer.load_from_file
    assert_equal 2, Beer.count, "#{Beer.find(:all).to_yaml}"
  end

  def test_load_from_file
    cp  File.join(RAILS_ROOT, 'fixtures', 'glasses.yml'), 
        File.join(RAILS_ROOT, 'db', 'glasses.yml')
    assert_equal 0, Glass.count
    Glass.load_from_file
    assert_equal 2, Glass.count
  end

  def test_to_fixture
    Beer.to_fixture
    assert File.exist?(File.join(RAILS_ROOT, 'test', 'fixtures', 'beers.yml'))
    assert File.exist?(File.join(RAILS_ROOT, 'test', 'fixtures', 'beers_drunkards.yml'))
  end
  
  def test_habtm_to_fixture
    Beer.habtm_to_fixture
    assert File.exist?(File.join(RAILS_ROOT, 'test', 'fixtures', 'beers_drunkards.yml'))
  end
  
  def test_to_skeleton
    Beer.to_skeleton
    assert File.exist?(File.join(RAILS_ROOT, 'test', 'fixtures', 'beers.yml'))
  end

  def test_should_use_erb
    Beer.delete_all
    
    cp  File.join(RAILS_ROOT, 'fixtures', 'beers.yml'), 
        File.join(RAILS_ROOT, 'db', 'beers.yml')
    assert_equal 0, Beer.count
    Beer.load_from_file
    assert_equal 2, Beer.count    
  end

  def teardown
    %w(db test).each { |dir| rm_rf File.join(RAILS_ROOT, dir) }    
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
topfunky-ar_fixtures-0.0.4 test/ar_fixtures_test.rb