Files
fizzy/test/controllers/cards/assignments_controller_test.rb
2025-12-10 09:23:52 +01:00

44 lines
1.3 KiB
Ruby

require "test_helper"
class Cards::AssignmentsControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in_as :kevin
end
test "new" do
get new_card_assignment_path(cards(:logo))
assert_response :success
end
test "create" do
assert_changes "cards(:logo).reload.assigned_to?(users(:david))", from: false, to: true do
post card_assignments_path(cards(:logo)), params: { assignee_id: users(:david).id }, as: :turbo_stream
assert_meta_replaced(cards(:logo))
end
assert_changes "cards(:logo).reload.assigned_to?(users(:david))", from: true, to: false do
post card_assignments_path(cards(:logo)), params: { assignee_id: users(:david).id }, as: :turbo_stream
assert_meta_replaced(cards(:logo))
end
end
test "create as JSON" do
card = cards(:logo)
assert_not card.assigned_to?(users(:david))
post card_assignments_path(card), params: { assignee_id: users(:david).id }, as: :json
assert_response :no_content
assert card.reload.assigned_to?(users(:david))
post card_assignments_path(card), params: { assignee_id: users(:david).id }, as: :json
assert_response :no_content
assert_not card.reload.assigned_to?(users(:david))
end
private
def assert_meta_replaced(card)
assert_turbo_stream action: :replace, target: dom_id(card, :meta)
end
end