|
1 | | -require 'factory_girl' |
| 1 | +require 'factory_bot' |
| 2 | +require_relative './models' |
2 | 3 |
|
3 | | -FactoryGirl.define do |
4 | | - factory :category, class: Category do |
5 | | - sequence(:title) { |n| "Title for Category #{n}" } |
6 | | - end |
7 | | - |
8 | | - factory :post, class: Post do |
9 | | - association :author, factory: :user |
10 | | - category |
11 | | - |
12 | | - sequence(:id) { |n| n } |
13 | | - sequence(:title) { |n| "Title for Post #{n}" } |
14 | | - sequence(:body) { |n| "Body for Post #{n}" } |
15 | | - content_type :article |
16 | | - hidden_field 'It\'s a hidden field!' |
17 | | - end |
| 4 | +# require 'byebug'; byebug |
18 | 5 |
|
| 6 | +FactoryBot.define do |
19 | 7 | factory :user, class: User do |
20 | 8 | sequence(:id) { |n| n } |
21 | 9 | sequence(:first_name) { |n| "User##{n}" } |
|
24 | 12 | after(:create) { |user| create(:profile, user: user) } |
25 | 13 |
|
26 | 14 | trait :with_posts do |
27 | | - transient { post_count 3 } |
| 15 | + transient { post_count { 3 } } |
28 | 16 | after(:create) do |user, e| |
29 | 17 | create_list(:post, e.post_count, author: user) |
30 | 18 | end |
|
37 | 25 | sequence(:nickname) { |n| "Nickname##{n}" } |
38 | 26 | sequence(:location) { |n| "Location##{n}" } |
39 | 27 | end |
| 28 | + |
| 29 | + factory :post, class: Post do |
| 30 | + association :author, factory: :user |
| 31 | + category |
| 32 | + |
| 33 | + sequence(:id) { |n| n } |
| 34 | + sequence(:title) { |n| "Title for Post #{n}" } |
| 35 | + sequence(:body) { |n| "Body for Post #{n}" } |
| 36 | + content_type { :article } |
| 37 | + hidden_field { 'It\'s a hidden field!' } |
| 38 | + end |
| 39 | + |
| 40 | + factory :category, class: Category do |
| 41 | + sequence(:title) { |n| "Title for Category #{n}" } |
| 42 | + end |
40 | 43 | end |
0 commit comments