Sha256: e9d2c7b46a4e2d2246e7c0c80b4e92c30b41a7325b33193a82227b84cb2efe5a

Contents?: true

Size: 1.2 KB

Versions: 12

Compression:

Stored size: 1.2 KB

Contents

FactoryGirl.define do
  factory :user do
    email { "#{name.gsub(' ', '.').downcase}@gemvein.com" }
    password "password"
    password_confirmation "password"
    transient do
      plan { PaidUp::Plan.order("RANDOM()").first }
      past_due false
    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 |user, evaluator|
      if evaluator.past_due
        token = Stripe::Token.create(
          card: {
            number: '4000000000000341',
            exp_month: 1,
            exp_year: 45,
            cvc: '111'
          }
        ).id
        trial_end = 5.seconds.from_now.to_time.to_i
      else
        token = Stripe::Token.create(
            card: {
                number: '4242424242424242',
                exp_month: 1,
                exp_year: 45,
                cvc: '111'
            }
        ).id
        trial_end = nil
      end
      user.subscribe_to_plan(evaluator.plan, token, trial_end)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
paid_up-0.9.13 spec/factories/user.rb
paid_up-0.9.12 spec/factories/user.rb
paid_up-0.9.11 spec/factories/user.rb
paid_up-0.9.10 spec/factories/user.rb
paid_up-0.9.9 spec/factories/user.rb
paid_up-0.9.8 spec/factories/user.rb
paid_up-0.9.7 spec/factories/user.rb
paid_up-0.9.6 spec/factories/user.rb
paid_up-0.9.5 spec/factories/user.rb
paid_up-0.9.4 spec/factories/user.rb
paid_up-0.9.3 spec/factories/user.rb
paid_up-0.9.2 spec/factories/user.rb