Sync a creative and return its ID.
(server: ReturnType<typeof createTrainingAgentServer>)
| 92 | |
| 93 | /** Sync a creative and return its ID. */ |
| 94 | async function syncCreative(server: ReturnType<typeof createTrainingAgentServer>): Promise<string> { |
| 95 | const creativeId = `cr-test-${Date.now()}`; |
| 96 | const { result, isError } = await simulateCallTool(server, 'sync_creatives', { |
| 97 | idempotency_key: crypto.randomUUID(), |
| 98 | account: ACCOUNT, |
| 99 | brand: BRAND, |
| 100 | creatives: [{ |
| 101 | creative_id: creativeId, |
| 102 | name: 'Test Creative', |
| 103 | }], |
| 104 | }); |
| 105 | if (isError || (result as any).errors) { |
| 106 | throw new Error(`sync_creatives failed: ${JSON.stringify(result)}`); |
| 107 | } |
| 108 | return creativeId; |
| 109 | } |
| 110 | |
| 111 | /** Create a media buy with creatives assigned so it reaches active/pending_start status. */ |
| 112 | async function createMediaBuyWithCreatives(server: ReturnType<typeof createTrainingAgentServer>): Promise<string> { |
no test coverage detected