2014-11-20 11:29:32 +09:00
require " test_helper "
2010-04-20 23:05:11 +00:00
class ArtistControllerTest < ActionController :: TestCase
fixtures :users
2014-08-23 16:19:01 +09:00
2010-04-20 23:05:11 +00:00
def create_artist ( name , params = { } )
2024-01-08 19:39:01 +09:00
Artist . create ( { updater_id : 1 , updater_ip_addr : " 127.0.0.1 " , name : name } . merge ( params ) )
2010-04-20 23:05:11 +00:00
end
def test_destroy
artist = create_artist ( " bob " )
2014-08-23 16:19:01 +09:00
2024-01-08 19:39:01 +09:00
post :destroy , params : { id : artist . id , commit : " Yes " } , session : { user_id : 1 }
assert_redirected_to action : " index "
2010-04-20 23:05:11 +00:00
assert_nil ( Artist . find_by_name ( " bob " ) )
end
2014-08-23 16:19:01 +09:00
2010-04-20 23:05:11 +00:00
def test_update
artist = create_artist ( " bob " )
2014-08-23 16:19:01 +09:00
2024-01-08 19:39:01 +09:00
get :update , params : { id : artist . id } , session : { user_id : 4 }
2010-04-20 23:05:11 +00:00
assert_response :success
2024-01-08 19:39:01 +09:00
post :update , params : { id : artist . id , artist : { name : " monet " , urls : " http://monet.com/home \n http://monet.com/links \n " , alias_names : " claude, oscar " , member_names : " john, mary " , notes : " Claude Oscar Monet " } } , session : { user_id : 4 }
2010-04-20 23:05:11 +00:00
artist . reload
assert_equal ( " monet " , artist . name )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
monet = Artist . find_by_name ( " monet " )
assert_not_nil ( monet )
2024-01-08 19:39:01 +09:00
assert_redirected_to controller : " artist " , action : " show " , id : monet . id
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
claude = Artist . find_by_name ( " claude " )
assert_not_nil ( claude )
assert_equal ( monet . id , claude . alias_id )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
oscar = Artist . find_by_name ( " oscar " )
assert_not_nil ( oscar )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
john = Artist . find_by_name ( " john " )
assert_not_nil ( john )
assert_equal ( monet . id , john . group_id )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
mary = Artist . find_by_name ( " mary " )
assert_not_nil ( mary )
2024-01-08 19:39:01 +09:00
assert_equal ( [ " http://monet.com/home " , " http://monet.com/links " ] , monet . artist_urls . map ( & :url ) . sort )
2010-04-20 23:05:11 +00:00
end
2014-08-23 16:19:01 +09:00
2010-04-20 23:05:11 +00:00
def test_create
2024-01-08 19:39:01 +09:00
get :create , session : { user_id : 4 }
2010-04-20 23:05:11 +00:00
assert_response :success
2014-08-23 16:19:01 +09:00
2024-01-08 19:39:01 +09:00
post :create , params : { artist : { name : " monet " , urls : " http://monet.com/home \n http://monet.com/links \n " , alias_names : " claude, oscar " , member_names : " john, mary " , notes : " Claude Oscar Monet " } } , session : { user_id : 4 }
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
monet = Artist . find_by_name ( " monet " )
assert_not_nil ( monet )
2024-01-08 19:39:01 +09:00
assert_redirected_to controller : " artist " , action : " show " , id : monet . id
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
claude = Artist . find_by_name ( " claude " )
assert_not_nil ( claude )
assert_equal ( monet . id , claude . alias_id )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
oscar = Artist . find_by_name ( " oscar " )
assert_not_nil ( oscar )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
john = Artist . find_by_name ( " john " )
assert_not_nil ( john )
assert_equal ( monet . id , john . group_id )
2016-08-16 07:50:23 +09:00
2010-04-20 23:05:11 +00:00
mary = Artist . find_by_name ( " mary " )
assert_not_nil ( mary )
2024-01-08 19:39:01 +09:00
assert_equal ( [ " http://monet.com/home " , " http://monet.com/links " ] , monet . artist_urls . map ( & :url ) . sort )
2010-04-20 23:05:11 +00:00
end
2014-08-23 16:19:01 +09:00
2010-04-20 23:05:11 +00:00
def test_show
monet = create_artist ( " monet " )
2024-01-08 19:39:01 +09:00
get :show , params : { id : monet . id }
assert_redirected_to controller : " wiki " , action : " show " , title : monet . name
2010-04-20 23:05:11 +00:00
end
2014-08-23 16:19:01 +09:00
2010-04-20 23:05:11 +00:00
def test_index
create_artist ( " monet " )
2024-01-08 19:39:01 +09:00
create_artist ( " pablo " , alias_name : " monet " )
create_artist ( " hanaharu " , group_name : " monet " )
2010-04-20 23:05:11 +00:00
get :index
assert_response :success
2014-08-23 16:19:01 +09:00
2010-04-20 23:05:11 +00:00
# TODO: add additional cases
end
2015-05-31 17:06:40 +09:00
test " preview for artist notes, blank parameter " do
post :preview
assert_response :success
end
2010-04-20 23:05:11 +00:00
end