Sha256: 98e312cf9544464904ae943f3ca015dec6b743321f46f2810cc75a488bfc853a

Contents?: true

Size: 819 Bytes

Versions: 8

Compression:

Stored size: 819 Bytes

Contents

FactoryGirl.define do
  factory :group do
    title { Faker::Lorem.sentence }
    description { Faker::Lorem.paragraphs([*1..5].sample).join("\n\n") }
    transient do
      owner { User.order("RANDOM()").first }
      member_count 5
    end
    # the after(:create) yields two values; the user instance itself and the
    # evaluator, which stores all values from the factory, including transient
    # attributes; `create_list`'s second argument is the number of records
    # to create and we make sure the user is associated properly to the post
    after(:create) do |group, evaluator|
      evaluator.owner.add_role(:owner, group)
      User.where('id != ?', evaluator.owner.id).order("RANDOM()").limit(evaluator.member_count).find_each do |user|
        user.add_role(:member, group)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
message_train-0.1.7 spec/factories/group.rb
message_train-0.1.6 spec/factories/group.rb
message_train-0.1.5 spec/factories/group.rb
message_train-0.1.4 spec/factories/group.rb
message_train-0.1.3 spec/factories/group.rb
message_train-0.1.2 spec/factories/group.rb
message_train-0.1.1 spec/factories/group.rb
message_train-0.1.0 spec/factories/group.rb