From 6d007ad92337a8c2e290037280f41a421f349d43 Mon Sep 17 00:00:00 2001 From: jsteuer <jan.steuer.htw@gmail.com> Date: Wed, 18 Dec 2019 12:57:47 +0100 Subject: [PATCH] docs, runtime type checks for createStorageBasedApi --- test/Helpers.spec.ts | 33 ++++++++++++++++++++++++--------- 1 files changed, 24 insertions(+), 9 deletions(-) diff --git a/test/Helpers.spec.ts b/test/Helpers.spec.ts index 01102be..46872b4 100644 --- a/test/Helpers.spec.ts +++ b/test/Helpers.spec.ts @@ -1,4 +1,4 @@ -import test from "ava"; +import test, { ExecutionContext } from "ava"; import { Helpers } from "../src/Helpers"; @@ -56,12 +56,12 @@ }) -test("Helpers.createLocalStorageBasedApi() MC.isReady", async t => { +test("Helpers.createStorageBasedApi() MC.isReady", async t => { const MC = Helpers.createStorageBasedApi(); t.true(await MC.isReady()); }) -test("Helpers.createLocalStorageBasedApi() MC.ide.getContextFile", async t => { +test("Helpers.createStorageBasedApi() MC.ide.getContextFile", async t => { const MC = Helpers.createStorageBasedApi(); const contextFile = await MC.ide.getContextFile() t.true(Helpers.isFile(contextFile)); @@ -70,13 +70,22 @@ t.is(contextFile.path, "/file.dummy.json"); }) -test("Helpers.createLocalStorageBasedApi() MC.ide.getUserName", async t => { +test("Helpers.createStorageBasedApi() MC.ide.getUserName", async t => { const MC = Helpers.createStorageBasedApi(); t.is(await MC.ide.getUserName(), "jdoe"); }) -test("Helpers.createLocalStorageBasedApi() MC.ide.fs readFile+writeFile", async t => { - const MC = Helpers.createStorageBasedApi(); +async function expectThrows(t: ExecutionContext, callback: () => Promise<any>) { + try { + await callback(); + t.fail() + } catch (error) { + t.pass() + } +} + +test("Helpers.createStorageBasedApi() MC.ide.fs readFile+writeFile", async t => { + const MC = Helpers.createStorageBasedApi(); // expect InMemory Storage const contextFile = await MC.ide.getContextFile(); const exerciseFile = Helpers.contextFileToExerciseFile(contextFile); @@ -88,11 +97,13 @@ t.is(await MC.ide.fs.readFile(contextFile), "123"); t.is(await MC.ide.fs.readFile(exerciseFile), "456"); + + expectThrows(t, () => MC.ide.fs.writeFile({} as any, "")); + expectThrows(t, () => MC.ide.fs.writeFile(exerciseFile, 42 as any)); + expectThrows(t, () => MC.ide.fs.writeFile(null as any, null as any)); }) - - -test("Helpers.createLocalStorageBasedApi() MC.ide.navigator", async t => { +test("Helpers.createStorageBasedApi() MC.ide.navigator", async t => { const MC = Helpers.createStorageBasedApi(); const contextFile = await MC.ide.getContextFile(); const exerciseFile = Helpers.contextFileToExerciseFile(contextFile); @@ -100,5 +111,9 @@ MC.ide.navigator.navigateTo("www.google.de", true); MC.ide.navigator.navigateToExercise(exerciseFile, true); + expectThrows(t, () => MC.ide.navigator.navigateTo(null as any)); + expectThrows(t, () => MC.ide.navigator.navigateTo(42 as any)); + expectThrows(t, () => MC.ide.navigator.navigateTo("www.google.de", 42 as any)); + t.pass(); }) \ No newline at end of file -- Gitblit v1.10.0-SNAPSHOT