astro/packages/integrations/mdx/test/invalid-mdx-component.test.js
Happydev bc7c164bc3
Do not silence runtime MDX errors (#7089)
* test: add fixture

* chore: remove unneeded files in fixture

* test: update test mdx filfe

* test: add test case

* mark component as mdx

* add error builder utility

* throw error when it comes from an MDX component

* chore: update lock file

* Add comment to refactor later

* apply review

* add missing comma
2023-06-09 20:21:32 +00:00

40 lines
866 B
JavaScript

import { expect } from "chai";
import { loadFixture } from "../../../astro/test/test-utils.js";
import mdx from "../dist/index.js";
const FIXTURE_ROOT = new URL(
"./fixtures/invalid-mdx-component/",
import.meta.url,
);
describe("MDX component with runtime error", () => {
let fixture;
before(async () => {
fixture = await loadFixture({
root: FIXTURE_ROOT,
integrations: [mdx()],
});
});
describe("build", () => {
/** @type {Error | null} */
let error;
before(async () => {
error = null;
try {
await fixture.build();
} catch (e) {
error = e;
}
});
it("Throws the right error", async () => {
expect(error).to.exist;
expect(error?.hint).to.match(
/This issue often occurs when your MDX component encounters runtime errors/,
);
});
});
});