2014-11-20 11:29:32 +09:00
|
|
|
require "test_helper"
|
2010-04-20 23:05:11 +00:00
|
|
|
|
|
|
|
class WikiControllerTest < ActionController::TestCase
|
|
|
|
fixtures :users
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def create_page(title, params = {})
|
2014-08-23 16:44:43 +09:00
|
|
|
WikiPage.create({ :title => title, :body => title, :user_id => 1, :ip_addr => "127.0.0.1", :is_locked => false }.merge(params))
|
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_destroy
|
|
|
|
page = create_page("hoge")
|
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :destroy, { :title => "hoge" }, :user_id => 2
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_nil(WikiPage.find_by_id(page.id))
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_lock
|
|
|
|
page = create_page("hoge")
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :lock, { :title => "hoge" }, :user_id => 2
|
2010-04-20 23:05:11 +00:00
|
|
|
page.reload
|
|
|
|
assert_equal(true, page.is_locked?)
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :unlock, { :title => "hoge" }, :user_id => 2
|
2010-04-20 23:05:11 +00:00
|
|
|
page.reload
|
|
|
|
assert_equal(false, page.is_locked?)
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_index
|
2014-08-23 20:00:26 +09:00
|
|
|
create_page("hoge")
|
|
|
|
create_page("moge")
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
get :index
|
|
|
|
assert_response :success
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :index, :query => "moge"
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_preview
|
2014-08-23 17:50:33 +09:00
|
|
|
get :preview, :body => "hoge moge soge"
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_create
|
2014-08-23 17:50:33 +09:00
|
|
|
get :add, { :title => "moge" }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :create, { :wiki_page => { :title => "hoge", :body => "hoge hoge" } }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
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
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_update
|
|
|
|
page = create_page("hoge")
|
|
|
|
page.update_attributes(:body => "moge moge")
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :edit, { :title => "hoge" }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :edit, { :title => "hoge", :version => 1 }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :update, { :wiki_page => { :title => "hoge", :body => "soge king" } }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
page.reload
|
|
|
|
assert_equal("soge king", page.body)
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_show
|
|
|
|
page = create_page("hoge")
|
|
|
|
page.update_attributes(:body => "moge moge")
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :show, :title => "hoge"
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00: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
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :revert, { :title => "hoge", :version => 1 }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
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
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
post :revert, { :title => "hoge", :version => 2 }, :user_id => 4
|
2010-04-20 23:05:11 +00:00
|
|
|
page.reload
|
|
|
|
assert_equal("hoge hoge hoge", page.body)
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_recent_changes
|
2014-08-23 20:00:26 +09:00
|
|
|
create_page("hoge")
|
2010-04-20 23:05:11 +00:00
|
|
|
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
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
get :recent_changes
|
|
|
|
assert_response :success
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00: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
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :history, :title => "moge"
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00: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
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :diff, :title => "moge", :from => 1, :to => 3
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
end
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2010-04-20 23:05:11 +00:00
|
|
|
def test_rename
|
2014-08-23 20:00:26 +09:00
|
|
|
create_page("moge")
|
2014-08-23 16:19:01 +09:00
|
|
|
|
2014-08-23 17:50:33 +09:00
|
|
|
get :rename, { :title => "moge" }, :user_id => 2
|
2010-04-20 23:05:11 +00:00
|
|
|
assert_response :success
|
|
|
|
end
|
|
|
|
end
|