From e17ca7c2bc7bf6594c1b9315b8e12c5d026fe094 Mon Sep 17 00:00:00 2001 From: Danilo Woznica Date: Fri, 29 Apr 2022 10:51:02 +0000 Subject: [PATCH] Create sandpackContenxt.test.tsx --- .../src/contexts/sandpackContenxt.test.tsx | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sandpack-react/src/contexts/sandpackContenxt.test.tsx diff --git a/sandpack-react/src/contexts/sandpackContenxt.test.tsx b/sandpack-react/src/contexts/sandpackContenxt.test.tsx new file mode 100644 index 000000000..1313ee3bf --- /dev/null +++ b/sandpack-react/src/contexts/sandpackContenxt.test.tsx @@ -0,0 +1,42 @@ +import React from "react"; +import { SandpackProvider } from "./sandpackContext"; + +import { create } from "react-test-renderer"; +describe(SandpackProvider, () => { + it("updates a file", () => { + const root = create(); + const instance = root.getInstance(); + + expect(instance.state.files["/App.js"]).toEqual({ + code: `export default function App() { + return

Hello World

+} +`, + }); + + instance.updateFile("/App.js", "Foo"); + + expect(instance.state.files["/App.js"]).toEqual({ code: `Foo` }); + }); + + it("updates multiples files", () => { + const root = create(); + const instance = root.getInstance(); + + instance.updateFile({ "/App.js": "Foo", "/index.js": "Baz" }); + + expect(instance.state.files["/App.js"]).toEqual({ code: `Foo` }); + expect(instance.state.files["/index.js"]).toEqual({ code: `Baz` }); + }); + + it("updates multiples files in a row", () => { + const root = create(); + const instance = root.getInstance(); + + instance.updateFile("/App.js", "Foo"); + instance.updateFile("/index.js", "Baz"); + + expect(instance.state.files["/App.js"]).toEqual({ code: `Foo` }); + expect(instance.state.files["/index.js"]).toEqual({ code: `Baz` }); + }); +});