// Static rendering and transport lifecycle checks; no browser or business writer.
import fs from 'node:fs';import assert from 'node:assert/strict';import {pathToFileURL} from 'node:url';import {createRequire} from 'node:module';import {transformWithOxc} from 'vite';import React from 'react';import {renderToStaticMarkup} from 'react-dom/server';import {requestStockPeriod} from '../resources/js/stock-period-request.js';
const require=createRequire(import.meta.url),checks=[];const ok=(v,n)=>{assert(v,n);checks.push(n);};
const compile=async(path,replacements={})=>{let code=fs.readFileSync(path,'utf8');for(const [a,b]of Object.entries(replacements))code=code.replace(a,b);code=code.replace(/from ['"]react['"]/g,'from '+JSON.stringify(pathToFileURL(require.resolve('react')).href));const output=await transformWithOxc(code,path,{jsx:{runtime:'classic'}});return 'data:text/javascript;base64,'+Buffer.from(output.code).toString('base64');};
const read=await compile('resources/js/StockReadWorkspace.jsx');const url=await compile('resources/js/StockInactiveReportWorkspace.jsx',{'./StockReadWorkspace.jsx':read,'./stock-period-request.js':pathToFileURL(process.cwd()+'/resources/js/stock-period-request.js').href});const {default:Component}=await import(url);const html=renderToStaticMarkup(React.createElement(Component,{api:()=>{throw Error('SSR must not fetch');},context:{token:'QA'}}));
ok(html.includes('name="as_of"')&&!html.includes('value="2026-'),'cut not automatically chosen');ok(html.includes('name="days"')&&html.includes('value="30"'),'explicit interval input');ok(html.includes('Todos os autorizados')&&html.includes('name="warehouse_id"'),'warehouse selector without first-record default');ok(html.includes('Artigos sem história conhecida ficam fora'),'scope limitation visible');ok(/