Sha256: 4dd22c7324f3589cb60f7073f196ef438bdac7eb1bd97a8bce82f5d5866262fe

Contents?: true

Size: 1.73 KB

Versions: 9

Compression:

Stored size: 1.73 KB

Contents

require 'test_helper'

class Admin::ShipmentsControllerTest < ActionController::TestCase
  setup do
    UserSession.create(Factory(:admin_user))
  end

  context "on GET to :edit" do
    setup do
      create_complete_order
      @order.complete!
      get :edit, :order_id => @order.id, :id => @order.shipment.id
    end
    should_respond_with :success
    should_render_template "edit"
  end
  
  context "changing shipping method" do 
    setup do
      @new_shipping_method = Factory(:shipping_method)
      c = @new_shipping_method.calculator
      c.preferred_amount = 5.0
      c.save!
      
      create_complete_order
      @order.complete!
    end
  
    context "without recalculate checked" do
      setup do
        put :update, :order_id => @order.id, :id => @order.shipment.id, :shipment => {:shipping_method_id => @new_shipping_method.id}
        @order.reload
      end
      should_respond_with :redirect
      should "not change ship_total" do
        assert_equal 10.0, @order.ship_total
      end
    end

    context "with recalculate checked" do
      setup do
        put :update, :order_id => @order.id, :id => @order.shipment.id, 
          :shipment => {:shipping_method_id => @new_shipping_method.id}, 
          :recalculate => '1'
        @order.reload
      end
      should_change("@order.ship_total", :to => 5) { @order.ship_total }
    end    
    
    context "trying to update shipment that's already shipped" do
      setup do
        @order.shipment.update_attribute(:state, 'shipped')
        put :update, :order_id => @order.id, :id => @order.shipment.id, 
          :shipment => {:shipping_method_id => @new_shipping_method.id}
        @order.reload
      end
      should_redirect_to_authorization_failure
    end
  
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
spree-0.11.4 test/functional/admin/shipments_controller_test.rb
spree-0.11.3 test/functional/admin/shipments_controller_test.rb
spree-0.11.2 test/functional/admin/shipments_controller_test.rb
spree-0.11.1 test/functional/admin/shipments_controller_test.rb
spree-0.11.0 test/functional/admin/shipments_controller_test.rb
spree-0.10.2 test/functional/admin/shipments_controller_test.rb
spree-0.10.1 test/functional/admin/shipments_controller_test.rb
spree-0.10.0 test/functional/admin/shipments_controller_test.rb
spree-0.10.0.beta test/functional/admin/shipments_controller_test.rb