Sha256: e57f12373008bbbf518031f9ad6ecc44ac04536bf7aa2705d62aa4208a704570

Contents?: true

Size: 1.26 KB

Versions: 22

Compression:

Stored size: 1.26 KB

Contents

describe Spree::Order, type: :model do
  let(:order) { create(:order_with_totals) }

  context "ensure shipments will be updated" do
    before { Spree::Shipment.create!(order: order, stock_location: create(:stock_location)) }

    it "destroys current shipments" do
      order.ensure_updated_shipments
      expect(order.shipments).to be_empty
    end

    it "puts order back in address state" do
      order.ensure_updated_shipments
      expect(order.state).to eq 'address'
    end

    it "resets shipment_total" do
      order.update_column(:shipment_total, 5)
      order.ensure_updated_shipments
      expect(order.shipment_total).to eq(0)
    end

    context "except when order is completed, that's OrderInventory job" do
      it "doesn't touch anything" do
        allow(order).to receive_messages completed?: true
        order.update_column(:shipment_total, 5)
        order.shipments.create!(stock_location: create(:stock_location))

        expect {
          order.ensure_updated_shipments
        }.not_to change { order.shipment_total }

        expect {
          order.ensure_updated_shipments
        }.not_to change { order.shipments }

        expect {
          order.ensure_updated_shipments
        }.not_to change { order.state }
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
spree_core-3.3.0.rc1 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.5 spec/models/spree/order/shipments_spec.rb
spree_core-3.2.1 spec/models/spree/order/shipments_spec.rb
spree_core-3.2.0 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.4 spec/models/spree/order/shipments_spec.rb
spree_core-3.2.0.rc3 spec/models/spree/order/shipments_spec.rb
spree_core-3.2.0.rc2 spec/models/spree/order/shipments_spec.rb
spree_core-3.2.0.rc1 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.3 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.2 spec/models/spree/order/shipments_spec.rb
spree_core-3.0.10 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.1 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.0 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.0.rc4 spec/models/spree/order/shipments_spec.rb
spree_core-3.0.9 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.0.rc3 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.0.rc2 spec/models/spree/order/shipments_spec.rb
spree_core-3.1.0.rc1 spec/models/spree/order/shipments_spec.rb
spree_core-3.0.8 spec/models/spree/order/shipments_spec.rb
spree_core-3.0.7 spec/models/spree/order/shipments_spec.rb