Add tests for assignment

This commit is contained in:
Jorge Manrubia
2025-05-06 14:57:51 +02:00
parent 863ced55c4
commit 6961f36a45
2 changed files with 47 additions and 1 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ class Command::Parser::Context
end
def filter
user.filters.from_params params.reverse_merge(**FilterScoped::DEFAULT_PARAMS)
user.filters.from_params(params.slice(*Filter::Params::PERMITTED_PARAMS).reverse_merge(**FilterScoped::DEFAULT_PARAMS))
end
private
+46
View File
@@ -0,0 +1,46 @@
require "test_helper"
class Command::AssignTest < ActionDispatch::IntegrationTest
include CommandTestHelper
setup do
Current.session = sessions(:david)
@card = cards(:text)
end
test "assigns card on perma" do
assert_difference -> { @card.assignees.count }, +2 do
execute_command "/assign @kevin @david", context_url: collection_card_url(@card.collection, @card)
end
assert_includes @card.assignees.reload, users(:david)
assert_includes @card.assignees, users(:kevin)
end
test "assigns card on cards' index page" do
execute_command "/assign @kevin @david", context_url: collection_cards_url(@card.collection)
cards(:logo, :text, :layout).each do |card|
assert_includes card.assignees.reload, users(:david)
assert_includes card.assignees, users(:kevin)
end
end
test "undo assignment" do
Assignment.destroy_all
command = parse_command "/assign @kevin @david", context_url: collection_cards_url(@card.collection)
command.execute
cards(:logo, :text, :layout).each do |card|
assert_includes card.assignees.reload, users(:david)
assert_includes card.assignees, users(:kevin)
end
command.reload.undo
cards(:logo, :text, :layout).each do |card|
assert_empty card.reload.assignees.reload
end
end
end