test:integration Expected response to be a <:redirect>, but was <404>

Hello,

I'm trying to write some tests and I get a failure error on one test, which I am not sure why or where is my mistake.

In my test/integration/product_test.rb I have:

require 'test_helper'

class ProductTest < ActionController::IntegrationTest   fixtures :all

  test "product_administartion_by_admin" do     category = Category.create(:name => 'Parts')

    quentin = new_session_as(:quentin)     product = quentin.add_product :product => {       :title => 'Clip',       :category_id => category.id,       :sku => 54321,       :desctription => 'some text',       :price => 8.71     }   end

  private

  module ProductTestDSL     attr_writer :name

    def add_product(parameters)       post "/product/create", parameters       assert_response :redirect       follow_redirect!       assert_response :success       assert_template "/product/show"       return Product.find_by_title(parameters[:product][:title])     end   end

  def new_session_as(name)     open_session do |session|       session.extend(ProductTestDSL)       session.name = name       yield session if block_given?     end   end end

Changing add_product method to this passes without failure. I've noticed before that I don't use urls with /show anymore -- therefore eliminated it from the method. What I wanted to ask is: is this code good enough? or am I missing something important? TIA

def add_product(parameters)       category = Category.find(:all).first

      get 'products/new'       assert_response :success       assert_template "products/new.html.erb"       assert_tag :tag => 'option', :attributes => { :value => category.id }

      post 'products/create', parameters       assert_response :redirect       follow_redirect!       assert_response :success       assert_template "products/show.html.erb"       return Product.find_by_title(parameters[:product][:title])     end