2
0
mirror of https://github.com/moebooru/moebooru synced 2025-08-22 18:07:25 +00:00
moebooru/test/functional/wiki_controller_test.rb

133 lines
3.3 KiB
Ruby
Raw Normal View History

require File.dirname(__FILE__) + "/../test_helper"
class WikiControllerTest < ActionController::TestCase
fixtures :users
2014-08-23 16:19:01 +09:00
def create_page(title, params = {})
WikiPage.create({:title => title, :body => title, :user_id => 1, :ip_addr => "127.0.0.1", :is_locked => false}.merge(params))
end
2014-08-23 16:19:01 +09:00
def test_destroy
page = create_page("hoge")
2014-08-23 16:19:01 +09:00
post :destroy, {:title => "hoge"}, {:user_id => 2}
assert_nil(WikiPage.find_by_id(page.id))
end
2014-08-23 16:19:01 +09:00
def test_lock
page = create_page("hoge")
2014-08-23 16:19:01 +09:00
post :lock, {:title => "hoge"}, {:user_id => 2}
page.reload
assert_equal(true, page.is_locked?)
2014-08-23 16:19:01 +09:00
post :unlock, {:title => "hoge"}, {:user_id => 2}
page.reload
assert_equal(false, page.is_locked?)
end
2014-08-23 16:19:01 +09:00
def test_index
page1 = create_page("hoge")
page2 = create_page("moge")
2014-08-23 16:19:01 +09:00
get :index
assert_response :success
2014-08-23 16:19:01 +09:00
get :index, {:query => "moge"}
assert_response :success
end
2014-08-23 16:19:01 +09:00
def test_preview
get :preview, {:body => "hoge moge soge"}
assert_response :success
end
2014-08-23 16:19:01 +09:00
def test_create
get :add, {:title => "moge"}, {:user_id => 4}
assert_response :success
post :create, {:wiki_page => {:title => "hoge", :body => "hoge hoge"}}, {:user_id => 4}
page = WikiPage.find_by_title("hoge")
assert_not_nil(page)
assert_equal("hoge hoge", page.body)
end
2014-08-23 16:19:01 +09:00
def test_update
page = create_page("hoge")
page.update_attributes(:body => "moge moge")
2014-08-23 16:19:01 +09:00
get :edit, {:title => "hoge"}, {:user_id => 4}
assert_response :success
2014-08-23 16:19:01 +09:00
get :edit, {:title => "hoge", :version => 1}, {:user_id => 4}
assert_response :success
2014-08-23 16:19:01 +09:00
post :update, {:wiki_page => {:title => "hoge", :body => "soge king"}}, {:user_id => 4}
page.reload
assert_equal("soge king", page.body)
end
2014-08-23 16:19:01 +09:00
def test_show
page = create_page("hoge")
page.update_attributes(:body => "moge moge")
2014-08-23 16:19:01 +09:00
get :show, {:title => "hoge"}
assert_response :success
end
2014-08-23 16:19:01 +09:00
def test_revert_unlocked
page = create_page("hoge")
page.update_attributes(:body => "hoge 2")
page.update_attributes(:body => "hoge 3")
2014-08-23 16:19:01 +09:00
post :revert, {:title => "hoge", :version => 1}, {:user_id => 4}
page.reload
assert_equal("hoge", page.body)
end
def test_revert_locked
page = create_page("hoge", :is_locked => true)
page.update_attributes(:body => "hoge hoge")
page.update_attributes(:body => "hoge hoge hoge")
2014-08-23 16:19:01 +09:00
post :revert, {:title => "hoge", :version => 2}, {:user_id => 4}
page.reload
assert_equal("hoge hoge hoge", page.body)
end
2014-08-23 16:19:01 +09:00
def test_recent_changes
page1 = create_page("hoge")
page2 = create_page("moge")
page2.update_attributes(:body => "moge moge")
page2.update_attributes(:body => "moge moge moge")
2014-08-23 16:19:01 +09:00
get :recent_changes
assert_response :success
end
2014-08-23 16:19:01 +09:00
def test_history
page = create_page("moge")
page.update_attributes(:body => "moge moge")
page.update_attributes(:body => "moge moge moge")
2014-08-23 16:19:01 +09:00
get :history, {:title => "moge"}
assert_response :success
end
2014-08-23 16:19:01 +09:00
def test_diff
page = create_page("moge")
page.update_attributes(:body => "moge moge")
page.update_attributes(:body => "moge moge moge")
2014-08-23 16:19:01 +09:00
get :diff, {:title => "moge", :from => 1, :to => 3}
assert_response :success
end
2014-08-23 16:19:01 +09:00
def test_rename
page = create_page("moge")
2014-08-23 16:19:01 +09:00
get :rename, {:title => "moge"}, {:user_id => 2}
assert_response :success
end
end