Files
fizzy/test/models/command/ai/parser_test.rb
T
2025-07-04 00:08:47 +02:00

29 lines
1.0 KiB
Ruby

require "test_helper"
class Command::Ai::ParserTest < ActionDispatch::IntegrationTest
include CommandTestHelper, VcrTestHelper
test "parse command strings into a composite command containing the individual commands" do
command = parse_command "assign @kevin and close"
assert_equal "assign @kevin and close", command.line
assert_instance_of Command::Composite, command
commands = command.commands
assert_instance_of Command::Assign, commands.first
assert_instance_of Command::Close, commands.last
end
test "resolve filter string params as ids" do
command = parse_command "cards assigned to kevin, tagged with #web, in the collection writebook"
url = command.commands.first.url
query_string = URI.parse(url).query
params = Rack::Utils.parse_nested_query(query_string).with_indifferent_access
assert_equal [ users(:kevin).id.to_s ], params[:assignee_ids]
assert_equal [ collections(:writebook).id.to_s ], params[:collection_ids]
assert_equal [ tags(:web).id.to_s ], params[:tag_ids]
end
end