2024-10-31 23:13:18 +01:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
|
|
class PagesControllerTest < ActionDispatch::IntegrationTest
|
2024-11-03 21:58:25 +01:00
|
|
|
def login(email, password)
|
|
|
|
|
post "/login", params: { email: email, password: password }
|
|
|
|
|
assert_redirected_to "/"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def logout
|
|
|
|
|
post "/logout"
|
|
|
|
|
assert_redirected_to "/"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
teardown do
|
|
|
|
|
logout
|
|
|
|
|
end
|
|
|
|
|
|
2024-10-31 23:13:18 +01:00
|
|
|
setup do
|
2024-11-03 21:58:25 +01:00
|
|
|
Account.create(email: "test@example.com", password: "password")
|
2024-10-31 23:13:18 +01:00
|
|
|
@page = pages(:one)
|
2024-11-03 21:58:25 +01:00
|
|
|
login("test@example.com", "password")
|
2024-10-31 23:13:18 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should get index" do
|
2024-11-03 21:58:25 +01:00
|
|
|
get report_pages_url(@page.report)
|
2024-10-31 23:13:18 +01:00
|
|
|
assert_response :success
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should get new" do
|
2024-11-03 21:58:25 +01:00
|
|
|
get new_report_page_url(@page.report)
|
2024-10-31 23:13:18 +01:00
|
|
|
assert_response :success
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should create page" do
|
|
|
|
|
assert_difference("Page.count") do
|
2024-11-03 21:58:25 +01:00
|
|
|
post report_pages_url(@page.report), params: { page: { path: @page.path, position: @page.position + 1, url: @page.url } }
|
2024-10-31 23:13:18 +01:00
|
|
|
end
|
|
|
|
|
|
2024-11-03 21:58:25 +01:00
|
|
|
assert_redirected_to report_url(Page.last.report, page_id: Page.last)
|
2024-10-31 23:13:18 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should show page" do
|
|
|
|
|
get page_url(@page)
|
|
|
|
|
assert_response :success
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should get edit" do
|
|
|
|
|
get edit_page_url(@page)
|
|
|
|
|
assert_response :success
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should update page" do
|
|
|
|
|
patch page_url(@page), params: { page: { path: @page.path, position: @page.position, report_id: @page.report_id, url: @page.url } }
|
|
|
|
|
assert_redirected_to page_url(@page)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should destroy page" do
|
|
|
|
|
assert_difference("Page.count", -1) do
|
2024-11-03 21:58:25 +01:00
|
|
|
Rails.logger.level = :debug
|
2024-10-31 23:13:18 +01:00
|
|
|
delete page_url(@page)
|
|
|
|
|
end
|
|
|
|
|
|
2024-11-03 21:58:25 +01:00
|
|
|
assert_redirected_to report_pages_url(@page.report)
|
2024-10-31 23:13:18 +01:00
|
|
|
end
|
|
|
|
|
end
|