avatar

41

add tons of tests for exercises

by chrisk, 24 Jun, 2007 12:48 PM
16 41  
2626 
2727   def test_should_create_activity
2828     assert_difference('Activity.count') do
29       post :create, :activity => { }
29       post :create, :activity => activities(:bench_press).attributes
3030     end
3131 
3232     assert_redirected_to activity_path(assigns(:activity))
16 41  
55 class ExercisesController; def rescue_action(e) raise e end; end
66 
77 class ExercisesControllerTest < Test::Unit::TestCase
8   fixtures :exercises
8   fixtures :exercises, :activities
99 
1010   def setup
1111     @controller = ExercisesController.new
------
1313     @response   = ActionController::TestResponse.new
1414   end
1515 
16   def test_should_get_index
17     get :index
18     assert_response :success
19     assert assigns(:exercises)
16   def test_should_redirect_index_to_activities
17     get :index, :activity_id => activities(:bench_press).id
18     assert_response :redirect
19     assert_redirected_to activity_path(activities(:bench_press).id)
2020   end
2121 
2222   def test_should_get_new
23     get :new
23     get :new, :activity_id => activities(:bench_press).id
24     assert_equal assigns(:exercise).weight, nil
25     assert_equal assigns(:exercise).reps, nil
2426     assert_response :success
2527   end
28   
29   def test_should_get_new_from_existing_record
30     get :new, :id => exercises(:bench_press_set).id, :activity_id => activities(:bench_press).id
31     assert_equal assigns(:exercise).weight, exercises(:bench_press_set).weight
32     assert_equal assigns(:exercise).reps, exercises(:bench_press_set).reps
33   end
2634 
2735   def test_should_create_exercise
2836     assert_difference('Exercise.count') do
29       post :create, :exercise => { }
37       post :create, :activity_id => activities(:bench_press).id, :exercise => exercises(:bench_press_set).attributes
3038     end
39     assert_redirected_to activity_path(assigns(:exercise).activity)
40   end
41   
42   def test_should_redirect_to_todays_workout_if_created_today
43     assert_difference('Exercise.count') do
44       post :create, :activity_id => exercises(:today_set).activity_id, :exercise => exercises(:today_set).attributes
45     end
46     assert_redirected_to :controller => 'workouts', :action => 'today'
47   end
3148 
32     assert_redirected_to exercise_path(assigns(:exercise))
49   def test_should_respond_422_and_render_new_on_invalid_create
50     post :create, :id => exercises(:bench_press_set).id, :activity_id => exercises(:bench_press_set).activity_id,
51                   :exercise => { :reps => nil }
52     assert_response :unprocessable_entity
53     assert_template 'new'
3354   end
3455 
56   def test_should_respond_422_and_render_edit_on_invalid_update
57     post :update, :id => exercises(:bench_press_set).id, :activity_id => exercises(:bench_press_set).activity_id,
58                   :exercise => { :reps => nil }
59     assert_response :unprocessable_entity
60     assert_template 'edit'
61   end
62 
3563   def test_should_show_exercise
36     get :show, :id => 1
64     get :show, :id => exercises(:bench_press_set).id, :activity_id => exercises(:bench_press_set).activity_id
3765     assert_response :success
3866   end
3967 
4068   def test_should_get_edit
41     get :edit, :id => 1
69     get :edit, :id => exercises(:bench_press_set).id, :activity_id => exercises(:bench_press_set).activity_id
4270     assert_response :success
4371   end
4472 
4573   def test_should_update_exercise
46     put :update, :id => 1, :exercise => { }
47     assert_redirected_to exercise_path(assigns(:exercise))
74     put :update, :id => exercises(:bench_press_set).id, :activity_id => exercises(:bench_press_set).activity_id
75     assert_redirected_to activity_path(assigns(:exercise).activity)
4876   end
4977 
78   def test_should_redirect_to_todays_workout_if_updated_record_was_created_today
79     put :update, :id => exercises(:today_set).id, :activity_id => exercises(:today_set).activity_id,
80                  :exercise => exercises(:today_set).attributes
81     assert_redirected_to :controller => 'workouts', :action => 'today'
82   end
83 
5084   def test_should_destroy_exercise
5185     assert_difference('Exercise.count', -1) do
52       delete :destroy, :id => 1
86       delete :destroy, :id => exercises(:bench_press_set).id, :activity_id => exercises(:bench_press_set).activity_id
5387     end
88     assert_redirected_to activity_path(activities(:bench_press).id)
89   end
5490 
55     assert_redirected_to exercises_path
91   def test_should_redirect_to_todays_workout_if_destroyed_record_was_created_today
92     delete :destroy, :id => exercises(:today_set).id, :activity_id => exercises(:today_set).activity_id,
93                  :exercise => exercises(:today_set).attributes
94     assert_redirected_to :controller => 'workouts', :action => 'today'
5695   end
96 
5797 end