8.5 Iteration C5 - Caching 8.3 Iteration C3: Use a Helper to Format the Price
Demonstrate use of assert_select to test views.
Verify that the tests still pass.
rake test
Run options:
# Running tests:
.....
Finished tests in 0.094738s, 52.7771 tests/s, 242.7748 assertions/s.
5 tests, 23 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
Run options:
# Running tests:
........
Finished tests in 0.125292s, 63.8509 tests/s, 87.7949 assertions/s.
8 tests, 11 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
Add tests for layout, product display, and formatting, using counts, string comparisons, and regular expressions.
edit test/functional/store_controller_test.rb
require 'test_helper'
class StoreControllerTest < ActionController::TestCase
test "should get index" do
get :index
assert_response :success
assert_select '#columns #side a', minimum: 4
assert_select '#main .entry', 3
assert_select 'h3', 'Programming Ruby 1.9'
assert_select '.price', /\$[,\d]+\.\d\d/
end
end
Review fixure data
edit test/fixtures/products.yml
# Read about fixtures at
# http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
one:
title: MyString
description: MyText
image_url: MyString
price: 9.99
two:
title: MyString
description: MyText
image_url: MyString
price: 9.99
ruby:
title: Programming Ruby 1.9
description:
Ruby is the fastest growing and most exciting dynamic
language out there. If you need to get working programs
delivered fast, you should add Ruby to your toolbox.
price: 49.50
image_url: ruby.png
Show that the tests pass.
rake test:functionals
Run options:
# Running tests:
........
Finished tests in 0.133015s, 60.1438 tests/s, 112.7696 assertions/s.
8 tests, 15 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
8.5 Iteration C5 - Caching 8.3 Iteration C3: Use a Helper to Format the Price