Sha256: cdb1a2c420487f504c47c64b8443596ee3c4c94ebe6581db9f95869e9cb9f694

Contents?: true

Size: 1.79 KB

Versions: 22

Compression:

Stored size: 1.79 KB

Contents

require 'spec_helper'

describe "Shipments", type: :feature do
  stub_authorization!

  let!(:order) { create(:order_ready_to_ship, number: "R100", state: "complete", line_items_count: 5) }

  # Regression test for #4025
  context "a shipment without a shipping method" do
    before do
      order.shipments.each do |s|
        # Deleting the shipping rates causes there to be no shipping methods
        s.shipping_rates.delete_all
      end
    end

    it "can still be displayed" do
      expect { visit spree.edit_admin_order_path(order) }.not_to raise_error
    end
  end

  context "shipping an order", js: true do
    before(:each) do
      visit spree.admin_orders_path
      within_row(1) do
        click_link "R100"
      end
    end

    it "can ship a completed order" do
      click_on "Ship"
      wait_for_ajax

      expect(page).to have_content("shipped package")
      expect(order.reload.shipment_state).to eq("shipped")
    end
  end

  context "moving variants between shipments", js: true do
    let!(:la) { create(:stock_location, name: "LA") }
    before(:each) do
      visit spree.admin_orders_path
      within_row(1) do
        click_link "R100"
      end
    end

    it "can move a variant to a new and to an existing shipment" do
      expect(order.shipments.count).to eq(1)

      within_row(1) { click_icon :split }
      targetted_select2 'LA', from: '#s2id_item_stock_location'
      click_icon :save
      wait_for_ajax
      expect(page.find("#shipment_#{order.shipments.first.id}")).to be_present

      within_row(2) { click_icon :split }
      targetted_select2 "LA(#{order.reload.shipments.last.number})", from: '#s2id_item_stock_location'
      click_icon :save
      wait_for_ajax
      expect(page.find("#shipment_#{order.reload.shipments.last.id}")).to be_present
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
spree_backend-3.3.0.rc1 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.5 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.2.1 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.2.0 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.4 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.2.0.rc3 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.2.0.rc2 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.2.0.rc1 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.3 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.2 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.0.10 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.1 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.0 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.0.rc4 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.0.9 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.0.rc3 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.0.rc2 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.1.0.rc1 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.0.8 spec/features/admin/orders/shipments_spec.rb
spree_backend-3.0.7 spec/features/admin/orders/shipments_spec.rb