import { expect, test, describe } from "vitest";
describe('get-package-readme tool', () => {
test('should validate required parameters', async () => {
const { getPackageReadme } = require('../../dist/src/tools/get-package-readme.js');
try {
await getPackageReadme({});
expect(false).toBe(true); // Should not reach here
} catch (error: any) {
expect(error.message).toContain('Pod name is required');
}
});
test('should validate parameter types', async () => {
const { getPackageReadme } = require('../../dist/src/tools/get-package-readme.js');
try {
await getPackageReadme({ package_name: 123 });
expect(false).toBe(true); // Should not reach here
} catch (error: any) {
expect(error.message).toContain('Pod name is required');
}
});
test('should validate version parameter type', async () => {
const { getPackageReadme } = require('../../dist/src/tools/get-package-readme.js');
// Note: Type validation happens at the server layer, not tool layer
// This test verifies the function doesn't crash with valid string params
expect(typeof getPackageReadme).toBe('function');
});
test('should validate include_examples parameter type', async () => {
const { getPackageReadme } = require('../../dist/src/tools/get-package-readme.js');
// Note: Type validation happens at the server layer, not tool layer
// This test verifies the function doesn't crash with valid boolean params
expect(typeof getPackageReadme).toBe('function');
});
test('should have default values', async () => {
const { getPackageReadme } = require('../../dist/src/tools/get-package-readme.js');
// This test checks that default values are handled correctly
// We don't actually call the function as it would make network requests
expect(typeof getPackageReadme).toBe('function');
});
test('should validate package name format', async () => {
const { getPackageReadme } = require('../../dist/src/tools/get-package-readme.js');
try {
await getPackageReadme({ package_name: '' });
expect(false).toBe(true); // Should not reach here
} catch (error: any) {
expect(error.message).toContain('Pod name is required');
}
});
});