From 3f393c14238e83f17dea45bcf34009480655abb5 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 3 Dec 2025 18:03:10 +0100 Subject: [PATCH] Include card description and tags --- app/views/cards/_card.json.jbuilder | 4 ++++ test/controllers/api_test.rb | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/views/cards/_card.json.jbuilder b/app/views/cards/_card.json.jbuilder index 429a721c3..976785b41 100644 --- a/app/views/cards/_card.json.jbuilder +++ b/app/views/cards/_card.json.jbuilder @@ -1,7 +1,11 @@ json.cache! [ card, card.column&.color ] do json.(card, :id, :title, :status) + json.description card.description.to_plain_text + json.description_html card.description.to_s json.image_url card.image.presence && url_for(card.image) + json.tags card.tags.pluck(:title).sort + json.golden card.golden? json.last_active_at card.last_active_at.utc json.created_at card.created_at.utc diff --git a/test/controllers/api_test.rb b/test/controllers/api_test.rb index ad1fd8d1b..9088497a8 100644 --- a/test/controllers/api_test.rb +++ b/test/controllers/api_test.rb @@ -41,11 +41,17 @@ class ApiTest < ActionDispatch::IntegrationTest end test "create card" do - post board_cards_path(boards(:writebook), format: :json), params: { card: { title: "My new card" } }, env: @davids_bearer_token + post board_cards_path(boards(:writebook), format: :json), + params: { card: { title: "My new card", description: "Big if true", tag_ids: [ tags(:web).id, tags(:mobile).id ] } }, + env: @davids_bearer_token + assert_equal card_path(Card.last, format: :json), @response.headers["Location"] - get card_path(Card.last, format: :json), env: @davids_bearer_token + new_card = Card.last + get card_path(new_card, format: :json), env: @davids_bearer_token assert_equal "My new card", @response.parsed_body["title"] + assert_equal "Big if true", @response.parsed_body["description"] + assert_equal [ tags(:web).title, tags(:mobile).title ].sort, @response.parsed_body["tags"] end test "get tags" do