33 lines
845 B
Ruby
33 lines
845 B
Ruby
require "test_helper"
|
|
|
|
class Ai::ListUsersToolTest < ActiveSupport::TestCase
|
|
include McpHelper
|
|
|
|
setup do
|
|
@tool = Ai::ListUsersTool.new(user: users(:kevin))
|
|
end
|
|
|
|
test "execute" do
|
|
response = @tool.execute(collection_id: collections(:writebook).id)
|
|
page = parse_paginated_response(response)
|
|
|
|
assert page[:records].is_a?(Array)
|
|
|
|
assert_raises(ActiveRecord::RecordNotFound) do
|
|
@tool.execute
|
|
end
|
|
end
|
|
|
|
test "execute when filtering by ids" do
|
|
users = users(:david, :jz)
|
|
user_ids = users.pluck(:id)
|
|
|
|
response = @tool.execute(collection_id: collections(:writebook).id, ids: user_ids.join(", "))
|
|
page = parse_paginated_response(response)
|
|
record_ids = page[:records].map { |user| user["id"].to_i }
|
|
|
|
assert_equal 2, record_ids.count
|
|
assert_equal user_ids.sort, record_ids.sort
|
|
end
|
|
end
|