diff options
author | 2021-03-19 17:07:45 -0400 | |
---|---|---|
committer | 2021-03-19 17:07:45 -0400 | |
commit | 17c3c98f07628b43b941b84831e8e1f9bcd7ca46 (patch) | |
tree | 2e2b3c7d6bd67ebaabe6636ae6867ad368ac6c3a /test/hmx-basic.test.js | |
parent | 8ebc077cb0d9f50aae22d2651bd5ef13fe4641d3 (diff) | |
download | astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.tar.gz astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.tar.zst astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.zip |
Initial tests set up (#10)
* Begin debugging
* Initial tests set up
This adds tests using uvu (we can switch if people want) and restructures things a bit so that it's easier to test.
Like in snowpack you set up a little project. In our tests you can say:
```js
const result = await runtime.load('/blog/hello-world')
```
And analyze the result. I included a `test-helpers.js` which has a function that will turn HTML into a cheerio instance, for inspecting the result HTML.
* Add CI
* Remove extra console logs
* Formatting
Diffstat (limited to 'test/hmx-basic.test.js')
-rw-r--r-- | test/hmx-basic.test.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/hmx-basic.test.js b/test/hmx-basic.test.js new file mode 100644 index 000000000..224ce07b3 --- /dev/null +++ b/test/hmx-basic.test.js @@ -0,0 +1,38 @@ +import { suite } from 'uvu'; +import * as assert from 'uvu/assert'; +import { createRuntime } from '../lib/runtime.js'; +import { doc } from './test-utils.js'; + +const Basics = suite('HMX Basics'); + +let runtime; + +Basics.before(async () => { + const astroConfig = { + projectRoot: new URL('./fixtures/hmx-basic/', import.meta.url), + hmxRoot: new URL('./fixtures/hmx-basic/astro/', import.meta.url), + dist: './_site' + }; + + const logging = { + level: 'error', + dest: process.stderr + }; + + runtime = await createRuntime(astroConfig, logging); +}); + +Basics.after(async () => { + await runtime.shutdown(); +}); + +Basics('Can load hmx page', async () => { + const result = await runtime.load('/'); + + assert.equal(result.statusCode, 200); + const $ = doc(result.contents); + + assert.equal($('h1').text(), 'Hello world!'); +}); + +Basics.run();
\ No newline at end of file |