Sha256: 2e8ca36a210ed059487dd109a80297f1dbd5535255dda7a43823c4df644f99a2

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

FactoryGirl.define do
  sequence(:tag_list) {|n| "common,test#{n},rspec#{n},ruby#{n},#rails#{n}" }
  sequence(:slug) {|n| "#{Faker::Lorem.word}-#{Faker::Lorem.word}-#{n}" }
  sequence(:author_id)

  factory :user, :class => User do
    email { Faker::Internet.safe_email }
    password { Faker::Lorem.characters(10) }
  end

  factory :post, :class => Almanac::Post do
    title { Faker::Lorem.sentence(3) }
    slug { generate(:slug) }
    excerpt { Faker::Lorem.sentence(1) }
    body { Faker::Lorem.paragraph(5) }
    published true
    tag_list { generate(:tag_list) }
    author_id { generate(:author_id) }
    written_at { Date.today }

    factory :post_draft do
      published false
    end

    association :blog, factory: :blog
  end

  factory :blog, :class => Almanac::Blog do
    title { Faker::Lorem.sentence(2) }
    description { Faker::Lorem.paragraph(3) }
    author_id { generate(:author_id) }

    factory :blog_with_posts do
      ignore do
        posts_count 15
      end

      after(:create) do |blog, evaluator|
        create_list(:post, evaluator.posts_count, blog: blog)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
almanac-0.9.2 spec/factories.rb
almanac-0.9.1 spec/factories.rb
almanac-0.9.0 spec/factories.rb