a11yist/test/controllers/elements_controller_test.rb

72 lines
1.7 KiB
Ruby
Raw Normal View History

2024-09-05 22:54:38 +02:00
# frozen_string_literal: true
require "test_helper"
class ElementsControllerTest < ActionDispatch::IntegrationTest
2024-09-22 22:49:53 +02: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
setup do
@element = elements(:one)
2024-07-22 22:40:56 +02:00
@checklist = checklists(:one)
2024-09-22 22:49:53 +02:00
Account.create(email: "test@example.com", password: "password")
login("test@example.com", "password")
end
2024-09-05 22:54:38 +02:00
test "should get index" do
get elements_url
assert_response :success
end
2024-09-05 22:54:38 +02:00
test "should get new" do
get new_element_url
assert_response :success
end
2024-09-05 22:54:38 +02:00
test "should create element" do
assert_difference("Element.count") do
2024-07-22 22:40:56 +02:00
post elements_url,
2024-07-26 00:59:00 +02:00
params: { element: { description_html: @element.description_html, path: @element.path, report_id: @element.report_id,
2024-07-22 22:40:56 +02:00
title: @element.title, checklist_id: @checklist.id } }
end
2024-07-22 22:40:56 +02:00
assert_redirected_to report_url(Element.last.report)
end
2024-09-05 22:54:38 +02:00
test "should show element" do
get element_url(@element)
assert_response :success
end
2024-09-05 22:54:38 +02:00
test "should get edit" do
get edit_element_url(@element)
assert_response :success
end
2024-09-05 22:54:38 +02:00
test "should update element" do
2024-07-22 22:40:56 +02:00
patch element_url(@element),
2024-07-26 00:59:00 +02:00
params: { element: { description_html: @element.description_html, path: @element.path, report_id: @element.report_id,
2024-07-22 22:40:56 +02:00
title: @element.title } }
assert_redirected_to element_url(@element)
end
2024-09-05 22:54:38 +02:00
test "should destroy element" do
assert_difference("Element.count", -1) do
delete element_url(@element)
end
assert_redirected_to elements_url
end
end