Activity 1

Create a migration that copies the product price into the line item, and add_product method in the Cart model to capture the price whenever a new line item is created. Discuss

Hint: use LineItem.all.each to iterate over all of the existing line items inside your migration.

Activity 2

Add unit tests which add unique products and duplicate products. Note that you will need to modify the fixture to refer to products and carts by name, for example product: ruby. Discuss

Hint: add two tests to test/unit/cart_test.rb; in one test create a cart, add two different books to the cart, and then make assertions as to what the cart.line_items.size and cart.total_price should be. Make sure to save the LineItems that you create before making these assertions.

Activity 3

Check products and line items for other places where a user friendly error message would be in order. Discuss

Activity 4

Add the ability to delete individual line items from the cart. This will require buttons on each line, and such buttons will need to be linked to the destroy action in the LineItemsController Discuss