Skip to content

Commit 192f043

Browse files
authored
test: add _meta usage cost assertions for call-actor and direct actor tool integration tests (#455)
1 parent 874775a commit 192f043

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

tests/integration/suite.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,14 @@ export function createIntegrationTestsSuite(
535535
expect(resultWithStructured.structuredContent?.items?.[0]).toHaveProperty('sum', 3);
536536
expect(resultWithStructured.structuredContent?.items?.[0]).toHaveProperty('first_number', 1);
537537
expect(resultWithStructured.structuredContent?.items?.[0]).toHaveProperty('second_number', 2);
538+
539+
// Validate _meta contains Apify usage cost information for completed sync runs
540+
const resultWithMeta = callResult as { _meta?: { apifyUsageTotalUsd?: number; apifyUsageUsd?: Record<string, number> } };
541+
expect(resultWithMeta._meta).toBeDefined();
542+
expect(typeof resultWithMeta._meta?.apifyUsageTotalUsd).toBe('number');
543+
expect(resultWithMeta._meta!.apifyUsageTotalUsd!).toBeGreaterThanOrEqual(0);
544+
expect(resultWithMeta._meta?.apifyUsageUsd).toBeDefined();
545+
expect(typeof resultWithMeta._meta?.apifyUsageUsd).toBe('object');
538546
});
539547

540548
it('should support async mode in call-actor and return runId', async () => {
@@ -2001,6 +2009,14 @@ export function createIntegrationTestsSuite(
20012009
expect(resultWithStructured.structuredContent?.items?.[0]).toHaveProperty('first_number', 5);
20022010
expect(resultWithStructured.structuredContent?.items?.[0]).toHaveProperty('second_number', 7);
20032011

2012+
// Validate _meta contains Apify usage cost information for direct actor tool calls
2013+
const resultWithMeta = result as { _meta?: { apifyUsageTotalUsd?: number; apifyUsageUsd?: Record<string, number> } };
2014+
expect(resultWithMeta._meta).toBeDefined();
2015+
expect(typeof resultWithMeta._meta?.apifyUsageTotalUsd).toBe('number');
2016+
expect(resultWithMeta._meta!.apifyUsageTotalUsd!).toBeGreaterThanOrEqual(0);
2017+
expect(resultWithMeta._meta?.apifyUsageUsd).toBeDefined();
2018+
expect(typeof resultWithMeta._meta?.apifyUsageUsd).toBe('object');
2019+
20042020
// Validate structured output for get-actor-output
20052021
validateStructuredOutput(outputResult, findToolByName(HelperTools.ACTOR_OUTPUT_GET)?.outputSchema, HelperTools.ACTOR_OUTPUT_GET);
20062022
});

0 commit comments

Comments
 (0)