user_stories_test.rb
来自「ruby on rails web敏捷开发之路第二版 源代码」· RB 代码 · 共 72 行
RB
72 行
#---# Excerpted from "Agile Web Development with Rails, 2nd Ed."# We make no guarantees that this code is fit for any purpose. # Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.#---require "#{File.dirname(__FILE__)}/../test_helper"class UserStoriesTest < ActionController::IntegrationTest fixtures :products # A user goes to the store index page. They select a product, adding # it to their cart. They then check out, filling in their details on # the checkout form. When they submit, an order is created in the # database containing their information, along with a single line # item corresponding to the product they added to their cart. def test_buying_a_product LineItem.delete_all Order.delete_all ruby_book = products(:ruby_book) get "/store/index" assert_response :success assert_template "index" xml_http_request "/store/add_to_cart", :id => ruby_book.id assert_response :success cart = session[:cart] assert_equal 1, cart.items.size assert_equal ruby_book, cart.items[0].product post "/store/checkout" assert_response :success assert_template "checkout" post_via_redirect "/store/save_order", :order => { :name => "Dave Thomas", :address => "123 The Street", :email => "dave@pragprog.com", :pay_type => "check" } assert_response :success assert_template "index" assert_equal 0, session[:cart].items.size orders = Order.find(:all) assert_equal 1, orders.size order = orders[0] assert_equal "Dave Thomas", order.name assert_equal "123 The Street", order.address assert_equal "dave@pragprog.com", order.email assert_equal "check", order.pay_type assert_equal 1, order.line_items.size line_item = order.line_items[0] assert_equal ruby_book, line_item.product endend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?