Add API for watching cards

This commit is contained in:
Stanko K.R.
2025-12-05 15:37:54 +01:00
parent ed1002f6c5
commit eeed2a8416
2 changed files with 36 additions and 2 deletions
@@ -9,7 +9,7 @@ class Cards::WatchesControllerTest < ActionDispatch::IntegrationTest
cards(:logo).unwatch_by users(:kevin)
assert_changes -> { cards(:logo).watched_by?(users(:kevin)) }, from: false, to: true do
post card_watch_path(cards(:logo))
post card_watch_path(cards(:logo)), as: :turbo_stream
end
end
@@ -17,7 +17,31 @@ class Cards::WatchesControllerTest < ActionDispatch::IntegrationTest
cards(:logo).watch_by users(:kevin)
assert_changes -> { cards(:logo).watched_by?(users(:kevin)) }, from: true, to: false do
delete card_watch_path(cards(:logo))
delete card_watch_path(cards(:logo)), as: :turbo_stream
end
end
test "create as JSON" do
card = cards(:logo)
card.unwatch_by users(:kevin)
assert_not card.watched_by?(users(:kevin))
post card_watch_path(card), as: :json
assert_response :no_content
assert card.reload.watched_by?(users(:kevin))
end
test "destroy as JSON" do
card = cards(:logo)
card.watch_by users(:kevin)
assert card.watched_by?(users(:kevin))
delete card_watch_path(card), as: :json
assert_response :no_content
assert_not card.reload.watched_by?(users(:kevin))
end
end