From 7a4e59391b1e6882da00ba9d6fabe99f37c3b9f8 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Fri, 13 Jun 2025 09:54:50 +0200 Subject: [PATCH] Add test --- app/controllers/cards/drops_controller.rb | 4 +-- .../cards/drops_controller_test.rb | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 test/controllers/cards/drops_controller_test.rb diff --git a/app/controllers/cards/drops_controller.rb b/app/controllers/cards/drops_controller.rb index 9b2e93053..25f7997a8 100644 --- a/app/controllers/cards/drops_controller.rb +++ b/app/controllers/cards/drops_controller.rb @@ -24,9 +24,9 @@ class Cards::DropsController < ApplicationController def perform_drop_action case @drop_target - when :considering + when :considering @card.reconsider - when :doing + when :doing @card.engage end end diff --git a/test/controllers/cards/drops_controller_test.rb b/test/controllers/cards/drops_controller_test.rb new file mode 100644 index 000000000..d0c6104f7 --- /dev/null +++ b/test/controllers/cards/drops_controller_test.rb @@ -0,0 +1,34 @@ +require "test_helper" + +class Cards::DropsControllerTest < ActionDispatch::IntegrationTest + setup do + sign_in_as :kevin + @card = cards(:logo) + end + + test "drop to considering" do + assert_changes -> { @card.reload.considering? }, from: false, to: true do + post cards_drops_path, params: { dropped_item_id: @card.id, drop_target: "considering" }, as: :turbo_stream + assert_column_rerendered("considering") + end + end + + test "drop to doing" do + @card = cards(:text) + + assert_changes -> { @card.reload.doing? }, from: false, to: true do + post cards_drops_path, params: { dropped_item_id: @card.id, drop_target: "doing" }, as: :turbo_stream + assert_column_rerendered("doing") + end + end + + test "invalid drop target" do + post cards_drops_path, params: { dropped_item_id: @card.id, drop_target: "invalid" }, as: :turbo_stream + assert_response :bad_request + end + + private + def assert_column_rerendered(target) + assert_turbo_stream action: :replace, target: "#{target}-cards" + end +end