Add API for tagging cards
This commit is contained in:
@@ -9,6 +9,11 @@ class Cards::TaggingsController < ApplicationController
|
||||
|
||||
def create
|
||||
@card.toggle_tag_with sanitized_tag_title_param
|
||||
|
||||
respond_to do |format|
|
||||
format.turbo_stream
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -23,4 +23,26 @@ class Cards::TaggingsControllerTest < ActionDispatch::IntegrationTest
|
||||
assert_turbo_stream action: :replace, target: dom_id(cards(:logo), :tags)
|
||||
end
|
||||
end
|
||||
|
||||
test "toggle tag on as JSON" do
|
||||
card = cards(:logo)
|
||||
|
||||
assert_not card.tagged_with?(tags(:mobile))
|
||||
|
||||
post card_taggings_path(card), params: { tag_title: tags(:mobile).title }, as: :json
|
||||
|
||||
assert_response :no_content
|
||||
assert card.reload.tagged_with?(tags(:mobile))
|
||||
end
|
||||
|
||||
test "toggle tag off as JSON" do
|
||||
card = cards(:logo)
|
||||
|
||||
assert card.tagged_with?(tags(:web))
|
||||
|
||||
post card_taggings_path(card), params: { tag_title: tags(:web).title }, as: :json
|
||||
|
||||
assert_response :no_content
|
||||
assert_not card.reload.tagged_with?(tags(:web))
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user