The Depot Application

The Depot Application

25.1 Sending E-mail 23.11 Adding New Templating Systems

25.1 Sending E-mail

</3 tests, 9 assertions, 0 failures, 0 errors/> expected but was
<"Resolving dependencies">.

Traceback:
  /home/rubys/git/awdwr/work-191/vendor/rails/actionpack/lib/action_dispatch/testing/assertions/selector.rb:303:in `assert_select'
  /home/rubys/git/awdwr/checkdepot.rb:1068:in `block in <class:DepotTest>'
  /home/rubys/git/gorp/lib/gorp/test.rb:53:in `instance_eval'
  /home/rubys/git/gorp/lib/gorp/test.rb:53:in `block in section'
  /home/rubys/git/gorp/lib/gorp/test.rb:39:in `instance_eval'
  /home/rubys/git/gorp/lib/gorp/test.rb:39:in `block in test'
ruby -rubygems /home/rubys/git/rails/railties/bin/rails mailer
      create  
      create  README
      create  .gitignore
      create  Rakefile
      create  config.ru
      create  Gemfile
      create  app
      create  app/helpers/application_helper.rb
      create  app/controllers/application_controller.rb
      create  app/views/layouts
      create  app/models
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/environments
      create  config/environments/test.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/initializers
      create  config/initializers/session_store.rb
      create  config/initializers/inflections.rb
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/cookie_verification_secret.rb
      create  config/initializers/mime_types.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  doc
      create  doc/README_FOR_APP
      create  lib
      create  lib/tasks
      create  lib/tasks/.gitkeep
      create  log
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
      create  public
      create  public/404.html
      create  public/500.html
      create  public/index.html
      create  public/robots.txt
      create  public/422.html
      create  public/favicon.ico
      create  public/images
      create  public/images/rails.png
      create  public/stylesheets
      create  public/stylesheets/.gitkeep
      create  public/javascripts
      create  public/javascripts/rails.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  script
      create  script/rails
      create  test
      create  test/performance/browsing_test.rb
      create  test/test_helper.rb
      create  test/integration
      create  test/unit
      create  test/functional
      create  test/fixtures
      create  tmp
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
bundle install
Resolving dependencies
Installing abstract (1.0.0) from system gems 
Installing actionmailer (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing actionpack (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activemodel (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activerecord (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activeresource (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activesupport (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing arel (0.2.1) from system gems 
Installing builder (2.1.2) from system gems 
Installing bundler (0.9.4) from system gems 
Installing erubis (2.6.5) from system gems 
Installing i18n (0.3.3) from system gems 
Installing mail (2.1.2) from system gems 
Installing memcache-client (1.7.8) from system gems 
Installing mime-types (1.16) from system gems 
Installing rack (1.1.0) from system gems 
Installing rack-mount (0.4.7) from system gems 
Installing rack-test (0.5.3) from system gems 
Installing rails (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing railties (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing rake (0.8.7) from system gems 
Installing sqlite3-ruby (1.2.5) from system gems 
Installing text-format (1.0.0) from system gems 
Installing text-hyphen (1.0.0) from system gems 
Installing thor (0.13.0) from system gems 
Installing tzinfo (0.3.16) from system gems 
Your bundle is complete!
edit config/routes.rb
Mailer::Application.routes.draw do |map|
  # ...
 
  # This is a legacy wild controller route that's not recommended for RESTful applications.
  # Note: This route will make all actions in every controller accessible via GET requests.
   match ':controller(/:action(/:id(.:format)))'
end
rails generate mailer OrderMailer confirm sent
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:14: warning: already initialized constant VERSION
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:14: warning: already initialized constant RubyGemsVersion
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:194: warning: already initialized constant MUTEX
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:196: warning: already initialized constant RubyGemsPackageVersion
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:202: warning: already initialized constant WIN_PATTERNS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:1079: warning: already initialized constant MARSHAL_SPEC_DIR
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:1084: warning: already initialized constant YAML_SPEC_DIR
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:72: warning: already initialized constant VERSION_PATTERN
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:20: warning: already initialized constant OPS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:30: warning: already initialized constant OP_RE
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:246: warning: already initialized constant Requirement
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:18: warning: already initialized constant TYPES
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:171: warning: already initialized constant RUBY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:177: warning: already initialized constant CURRENT
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:39: warning: already initialized constant NONEXISTENT_SPECIFICATION_VERSION
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:50: warning: already initialized constant CURRENT_SPECIFICATION_VERSION
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:56: warning: already initialized constant SPECIFICATION_VERSION_HISTORY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:72: warning: already initialized constant MARSHAL_FIELDS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:75: warning: already initialized constant TODAY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:593: warning: already initialized constant Cache
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:14: warning: already initialized constant DEFAULT_BACKTRACE
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:15: warning: already initialized constant DEFAULT_BENCHMARK
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:16: warning: already initialized constant DEFAULT_BULK_THRESHOLD
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:17: warning: already initialized constant DEFAULT_VERBOSITY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:18: warning: already initialized constant DEFAULT_UPDATE_SOURCES
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:24: warning: already initialized constant OPERATING_SYSTEM_DEFAULTS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:30: warning: already initialized constant PLATFORM_DEFAULTS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:53: warning: already initialized constant SYSTEM_WIDE_CONFIG_FILE
      create  app/mailers/order_mailer.rb
      invoke  erb
      create    app/views/order_mailer
      create    app/views/order_mailer/confirm.text.erb
      create    app/views/order_mailer/sent.text.erb
      invoke  test_unit
      create    test/functional/order_mailer_test.rb
      create    test/fixtures/order_mailer/confirm
      create    test/fixtures/order_mailer/sent
cp -vr /home/rubys/git/awdwr/data/code/e1/mailer/db/migrate db
`/home/rubys/git/awdwr/data/code/e1/mailer/db/migrate' -> `db/migrate'
`/home/rubys/git/awdwr/data/code/e1/mailer/db/migrate/002_create_line_items.rb' -> `db/migrate/002_create_line_items.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/db/migrate/001_create_products.rb' -> `db/migrate/001_create_products.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/db/migrate/004_populate_data.rb' -> `db/migrate/004_populate_data.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/db/migrate/003_create_orders.rb' -> `db/migrate/003_create_orders.rb'
cp -v /home/rubys/git/awdwr/data/code/e1/mailer/app/controllers/* app/controllers
`/home/rubys/git/awdwr/data/code/e1/mailer/app/controllers/application.rb' -> `app/controllers/application.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/controllers/order_controller.rb' -> `app/controllers/order_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/controllers/test_controller.rb' -> `app/controllers/test_controller.rb'
cp -v /home/rubys/git/awdwr/data/code/e1/mailer/app/models/* app/models
`/home/rubys/git/awdwr/data/code/e1/mailer/app/models/incoming_ticket_handler.rb' -> `app/models/incoming_ticket_handler.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/models/line_item.rb' -> `app/models/line_item.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/models/order.rb' -> `app/models/order.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/models/order_mailer.rb' -> `app/models/order_mailer.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/models/product.rb' -> `app/models/product.rb'
cp -vr /home/rubys/git/awdwr/data/code/e1/mailer/test .
`/home/rubys/git/awdwr/data/code/e1/mailer/test/functional/order_mailer_test.rb' -> `./test/functional/order_mailer_test.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/test/functional/order_controller_test.rb' -> `./test/functional/order_controller_test.rb'
`/home/rubys/git/awdwr/data/code/e1/mailer/test/fixtures/line_items.yml' -> `./test/fixtures/line_items.yml'
`/home/rubys/git/awdwr/data/code/e1/mailer/test/fixtures/products.yml' -> `./test/fixtures/products.yml'
`/home/rubys/git/awdwr/data/code/e1/mailer/test/fixtures/orders.yml' -> `./test/fixtures/orders.yml'
`/home/rubys/git/awdwr/data/code/e1/mailer/test/fixtures/order_mailer/confirm' -> `./test/fixtures/order_mailer/confirm'
`/home/rubys/git/awdwr/data/code/e1/mailer/test/fixtures/order_mailer/sent' -> `./test/fixtures/order_mailer/sent'
cp -vr /home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer app/views
`/home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer/survey.text.plain.erb' -> `app/views/order_mailer/survey.text.plain.erb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer/confirm.erb' -> `app/views/order_mailer/confirm.erb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer/survey.text.html.erb' -> `app/views/order_mailer/survey.text.html.erb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer/_line_item.erb' -> `app/views/order_mailer/_line_item.erb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer/sent.erb' -> `app/views/order_mailer/sent.erb'
`/home/rubys/git/awdwr/data/code/e1/mailer/app/views/order_mailer/_html_line_item.erb' -> `app/views/order_mailer/_html_line_item.erb'
mv app/models/order_mailer.rb app/mailers/
mv confirm.erb confirm.text.erb
mv _line_item.erb _line_item.text.erb
mv sent.erb sent.html.erb
edit sent.html.erb
<h3>Pragmatic Order Shipped</h3>
<p>
  This is just to let you know that we've shipped your recent order:
</p>
 
<table>
 <tr><th colspan="2">Qty</th><th>Description</th></tr>
 <%= render(:partial => "line_item", :collection => @order.line_items) %>
</table>
mv _html_line_item.erb _line_item.htlm.erb
rm sent.text.erb

Restart the server.

rake db:migrate
mv 001_create_products.rb 20100301000001_create_products.rb
mv 002_create_line_items.rb 20100301000002_create_line_items.rb
mv 003_create_orders.rb 20100301000003_create_orders.rb
mv 004_populate_data.rb 20100301000004_populate_data.rb
(in /home/rubys/git/awdwr/work-191/mailer)
==  CreateProducts: migrating =================================================
-- create_table(:products)
   -> 0.0013s
==  CreateProducts: migrated (0.0014s) ========================================
 
==  CreateLineItems: migrating ================================================
-- create_table(:line_items)
   -> 0.0011s
==  CreateLineItems: migrated (0.0012s) =======================================
 
==  CreateOrders: migrating ===================================================
-- create_table(:orders)
   -> 0.0012s
==  CreateOrders: migrated (0.0013s) ==========================================
 
==  PopulateData: migrating ===================================================
==  PopulateData: migrated (0.0905s) ==========================================
 
get /test/create_order
Date: Thu, 11 Feb 2010 14:22:51 -0500
From: orders@example.com
To: dave@example.com
Message-ID: <4b74590b17e84_60ae181987846935@rubix4.mail>
Subject: Pragmatic Store Order Confirmation
Mime-Version: 1.0
Content-Type: text/plain;
	charset="utf-8";
Content-Transfer-Encoding: 7bit

Dear Dave Thomas

Thank you for your recent order from The Pragmatic Store.

You ordered the following items:

 1 x Programming Ruby, 2nd Edition
 1 x Pragmatic Project Automation


We'll send you a separate e-mail when your order ships.


get /test/ship_order
Thank you...
rake test
(in /home/rubys/git/awdwr/work-191/mailer)
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:14: warning: already initialized constant VERSION
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:14: warning: already initialized constant RubyGemsVersion
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:194: warning: already initialized constant MUTEX
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:196: warning: already initialized constant RubyGemsPackageVersion
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:202: warning: already initialized constant WIN_PATTERNS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:1079: warning: already initialized constant MARSHAL_SPEC_DIR
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems.rb:1084: warning: already initialized constant YAML_SPEC_DIR
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:72: warning: already initialized constant VERSION_PATTERN
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:20: warning: already initialized constant OPS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:30: warning: already initialized constant OP_RE
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:246: warning: already initialized constant Requirement
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:18: warning: already initialized constant TYPES
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:171: warning: already initialized constant RUBY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:177: warning: already initialized constant CURRENT
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:39: warning: already initialized constant NONEXISTENT_SPECIFICATION_VERSION
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:50: warning: already initialized constant CURRENT_SPECIFICATION_VERSION
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:56: warning: already initialized constant SPECIFICATION_VERSION_HISTORY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:72: warning: already initialized constant MARSHAL_FIELDS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:75: warning: already initialized constant TODAY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:593: warning: already initialized constant Cache
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:14: warning: already initialized constant DEFAULT_BACKTRACE
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:15: warning: already initialized constant DEFAULT_BENCHMARK
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:16: warning: already initialized constant DEFAULT_BULK_THRESHOLD
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:17: warning: already initialized constant DEFAULT_VERBOSITY
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:18: warning: already initialized constant DEFAULT_UPDATE_SOURCES
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:24: warning: already initialized constant OPERATING_SYSTEM_DEFAULTS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:30: warning: already initialized constant PLATFORM_DEFAULTS
/home/rubys/.rvm/ruby-1.9.1-p376/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:53: warning: already initialized constant SYSTEM_WIDE_CONFIG_FILE
DEPRECATION WARNING: OrderMailer.deliver_confirm is deprecated, use OrderMailer.confirm.deliver instead. (called from method_missing at /home/rubys/git/rails/actionmailer/lib/action_mailer/base.rb:344)
DEPRECATION WARNING: Giving a hash to body is deprecated, please use instance variables instead. (called from process at /home/rubys/git/rails/actionmailer/lib/action_mailer/old_api.rb:78)
DEPRECATION WARNING: OrderMailer.create_confirm is deprecated, use OrderMailer.confirm instead. (called from method_missing at /home/rubys/git/rails/actionmailer/lib/action_mailer/base.rb:344)
DEPRECATION WARNING: Giving a hash to body is deprecated, please use instance variables instead. (called from process at /home/rubys/git/rails/actionmailer/lib/action_mailer/old_api.rb:78)
Loaded suite /home/rubys/.rvm/gems/ruby-1.9.1-p376/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
DEPRECATION WARNING: OrderMailer.create_sent is deprecated, use OrderMailer.sent instead. (called from method_missing at /home/rubys/git/rails/actionmailer/lib/action_mailer/base.rb:344)
DEPRECATION WARNING: Giving a hash to body is deprecated, please use instance variables instead. (called from process at /home/rubys/git/rails/actionmailer/lib/action_mailer/old_api.rb:78)
E..
Finished in 0.278868 seconds.
 
  1) Error:
test_confirm(OrderControllerTest):
TypeError: can't convert Mail::Body to String
    /home/rubys/git/awdwr/work-191/mailer/test/functional/order_controller_test.rb:25:in `test_confirm'
    /home/rubys/git/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb:32:in `block in run'
    /home/rubys/git/rails/activesupport/lib/active_support/callbacks.rb:437:in `_run_setup_callbacks'
    /home/rubys/git/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb:31:in `run'
 
3 tests, 9 assertions, 0 failures, 1 errors, 0 skips
Errors running test:functionals!