import test from 'node:test';
import assert from 'node:assert/strict';
import {runSQL} from '../src/sql/engine.mjs';
const metric=(r,key)=>r.metrics.find(([name])=>name===key)[1];

test('SQL reports preserve order grain and local calendar boundaries',async()=>{
 const bad=await runSQL({preset:'fanout',variant:'broken'}),good=await runSQL({preset:'fanout',variant:'safe'});assert.equal(metric(bad,'Revenue (cents)'),42000);assert.equal(metric(good,'Revenue (cents)'),30000);
 const utc=await runSQL({preset:'timezone',variant:'broken'}),local=await runSQL({preset:'timezone',variant:'safe'});assert.equal(metric(utc,'Revenue (cents)'),24000);assert.equal(metric(local,'Revenue (cents)'),26000);
 const cohort=await runSQL({preset:'cohort',variant:'safe'});assert.deepEqual(cohort.tables[0].rows.map(r=>r.slice(0,3)),[['A',1,1],['B',2,2]]);
});