10.1 Iteration E1: Creating a Smarter Cart 9.3 Iteration D3: Adding a button
Once again, get the tests working, and add tests for the smarter cart.
See that the tests fail.
rails test
Run options: --seed 54572
# Running:
.......E
Error:
LineItemsControllerTest#test_should_create_line_item:
ActiveRecord::RecordNotFound: Couldn't find Product with 'id'=
app/controllers/line_items_controller.rb:35:in `create'
test/controllers/line_items_controller_test.rb:20:in `block (2 levels) in <class:LineItemsControllerTest>'
test/controllers/line_items_controller_test.rb:19:in `block in <class:LineItemsControllerTest>'
bin/rails test test/controllers/line_items_controller_test.rb:18
....................
Finished in 0.482262s, 58.0598 runs/s, 132.7080 assertions/s.
28 runs, 64 assertions, 0 failures, 1 errors, 0 skips
Update parameters passed as well as expected target of redirect
edit test/controllers/line_items_controller_test.rb
test "should create line_item" do
assert_difference('LineItem.count') do
post line_items_url, params: { product_id: products(:ruby).id }
end
follow_redirect!
assert_select 'h2', 'Your Pragmatic Cart'
assert_select 'li', 'Programming Ruby 1.9'
end
Rerun the previously failing test to verify the fix.
rails test test/controllers/line_items_controller_test.rb
Run options: --seed 51972
# Running:
.......
Finished in 0.288099s, 24.2972 runs/s, 41.6524 assertions/s.
7 runs, 12 assertions, 0 failures, 0 errors, 0 skips
10.1 Iteration E1: Creating a Smarter Cart 9.3 Iteration D3: Adding a button