Sha256: 12a5cb23e14fcf88d863551d3120cfd23cc5895f0d9e8357f6660aaf990b61f7

Contents?: true

Size: 1.58 KB

Versions: 14

Compression:

Stored size: 1.58 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
      ignore do
        album_count 3
      end

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

    factory :artist_with_fans do
      ignore do
        fans_count 3
      end
      after(:create) do |artist, evaluator|
        create_list(:payment, evaluator.fans_count, artist: artist)
      end
    end

    factory :artist_with_stalkers do
      ignore do
        stalker_count 2
      end
      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
      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
    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

14 entries across 14 versions & 1 rubygems

Version Path
restpack_serializer-0.6.7 spec/support/factory.rb
restpack_serializer-0.6.6 spec/support/factory.rb
restpack_serializer-0.6.5 spec/support/factory.rb
restpack_serializer-0.6.4 spec/support/factory.rb
restpack_serializer-0.6.3 spec/support/factory.rb
restpack_serializer-0.6.2 spec/support/factory.rb
restpack_serializer-0.6.1 spec/support/factory.rb
restpack_serializer-0.5.10 spec/support/factory.rb
restpack_serializer-0.5.9 spec/support/factory.rb
restpack_serializer-0.5.8 spec/support/factory.rb
restpack_serializer-0.5.7 spec/support/factory.rb
restpack_serializer-0.5.6 spec/support/factory.rb
restpack_serializer-0.5.5 spec/support/factory.rb
restpack_serializer-0.5.4 spec/support/factory.rb