import { expect } from 'chai'; import * as cheerio from 'cheerio'; import { fileURLToPath } from 'node:url'; import { astroCli, wranglerCli } from './_test-utils.js'; const root = new URL('./fixtures/with-solid-js/', import.meta.url); describe('With 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(); setTimeout(() => { console.log('CLEANED'); done(); }, 1000); }); it('renders the solid component', async () => { let res = await fetch(`http://127.0.0.1:8788/`); expect(res.status).to.equal(200); let html = await res.text(); let $ = cheerio.load(html); expect($('.solid').text()).to.equal('Solid Content'); }); });