product_test.rb

来自「ruby on rails web敏捷开发之路第二版 源代码」· RB 代码 · 共 99 行

RB
99
字号
#---# 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 ProductTest < Test::Unit::TestCase      fixtures :products      def test_truth    assert true  end    def test_invalid_with_empty_attributes    product = Product.new    assert !product.valid?    assert product.errors.invalid?(:title)    assert product.errors.invalid?(:description)    assert product.errors.invalid?(:price)    assert product.errors.invalid?(:image_url)  end      def test_positive_price    product = Product.new(:title       => "My Book Title",                          :description => "yyy",                          :image_url   => "zzz.jpg")    product.price = -1    assert !product.valid?    assert_equal "should be at least 0.01", product.errors.on(:price)    product.price = 0    assert !product.valid?    assert_equal "should be at least 0.01", product.errors.on(:price)    product.price = 1    assert product.valid?  end      def test_image_url    ok = %w{ fred.gif fred.jpg fred.png FRED.JPG FRED.Jpg             http://a.b.c/x/y/z/fred.gif }    bad = %w{ fred.doc fred.gif/more fred.gif.more }        ok.each do |name|      product = Product.new(:title       => "My Book Title",                            :description => "yyy",                            :price       => 1,                            :image_url   => name)      assert product.valid?, product.errors.full_messages    end    bad.each do |name|      product = Product.new(:title => "My Book Title", :description => "yyy", :price => 1,                            :image_url => name)      assert !product.valid?, "saving #{name}"    end  end      def test_unique_title    product = Product.new(:title       => products(:ruby_book).title,                          :description => "yyy",                           :price       => 1,                           :image_url   => "fred.gif")    assert !product.save    assert_equal "has already been taken", product.errors.on(:title)  end      def test_unique_title1    product = Product.new(:title       => products(:ruby_book).title,                          :description => "yyy",                           :price       => 1,                           :image_url   => "fred.gif")    assert !product.save    assert_equal ActiveRecord::Errors.default_error_messages[:taken],                 product.errors.on(:title)  end    end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?