diff options
Diffstat (limited to 'packages/astro/test/react-component.test.js')
-rw-r--r-- | packages/astro/test/react-component.test.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/packages/astro/test/react-component.test.js b/packages/astro/test/react-component.test.js new file mode 100644 index 000000000..cdb4e2db2 --- /dev/null +++ b/packages/astro/test/react-component.test.js @@ -0,0 +1,54 @@ +import { fileURLToPath } from 'url'; +import { suite } from 'uvu'; +import * as assert from 'uvu/assert'; +import { createRuntime } from '../dist/runtime.js'; +import { loadConfig } from '../dist/config.js'; +import { doc } from './test-utils.js'; + +const React = suite('React Components'); + +let runtime, setupError; + +React.before(async () => { + const astroConfig = await loadConfig(fileURLToPath(new URL('./fixtures/react-component', import.meta.url))); + + const logging = { + level: 'error', + dest: process.stderr, + }; + + try { + runtime = await createRuntime(astroConfig, { logging }); + } catch (err) { + console.error(err); + setupError = err; + } +}); + +React.after(async () => { + (await runtime) && runtime.shutdown(); +}); + +React('No error creating the runtime', () => { + assert.equal(setupError, undefined); +}); + +React('Can load React', async () => { + const result = await runtime.load('/'); + + assert.equal(result.statusCode, 200); + + const $ = doc(result.contents); + assert.equal($('#react-h2').text(), 'Hello world!'); +}); + +React('Can load Vue', async () => { + const result = await runtime.load('/'); + + assert.equal(result.statusCode, 200); + + const $ = doc(result.contents); + assert.equal($('#vue-h2').text(), 'Hasta la vista, baby'); +}); + +React.run(); |