import * as assert from 'node:assert/strict'; import { after, before, describe, it } from 'node:test'; import { fileURLToPath } from 'node:url'; import * as cheerio from 'cheerio'; import { astroCli, wranglerCli } from './_test-utils.js'; const root = new URL('./fixtures/with-solid-js/', import.meta.url); describe('SolidJS', () => { let wrangler; before(async () => { await astroCli(fileURLToPath(root), 'build'); wrangler = wranglerCli(fileURLToPath(root)); await new Promise((resolve) => { wrangler.stdout.on('data', (data) => { // console.log('[stdout]', data.toString()); if (data.toString().includes('http://127.0.0.1:8788')) resolve(); }); wrangler.stderr.on('data', (_data) => { // console.log('[stderr]', data.toString()); }); }); }); after((_done) => { wrangler.kill(); }); it('renders the solid component', async () => { const res = await fetch('http://127.0.0.1:8788/'); assert.equal(res.status, 200); const html = await res.text(); const $ = cheerio.load(html); assert.equal($('.solid').text(), 'Solid Content'); }); });