From d57e64cf7e78d6ddd5a4d12bc30d7bbcae1c909d Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Fri, 14 Jan 2022 19:17:35 +0000 Subject: [PATCH] Add new order factories for checkout steps --- spec/factories/order_factory.rb | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/spec/factories/order_factory.rb b/spec/factories/order_factory.rb index 0bd6a8c718..2baa4bc92a 100644 --- a/spec/factories/order_factory.rb +++ b/spec/factories/order_factory.rb @@ -11,6 +11,39 @@ FactoryBot.define do completed_at { nil } email { user&.email || customer.email } + factory :order_ready_for_details do + distributor { create(:distributor_enterprise, with_payment_and_shipping: true) } + order_cycle { create(:order_cycle, distributors: [distributor]) } + + after(:create) do |order| + order.line_items << build(:line_item, order: order) + order.updater.update_totals_and_states + + order.order_cycle.exchanges.outgoing.first.variants << order.line_items.first.variant + end + + factory :order_ready_for_payment do + bill_address + ship_address + + after(:create) do |order, evaluator| + order.select_shipping_method evaluator.shipping_method.id + OrderWorkflow.new(order).advance_to_payment + end + + factory :order_ready_for_confirmation do + transient do + payment_method { create(:payment_method, distributors: [distributor]) } + end + + after(:create) do |order, evaluator| + order.payments << build(:payment, amount: order.total, payment_method: evaluator.payment_method) + order.next! + end + end + end + end + factory :order_with_totals do after(:create) do |order| create(:line_item, order: order)