📄 user_stories_test.rb
字号:
# Copyright (c) 2006 The Pragmatic Programmers, LLC.# Reproduced from the book "Agile Web Development with Rails, 2nd Ed.",# published by The Pragmatic Bookshelf.# Available from www.pragmaticprogrammer.com/titles/rails2# # Permission is hereby granted, free of charge, to any person obtaining a copy# of this source code (the "Software"), to deal in the Software without# restriction, including without limitation the rights to use, copy, modify,# merge, publish, distribute, sublicense, and/or sell copies of the Software,# and to permit persons to whom the Software is furnished to do so, subject to# the following conditions:# # 1) This Software cannot be used in any training course or seminar, whether# presented live, via video, audio, screencast, or any other media, without# explicit prior permission from the publisher.# # 2) The above copyright notice and this permission notice shall be included in# all copies or substantial portions of the Software.# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN# THE SOFTWARE. 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 #START:setup LineItem.delete_all Order.delete_all ruby_book = products(:ruby_book) #END:setup #START:step1 get "/store/index" assert_response :success assert_template "index" #END:step1 #START:step2 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 #END:step2 #START:step3 post "/store/checkout" assert_response :success assert_template "checkout" #END:step3 #START:step4 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 #END:step4 #START:step5 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 #END:step5 endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -