notebook/test/controllers/characters_controller_test.rb
2016-07-11 18:14:29 -05:00

77 lines
1.7 KiB
Ruby

require 'test_helper'
# Tests for the CharactersController class
class CharactersControllerTest < ActionController::TestCase
include Devise::TestHelpers
setup do
@request.env["devise.mapping"] = Devise.mappings[:user]
@user = create(:user)
@universe = create(:universe, user: @user)
sign_in @user
end
test 'should get index' do
get :index
assert_response :success
assert_not_nil assigns(:content)
end
test 'should get new' do
get :new
assert_response :success
end
test 'should create character' do
character = build(:character, universe: @universe, age: 70)
assert_difference('Character.count') do
post :create, character: {
age: character.age,
name: character.name,
universe: character.universe
}
end
assert_redirected_to character_path(assigns(:content))
end
test 'should show character' do
character = create(:character, user: @user)
get :show, id: character.id
assert_response :success
end
test 'should get edit' do
character = create(:character, user: @user)
get :edit, id: character.id
assert_response :success
end
test 'should update character' do
character = create(:character, age: 70, universe: @universe, user: @user)
put :update, id: character.id, character: {
age: character.age,
name: character.name,
universe: character.universe
}
assert_response 302
assert_redirected_to character_path(character)
end
test 'should destroy character' do
character = create(:character, user: @user)
assert_difference('Character.count', -1) do
delete :destroy, id: character.id
end
assert_redirected_to characters_url
end
end