diff --git a/legacy/test/calculator.test.ts b/legacy/test/calculator.test.ts index 89638f69..63b01a70 100644 --- a/legacy/test/calculator.test.ts +++ b/legacy/test/calculator.test.ts @@ -30,16 +30,66 @@ test('CalculatorTool', async (t) => { }) }) -test.only('CalculatorTool - caching', async (t) => { +test('CalculatorTool - caching', async (t) => { const agentic = createTestAgenticRuntime() const tool = new CalculatorTool({ agentic }) - const res = await tool.callWithMetadata({ expression: '2 * 3' }) - t.is(res.result, 6) - t.is(res.metadata.cacheStatus, 'miss') - expectTypeOf(res.result).toMatchTypeOf() + const res00 = await tool.callWithMetadata({ expression: '2 * 3' }) + t.is(res00.result, 6) + t.is(res00.metadata.cacheStatus, 'miss') + expectTypeOf(res00.result).toMatchTypeOf() - const res2 = await tool.callWithMetadata({ expression: '2 * 3' }) - t.is(res2.result, 6) - t.is(res2.metadata.cacheStatus, 'hit') + const res01 = await tool.callWithMetadata({ expression: '2 * 3' }) + t.is(res01.result, 6) + t.is(res01.metadata.cacheStatus, 'hit') + + const res02 = await tool.callWithMetadata({ expression: '4 + 3' }) + t.is(res02.result, 7) + t.is(res02.metadata.cacheStatus, 'miss') + + const res03 = await tool.callWithMetadata({ expression: '2 * 3' }) + t.is(res03.result, 6) + t.is(res03.metadata.cacheStatus, 'hit') + + const tool2 = new CalculatorTool({ agentic }) + const res20 = await tool2.callWithMetadata({ expression: '2 * 3' }) + t.is(res20.result, 6) + t.is(res20.metadata.cacheStatus, 'miss') +}) + +test('CalculatorTool - disable caching', async (t) => { + const agentic = createTestAgenticRuntime() + const tool = new CalculatorTool({ + agentic, + cacheConfig: { cacheStrategy: 'none' } + }) + + const res00 = await tool.callWithMetadata({ expression: '2 * 3' }) + t.is(res00.result, 6) + t.is(res00.metadata.cacheStatus, 'miss') + expectTypeOf(res00.result).toMatchTypeOf() + + const res01 = await tool.callWithMetadata({ expression: '2 * 3' }) + t.is(res01.result, 6) + t.is(res01.metadata.cacheStatus, 'miss') + + const res02 = await tool.callWithMetadata({ expression: '4 + 3' }) + t.is(res02.result, 7) + t.is(res02.metadata.cacheStatus, 'miss') + + const res03 = await tool.callWithMetadata({ expression: '2 * 3' }) + t.is(res03.result, 6) + t.is(res03.metadata.cacheStatus, 'miss') + + const tool2 = new CalculatorTool({ + agentic, + cacheConfig: { cacheStrategy: 'default' } + }) + const res20 = await tool2.callWithMetadata({ expression: '2 * 3' }) + t.is(res20.result, 6) + t.is(res20.metadata.cacheStatus, 'miss') + + const res21 = await tool2.callWithMetadata({ expression: '2 * 3' }) + t.is(res21.result, 6) + t.is(res21.metadata.cacheStatus, 'hit') })