diff --git a/src/lib/components/description/description.test.ts b/src/lib/components/description/description.test.ts
new file mode 100644
index 0000000..1fc58a9
--- /dev/null
+++ b/src/lib/components/description/description.test.ts
@@ -0,0 +1,106 @@
+import DescriptionProvider from "./DescriptionProvider.svelte";
+import Description from "./Description.svelte";
+import svelte from "svelte-inline-compile";
+import { render } from "@testing-library/svelte";
+
+let mockId = 0;
+jest.mock("../../hooks/use-id", () => {
+ return {
+ useId: jest.fn(() => ++mockId),
+ };
+});
+
+beforeEach(() => (mockId = 0));
+beforeAll(() => {
+ // jest.spyOn(window, 'requestAnimationFrame').mockImplementation(setImmediate as any)
+ // jest.spyOn(window, 'cancelAnimationFrame').mockImplementation(clearImmediate as any)
+});
+afterAll(() => jest.restoreAllMocks());
+
+it("should be possible to render a DescriptionProvider", () => {
+ render(DescriptionProvider, { name: "test" });
+ // This dumb line is to trick the TS compiler to not remove my imports
+ expect(DescriptionProvider).not.toBe(Description);
+});
+
+it("should be possible to use a DescriptionProvider without using a Description", async () => {
+ let { container } = render(svelte`
+
+ I am a description +
+ + + + + Contents + ++ I am a description +
+ + + + + Contents + + ++ I am also a description +
+ + +