Sha256: 0465672f1b14c754eabd2cd61c3b837088127a49da761531a4a88b508976f00d

Contents?: true

Size: 1.51 KB

Versions: 8

Compression:

Stored size: 1.51 KB

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
      transient { album_count 3 }

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

    factory :artist_with_fans do
      transient { fans_count 3 }

      after(:create) do |artist, evaluator|
        create_list(:payment, evaluator.fans_count, artist: artist)
      end
    end

    factory :artist_with_stalkers do
      transient { stalker_count 2 }

      after(:create) do |artist, evaluator|
        create_list(:stalker, evaluator.stalker_count, artists: [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
      transient { song_count 10 }

      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
    fan
  end

  factory :fan, class: MyApp::Fan do
    sequence(:name) { |n| "Fan ##{n}" }
  end

  factory :stalker, class: MyApp::Stalker do
    sequence(:name) { |n| "Stalker ##{n}" }
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
restpack_serializer-0.6.15 spec/support/factory.rb
restpack_serializer-0.6.14 spec/support/factory.rb
restpack_serializer-0.6.13 spec/support/factory.rb
restpack_serializer-0.6.12 spec/support/factory.rb
restpack_serializer-0.6.11 spec/support/factory.rb
restpack_serializer-0.6.10 spec/support/factory.rb
restpack_serializer-0.6.9 spec/support/factory.rb
restpack_serializer-0.6.8 spec/support/factory.rb