47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
require "test_helper"
|
|
|
|
class Command::AssignTest < ActionDispatch::IntegrationTest
|
|
include CommandTestHelper
|
|
|
|
setup do
|
|
Current.session = sessions(:david)
|
|
@card = cards(:text)
|
|
end
|
|
|
|
test "assign 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 "assign cards 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
|