@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
106 lines • 3.07 kB
TypeScript
/**
* Phase 4B Date/Time Functions Test Suite
*
* Tests all date/time filtering capabilities requested by user:
* "experiments that were started in the last 30 days or how are we handling that"
*/
import type { UniversalQuery } from './types.js';
interface TestResult {
testName: string;
query: UniversalQuery;
expectedSQLPattern: RegExp;
actualSQL: string;
success: boolean;
error?: string;
executionTime?: number;
}
declare class Phase4BDateTestSuite {
private dateHandler;
private sqlBuilder;
private multiTableSQLBuilder;
private fieldCatalog;
constructor();
/**
* Helper to create properly typed query conditions
*/
private createCondition;
/**
* Run comprehensive Phase 4B test suite
*/
runComprehensiveTests(): Promise<{
totalTests: number;
passedTests: number;
failedTests: number;
successRate: number;
results: TestResult[];
summary: {
dateHandlerStats: any;
testCategories: Record<string, {
passed: number;
total: number;
}>;
};
}>;
/**
* Test relative date queries (LAST_30_DAYS, LAST_7_DAYS, etc.)
*/
testRelativeDateQueries(): Promise<TestResult[]>;
/**
* Test dynamic relative dates (LAST_45_DAYS, LAST_6_MONTHS, etc.)
*/
testDynamicRelativeDates(): Promise<TestResult[]>;
/**
* Test period functions (TODAY, YESTERDAY, THIS_WEEK, etc.)
*/
testPeriodFunctions(): Promise<TestResult[]>;
/**
* Test date range queries with BETWEEN operator
*/
testDateRangeQueries(): Promise<TestResult[]>;
/**
* Test BETWEEN operator with various date formats
*/
testBetweenOperator(): Promise<TestResult[]>;
/**
* Test year, month, day component filtering
*/
testYearMonthDayFilters(): Promise<TestResult[]>;
/**
* Test partial date matching (year-only, month-year)
*/
testPartialDateMatching(): Promise<TestResult[]>;
/**
* Test multi-entity queries with date filtering
*/
testMultiEntityDateQueries(): Promise<TestResult[]>;
/**
* Test complex join queries with date filtering
*/
testComplexJoinDateQueries(): Promise<TestResult[]>;
/**
* Test user requirement queries
*/
testUserRequirementQueries(): Promise<TestResult[]>;
/**
* Test error handling for invalid dates
*/
testErrorHandling(): Promise<TestResult[]>;
/**
* Test invalid date formats
*/
testInvalidDateFormats(): Promise<TestResult[]>;
/**
* Run a single test case
*/
private runSingleTest;
/**
* Initialize mock field catalog for testing
*/
private initializeMockFieldCatalog;
/**
* Generate detailed test report
*/
generateDetailedReport(results: Awaited<ReturnType<typeof this.runComprehensiveTests>>): string;
}
export { Phase4BDateTestSuite, type TestResult };
//# sourceMappingURL=test-phase4b-date-functions.d.ts.map