redmine_glossary/test/functional/glossary_terms_controller_test.rb

60 lines
1.8 KiB
Ruby
Raw Normal View History

require File.expand_path('../../test_helper', __FILE__)
class GlossaryTermsControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles
plugin_fixtures :glossary_terms
def setup
@project = projects('projects_001')
@project.enabled_module_names = [:glossary]
roles('roles_001').add_permission! :view_glossary, :manage_glossary
end
def test_index
@request.session[:user_id] = users('users_002').id
get :index, params: {project_id: 1}
assert_response :success
end
def test_edit
@request.session[:user_id] = users('users_002').id
get :edit, params: {id: 1, project_id: 1}
assert_response :success
assert_select 'form', true
end
def test_update
@request.session[:user_id] = users('users_002').id
patch :update, params: {id: 1, project_id: 1, glossary_term: {
name: 'rosso'
}}
term = GlossaryTerm.find(1)
assert_redirected_to project_glossary_term_path(@project, term)
assert_equal 'rosso', term.name
end
def test_new
@request.session[:user_id] = users('users_002').id
get :new, params: {project_id: 1}
assert_response :success
assert_select 'form', true
end
def test_create
@request.session[:user_id] = users('users_002').id
post :create, params: { project_id: 1, glossary_term: {
name: 'white', category_id: 1
}}
term = GlossaryTerm.find_by(name: 'white')
assert_not_nil term
assert_redirected_to project_glossary_term_path(@project, term)
end
def test_destroy
@request.session[:user_id] = users('users_002').id
delete :destroy, params: {id: 1, project_id: 1}
assert_raise(ActiveRecord::RecordNotFound) { GlossaryTerm.find(1) }
assert_redirected_to project_glossary_terms_path(@project)
end
end