1 require File.dirname(__FILE__) + '/../test_helper'
6 class BuilderTest < Test::Unit::TestCase
10 created_on_time = Time.now.to_s(:db)
12 Doozer.define :user do
13 field_order :name, :email, :password
14 defaults :password=>'???', :created_on=>created_on_time
15 before_generate do |atts|
17 atts[:login] = Doozer.object_list[:user][:row_names][atts[:id]-1].to_s unless atts.has_key?(:login)
24 user :bob, "Bob", "bob@yahoo.com", "Bobo"
25 user "Other", "other@gmail.com"
27 @created_on_time = created_on_time
30 should "generate output yaml string" do # ------------------------------
32 out = Doozer::Builder.build_output_for_type(:user)
33 data = YAML::load(out)
40 'email'=>'bob@yahoo.com',
42 'created_on'=>@created_on_time
48 'email'=>'other@gmail.com',
50 'created_on'=>@created_on_time
54 assert_equal expected_data, data
57 should "generate yaml fixture files" do # ------------------------------
59 Doozer.define :node do
71 assert_nothing_raised(RuntimeError) do
72 Doozer::Builder.write_fixtures(File.join(File.dirname(__FILE__), '..', 'fixtures'))
74 assert_raise(RuntimeError) do
75 Doozer::Builder.write_fixtures(File.join(File.dirname(__FILE__), "crap"))