|
|
| 16 |
41 |
|
| 5 | 5 | class ExercisesController; def rescue_action(e) raise e end; end |
| 6 | 6 | |
| 7 | 7 | class ExercisesControllerTest < Test::Unit::TestCase |
| 8 | | fixtures :exercises |
| 8 | fixtures :exercises, :activities |
| 9 | 9 | |
| 10 | 10 | def setup |
| 11 | 11 | @controller = ExercisesController.new |
| --- | --- | |
| 13 | 13 | @response = ActionController::TestResponse.new |
| 14 | 14 | end |
| 15 | 15 | |
| 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) |
| 20 | 20 | end |
| 21 | 21 | |
| 22 | 22 | 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 |
| 24 | 26 | assert_response :success |
| 25 | 27 | 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 |
| 26 | 34 | |
| 27 | 35 | def test_should_create_exercise |
| 28 | 36 | assert_difference('Exercise.count') do |
| 29 | | post :create, :exercise => { } |
| 37 | post :create, :activity_id => activities(:bench_press).id, :exercise => exercises(:bench_press_set).attributes |
| 30 | 38 | 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 |
| 31 | 48 | |
| 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' |
| 33 | 54 | end |
| 34 | 55 | |
| 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 | |
| 35 | 63 | 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 |
| 37 | 65 | assert_response :success |
| 38 | 66 | end |
| 39 | 67 | |
| 40 | 68 | 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 |
| 42 | 70 | assert_response :success |
| 43 | 71 | end |
| 44 | 72 | |
| 45 | 73 | 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) |
| 48 | 76 | end |
| 49 | 77 | |
| 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 | |
| 50 | 84 | def test_should_destroy_exercise |
| 51 | 85 | 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 |
| 53 | 87 | end |
| 88 | assert_redirected_to activity_path(activities(:bench_press).id) |
| 89 | end |
| 54 | 90 | |
| 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' |
| 56 | 95 | end |
| 96 | |
| 57 | 97 | end |