Sha256: f0514f1b94fcdc2799499beecf10442c5fa169514e16e219ad2031f7bc97a142

Contents?: true

Size: 988 Bytes

Versions: 3

Compression:

Stored size: 988 Bytes

Contents

  require 'factory_girl'

FactoryGirl.define do
  factory :artist, :class => MyApp::Artist do
    sequence(:name) {|n| "Artist ##{n}" }
    sequence(:website) {|n| "http://website#{n}.com/" }

    factory :artist_with_albums do
      ignore do
        album_count 3
      end

      after(:create) do |artist, evaluator|
        create_list(:album_with_songs, evaluator.album_count, artist: artist)
      end
    end
  end

  factory :album, :class => MyApp::Album do
    sequence(:title) {|n| "Album ##{n}" }
    sequence(:year) {|n| 1960 + n }
    artist

    factory :album_with_songs do
      ignore do
        song_count 10
      end

      after(:create) do |album, evaluator|
        create_list(:song, evaluator.song_count, album: album, artist: album.artist)
      end
    end
  end

  factory :song, :class => MyApp::Song do
    sequence(:title) {|n| "Song ##{n}" }
    artist
    album
  end

  factory :payment, :class => MyApp::Payment do
    amount 999
    artist
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
restpack_serializer-0.4.5 spec/support/factory.rb
restpack_serializer-0.4.4 spec/support/factory.rb
restpack_serializer-0.4.3 spec/support/factory.rb