redirect on browser success, but redirect on functional test is error

40 views
Skip to first unread message

Taro Kimura

unread,
Sep 23, 2013, 2:48:14 PM9/23/13
to rubyonra...@googlegroups.com
line_items.yml:
one:
product_id: 1
cart_id: 1
quantity: 1

carts.yml:
one: {}

product.rb:
has_many :line_items

cart.rb:
has_many :line_items, dependent: :destroy

line_item.rb:
belongs_to :product
belongs_to :cart

line_item_controller.rb:
def destroy
@line_item = LineItem.find(params[:id])
@cart = @line_item.cart
@line_item.destroy

respond_to do |format|
format.html { redirect_to @cart }
format.json { head :no_content }
end
end

line_item_controller_test.rb:

setup do
@line_item = line_items(:one)
end

test "should destroy line_item" do
@cart = @line_item.cart
assert_difference('LineItem.count', -1) do
delete :destroy, id: @line_item
end

assert_redirected_to @cart
end


----------------------------------------------
rake test:functionals

1) Error:
test_should_destroy_line_item(LineItemsControllerTest):
ActionController::ActionControllerError: Cannot redirect to nil!

------------------------------------------------

@cart in line_items_controller.rb may be nil, when executing functional
test.

Accessing by browser "line_items/20/ post:delete", correctly redirected
show cart that contain line_items(id:20)

why is functional test error?

--
Posted via http://www.ruby-forum.com/.

jsnark

unread,
Sep 24, 2013, 8:51:12 AM9/24/13
to rubyonra...@googlegroups.com
carts.yml does not create the cart with id=1 that LineItem.find(1) refers to.

Reply all
Reply to author
Forward
0 new messages