Slide 1

Slide 1 text

Integration testing engines Thursday, 26 April 12

Slide 2

Slide 2 text

Disagree. Thursday, 26 April 12

Slide 3

Slide 3 text

Rails.application.routes.draw Thursday, 26 April 12

Slide 4

Slide 4 text

Rails.application.routes.draw bullshit. Thursday, 26 April 12

Slide 5

Slide 5 text

Nooooooo do not draw routes on the application!!! Fuck. I want to jump on stage. #railsconf https://twitter.com/ryanbigg/status/194501115524554754 Thursday, 26 April 12

Slide 6

Slide 6 text

Your::Engine.routes.draw Thursday, 26 April 12

Slide 7

Slide 7 text

Your::Engine.routes.draw real talk. Thursday, 26 April 12

Slide 8

Slide 8 text

Strongly Disagree. Thursday, 26 April 12

Slide 9

Slide 9 text

mount Your::Engine, :at => “path” Thursday, 26 April 12

Slide 10

Slide 10 text

mount Your::Engine, :at => “/” Thursday, 26 April 12

Slide 11

Slide 11 text

OMG!!! MY ROUTES ARE BROKEN!!! Thursday, 26 April 12

Slide 12

Slide 12 text

No. They’re not “broken” Thursday, 26 April 12

Slide 13

Slide 13 text

They are elsewhere. Thursday, 26 April 12

Slide 14

Slide 14 text

module Your class Engine < Rails::Engine isolate_namespace end end Thursday, 26 April 12

Slide 15

Slide 15 text

Your::Engine.routes.draw do resources :people end Thursday, 26 April 12

Slide 16

Slide 16 text

Rails.application.routes.draw do resources :people end Thursday, 26 April 12

Slide 17

Slide 17 text

your_engine.people_path main_app.people_path Thursday, 26 April 12

Slide 18

Slide 18 text

describe Spree::ProductsController it “should get all products” do get :index end end Thursday, 26 April 12

Slide 19

Slide 19 text

Thursday, 26 April 12

Slide 20

Slide 20 text

No route matches { :controller => “Spree::ProductsController”, :action => “index” } Thursday, 26 April 12

Slide 21

Slide 21 text

Lies, damned lies. Thursday, 26 April 12

Slide 22

Slide 22 text

describe Spree::ProductsController it “should get all products” do get :index, :use_route => :spree end end Thursday, 26 April 12

Slide 23

Slide 23 text

describe “products” do it “sees products” do visit products_path end end Thursday, 26 April 12

Slide 24

Slide 24 text

Thursday, 26 April 12

Slide 25

Slide 25 text

undefined method `products_path’ Thursday, 26 April 12

Slide 26

Slide 26 text

Lies, damned lies. (again) Thursday, 26 April 12

Slide 27

Slide 27 text

module Spree::Core::UrlHelpers def spree Spree::Core::Engine.routes.url_helpers end end Thursday, 26 April 12

Slide 28

Slide 28 text

describe “products” do it “sees products” do visit spree.products_path end end Thursday, 26 April 12

Slide 29

Slide 29 text

Thursday, 26 April 12

Slide 30

Slide 30 text

Rails 3 in Action manning.com/katz Chapter Thursday, 26 April 12