From 0a9c6b435c24fa0f07a62beb2c7d43b98914bc21 Mon Sep 17 00:00:00 2001 From: David Poetzsch-Heffter Date: Tue, 20 Sep 2016 00:24:55 +0200 Subject: [PATCH 1/2] added typings for parse-mockdb --- parse-mockdb/parse-mockdb-tests.ts | 25 +++++++++++++++++++++++++ parse-mockdb/parse-mockdb.d.ts | 21 +++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 parse-mockdb/parse-mockdb-tests.ts create mode 100644 parse-mockdb/parse-mockdb.d.ts diff --git a/parse-mockdb/parse-mockdb-tests.ts b/parse-mockdb/parse-mockdb-tests.ts new file mode 100644 index 0000000000..89f586d9e8 --- /dev/null +++ b/parse-mockdb/parse-mockdb-tests.ts @@ -0,0 +1,25 @@ +/// + +ParseMockDB.mockDB(); // Mock the Parse RESTController + +// from parse-mockdb test suite +ParseMockDB.registerHook("Foo", "beforeSave", (request) => { + const object = request.object; + if (object.get('error')) { + return Parse.Promise.error('whoah'); + } + object.set('cool', true); + return Parse.Promise.as(object); +}); + +// from parse-mockdb test suite +ParseMockDB.registerHook("Foo", "beforeDelete", (request) => { + const object = request.object; + if (object.get('error')) { + return Parse.Promise.error('whoah'); + } + return Parse.Promise.as({}); +}); + +ParseMockDB.cleanUp(); // Clear the Database +ParseMockDB.unMockDB(); // Un-mock the Parse RESTController diff --git a/parse-mockdb/parse-mockdb.d.ts b/parse-mockdb/parse-mockdb.d.ts new file mode 100644 index 0000000000..c6b6e729d1 --- /dev/null +++ b/parse-mockdb/parse-mockdb.d.ts @@ -0,0 +1,21 @@ +// Type definitions for parse-mockdb v0.1.13 +// Project: https://github.com/HustleInc/parse-mockdb +// Definitions by: David Poetzsch-Heffter +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace ParseMockDB { + function mockDB(): void; + function unMockDB(): void; + function cleanUp(): void; + + function promiseResultSync(promise: Parse.IPromise): T; + + type HookType = "beforeSave" | "beforeDelete"; + function registerHook(className: string, hookType: HookType, hookFn: (request: Parse.Cloud.BeforeSaveRequest) => Parse.IPromise): void; +} + +declare module "parse-mockdb" { + export = ParseMockDB; +} From 0502f8480e068fafd516a1189f0ce25a26abb387 Mon Sep 17 00:00:00 2001 From: David Poetzsch-Heffter Date: Tue, 20 Sep 2016 16:44:20 +0200 Subject: [PATCH 2/2] added import statement --- parse-mockdb/parse-mockdb-tests.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/parse-mockdb/parse-mockdb-tests.ts b/parse-mockdb/parse-mockdb-tests.ts index 89f586d9e8..8d60573a8b 100644 --- a/parse-mockdb/parse-mockdb-tests.ts +++ b/parse-mockdb/parse-mockdb-tests.ts @@ -1,5 +1,7 @@ /// +import * as ParseMockDB from "parse-mockdb"; + ParseMockDB.mockDB(); // Mock the Parse RESTController // from parse-mockdb test suite