Sha256: 25cd675be57106754182f4c38d4d9dbfeace3ecdb993efbeda4f88251f9b32a4

Contents?: true

Size: 1.28 KB

Versions: 2

Compression:

Stored size: 1.28 KB

Contents

require 'test_helper'

class InheritanceTest < ActiveSupport::TestCase

  setup do
    Fabricators.define do
      fabricator :user do
        name 'name'
        fabricator :user_with_age do
          age 9
        end
      end
      fabricator :user_with_email, parent: :user do
        email 'mail@example.com'
      end
    end
  end

  test "return attributes" do
    user_with_age = attributes_for(:user_with_age)
    assert_equal 'name', user_with_age[:name]
    assert_equal 9, user_with_age[:age]

    user_with_email = attributes_for(:user_with_email)
    assert_equal 'name', user_with_email[:name]
    assert_equal 'mail@example.com', user_with_email[:email]
  end

  test "build instance" do
    user_with_age = build(:user_with_age)
    assert_equal 'name', user_with_age.name
    assert_equal 9, user_with_age.age
 
    user_with_email = build(:user_with_email)
    assert_equal 'name', user_with_email.name
    assert_equal 'mail@example.com', user_with_email.email
  end

  test "create instance" do
    user_with_age = create(:user_with_age)
    assert_equal 'name', user_with_age.name
    assert_equal 9, user_with_age.age

    user_with_email = create(:user_with_email)
    assert_equal 'name', user_with_email.name
    assert_equal 'mail@example.com', user_with_email.email
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fabricators-0.0.4 test/inheritance_test.rb
fabricators-0.0.1 test/inheritance_test.rb