import { readFileSync } from 'node:fs'
import { join } from 'node:path'
import { describe, expect, it } from 'vitest'

describe('schema drift consolidated migration', () => {
  it('contains inventory tables, raw indexes, and carried seeds', () => {
    const source = readFileSync(
      join(process.cwd(), 'migrations', '0068_schema_drift_consolidated.sql'),
      'utf8',
    )

    expect(source).toContain('ALTER TABLE "tenant_settings" ADD COLUMN "inventory_method"')
    expect(source).toContain('CREATE TABLE "products"')
    expect(source).toContain('CREATE TABLE "inventory_item"')
    expect(source).toContain('CREATE TABLE "stock_reservation"')
    expect(source).toContain('CREATE TABLE "stock_locations"')
    expect(source).toContain('CREATE TABLE "stock_position"')
    expect(source).toContain('CREATE TABLE "stock_movement"')
    expect(source).toContain('CREATE UNIQUE INDEX "uq_stock_locations_default_tenant"')
    expect(source).toContain('CREATE UNIQUE INDEX "uq_active_holder"')
    expect(source).toContain('INSERT INTO "stock_locations" ("tenant_id", "name", "code", "is_default", "is_active")')
    expect(source).toContain("SELECT \"id\", 'Main', 'MAIN', true, true")
    expect(source).toContain('INSERT INTO oauth_clients')
    expect(source).toContain("'zapier_zync'")
    expect(source).toContain("'make_zync'")
  })
})
