require "#{File.dirname(__FILE__)}/../test_helper"

class UserStoriesTest < ActionController::IntegrationTest
  fixtures :dives, :users
  
  def test_logging_a_dive
    Dive.delete_all
    User.delete_all
    
    #matt visits the front page
    get '/'
    assert_response :success
    assert_template 'list'
    
    #Matt creates an account
    post 'account/signup', :user => { :login => 'Matt', :email => 'quire@example.com', 
      :password => 'quire', :password_confirmation => 'quire' }
    assert_response :redirect
    assert_redirected_to :action => 'index', :controller => 'account'
    
    #there is a record of his new username
    assert User.count == 1, "There are #{User.count} user records"
    
    #he logs in
    post 'account/login', :login => 'Matt', :password => 'quire'
    assert session[:user].nil? == false
    
    #he has no dives
    user = User.find_by_login 'Matt'
    assert_equal user.dives.count, 0
    
    #he logs his first dive
    post 'dive/create', :dive => {:depth => 10, :bottom_time => 30, :date => 5.days.ago.to_s, :location => 'Monte Carlo Pool, Las Vegas, Nevada'}
    assert_response :redirect
    assert_redirected_to :action => 'list', :controller => 'dive'
    
    #he checks his stats
    
    #there is a dive in the database reflecting his log
    assert_equal Dive.count, 1
    
    
  end
  
end