Add tests for assignment
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user