Sha256: 97b5cfed0d10b5654448f80fb87f425c88cd1f884ed0f11c7f4e8e4c60edfb63

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

FactoryGirl.define do
  factory :subscription, class: 'SolidusSubscriptions::Subscription' do
    store
    interval_length 1
    interval_units :month

    user do
      create(:user, :subscription_user).tap do |user|
        create(:credit_card, gateway_customer_profile_id: 'BGS-123', user: user, default: true)
      end
    end

    trait :with_line_item do
      transient do
        line_item_traits []
      end

      line_items { build_list :subscription_line_item, 1, *line_item_traits }
    end

    trait :with_address do
      association :shipping_address, factory: :address
    end

    trait :actionable do
      with_line_item
      actionable_date { Time.zone.now.yesterday.beginning_of_minute }
    end

    trait :not_actionable do
      with_line_item
      actionable_date { Time.zone.now.tomorrow.beginning_of_minute }
    end

    trait(:pending_cancellation) do
      actionable
      state { 'pending_cancellation' }
    end

    trait(:canceled) { state 'canceled' }
    trait(:inactive) { state 'inactive' }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
solidus_subscriptions-alpha-0.0.4 lib/solidus_subscriptions/testing_support/factories/subscription_factory.rb