import { describe, it, expect, beforeAll } from 'vitest';
import { signAgent, verifyAgent } from '@/lib/agentAuth';
beforeAll(() => { process.env.ORDER_WEBHOOK_SECRET = 'test-secret'; });
const req = (body: string, ts: string, sig: string) => new Request('http://x/api/agent/orders', { method: 'POST', body, headers: { 'x-parsel-timestamp': ts, 'x-parsel-signature': sig } });
describe('ajan imzası', () => {
  it('geçerli imzayı kabul eder', () => { const b = '{"a":1}'; const { ts, sig } = signAgent(b); expect(verifyAgent(req(b, ts, sig), b)).toBe(true); });
  it('değiştirilmiş gövdeyi reddeder', () => { const { ts, sig } = signAgent('{"a":1}'); expect(verifyAgent(req('{"a":2}', ts, sig), '{"a":2}')).toBe(false); });
  it('5 dakikadan eski isteği reddeder', () => { const old = Math.floor(Date.now() / 1000) - 600; const { ts, sig } = signAgent('x', old); expect(verifyAgent(req('x', ts, sig), 'x')).toBe(false); });
  it('secret yoksa reddeder', () => { const { ts, sig } = signAgent('x'); delete process.env.ORDER_WEBHOOK_SECRET; expect(verifyAgent(req('x', ts, sig), 'x')).toBe(false); process.env.ORDER_WEBHOOK_SECRET = 'test-secret'; });
});
