require 'test_helper'

class SalesTest < ActionController::IntegrationTest
  fixtures :all

  def test_ad_submission_and_login_requirements
    get ''
    assert_template 'ads'
    assert_select 'p', :count => 4
    get 'ads/sub', :type => 'rent'
    assert_response :success
    assert_template 'ads/sub'
    chwalter = users(:one)

    get '/ads/new'
    assert_response :redirect   
    follow_redirect!
    assert_response :success
    assert_template 'sessions/new'

    post '/session', :name => chwalter.name, :password => chwalter.password
    assert_response :redirect
    follow_redirect!
    assert_template 'ads/new'

    post '/ads', :user_id => chwalter.id, :ad => {
       :description => 'Scottsdale resort home',
       :category => 'vacation homes'
    }
    assert_response :redirect
    follow_redirect!
    assert_template 'ads/show'
    chwalter_ads = chwalter.ads.last

    get "/users/#{chwalter.id}"
    assert_response :success
    assert_template 'users/show'
    assert_select 'p', :count => 3

    get "/ads/sub", :type => 'vacation'
    assert_select 'tr', :count => 2
    assert_select 'td', :text => 'Scottsdale resort home'
  end

end
