2
0
mirror of https://github.com/moebooru/moebooru synced 2025-08-22 09:57:31 +00:00
moebooru/test/controllers/wiki_controller_test.rb
2024-01-08 19:39:01 +09:00

133 lines
3.3 KiB
Ruby

require "test_helper"
class WikiControllerTest < ActionController::TestCase
fixtures :users
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
def test_destroy
page = create_page("hoge")
post :destroy, params: { title: "hoge" }, session: { user_id: 2 }
assert_nil(WikiPage.find_by_id(page.id))
end
def test_lock
page = create_page("hoge")
post :lock, params: { title: "hoge" }, session: { user_id: 2 }
page.reload
assert_equal(true, page.is_locked?)
post :unlock, params: { title: "hoge" }, session: { user_id: 2 }
page.reload
assert_equal(false, page.is_locked?)
end
def test_index
create_page("hoge")
create_page("moge")
get :index
assert_response :success
get :index, params: { query: "moge" }
assert_response :success
end
def test_preview
get :preview, params: { body: "hoge moge soge" }
assert_response :success
end
def test_create
get :add, params: { title: "moge" }, session: { user_id: 4 }
assert_response :success
post :create, params: { wiki_page: { title: "hoge", body: "hoge hoge" } }, session: { user_id: 4 }
page = WikiPage.find_by_title("hoge")
assert_not_nil(page)
assert_equal("hoge hoge", page.body)
end
def test_update
page = create_page("hoge")
page.update(body: "moge moge")
get :edit, params: { title: "hoge" }, session: { user_id: 4 }
assert_response :success
get :edit, params: { title: "hoge", version: 1 }, session: { user_id: 4 }
assert_response :success
post :update, params: { wiki_page: { title: "hoge", body: "soge king" } }, session: { user_id: 4 }
page.reload
assert_equal("soge king", page.body)
end
def test_show
page = create_page("hoge")
page.update(body: "moge moge")
get :show, params: { title: "hoge" }
assert_response :success
end
def test_revert_unlocked
page = create_page("hoge")
page.update(body: "hoge 2")
page.update(body: "hoge 3")
post :revert, params: { title: "hoge", version: 1 }, session: { user_id: 4 }
page.reload
assert_equal("hoge", page.body)
end
def test_revert_locked
page = create_page("hoge", is_locked: true)
page.update(body: "hoge hoge")
page.update(body: "hoge hoge hoge")
post :revert, params: { title: "hoge", version: 2 }, session: { user_id: 4 }
page.reload
assert_equal("hoge hoge hoge", page.body)
end
def test_recent_changes
create_page("hoge")
page2 = create_page("moge")
page2.update(body: "moge moge")
page2.update(body: "moge moge moge")
get :recent_changes
assert_response :success
end
def test_history
page = create_page("moge")
page.update(body: "moge moge")
page.update(body: "moge moge moge")
get :history, params: { title: "moge" }
assert_response :success
end
def test_diff
page = create_page("moge")
page.update(body: "moge moge")
page.update(body: "moge moge moge")
get :diff, params: { title: "moge", from: 1, to: 3 }
assert_response :success
end
def test_rename
create_page("moge")
get :rename, params: { title: "moge" }, session: { user_id: 2 }
assert_response :success
end
end