Sha256: c64ff2790bb8be9ac6f00be2c06fe360dfed2c3b4bbabe018a6610b624520a8a

Contents?: true

Size: 1.46 KB

Versions: 35

Compression:

Stored size: 1.46 KB

Contents

require 'spec_helper'

module Spree
  describe Api::InventoryUnitsController do
    render_views

    before do
      stub_authentication!
      @inventory_unit = create(:inventory_unit)
    end

    context "as an admin" do
      sign_in_as_admin!

      it "gets an inventory unit" do
        api_get :show, :id => @inventory_unit.id
        json_response['state'].should eq @inventory_unit.state
      end

      it "updates an inventory unit (only shipment is accessable by default)" do
        api_put :update, :id => @inventory_unit.id,
                         :inventory_unit => { :shipment => nil }
        json_response['shipment_id'].should be_nil
      end

      context 'fires state event' do
        it 'if supplied with :fire param' do
          api_put :update, :id => @inventory_unit.id,
                           :fire => 'ship',
                           :inventory_unit => { :shipment => nil }

          json_response['state'].should eq 'shipped'
        end

        it 'and returns exception if cannot fire' do
          api_put :update, :id => @inventory_unit.id,
                           :fire => 'return'
          json_response['exception'].should match /cannot transition to return/
        end

        it 'and returns exception bad state' do
          api_put :update, :id => @inventory_unit.id,
                           :fire => 'bad'
          json_response['exception'].should match /cannot transition to bad/
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
spree_api-2.2.14 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.13 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.12 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.11 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.10 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.9 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.1.12 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.8 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.1.11 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.7 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.1.10 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.4.0.rc2 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.4.0.rc1 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.3.4 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.1.9 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.6 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.3.3 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.3.2 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.2.5 spec/controllers/spree/api/inventory_units_controller_spec.rb
spree_api-2.1.8 spec/controllers/spree/api/inventory_units_controller_spec.rb