From 75fa2fdb5d7d5dc772b1360f31a375e64f8bf928 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 23 Oct 2022 13:31:51 +0200 Subject: [PATCH] Update CloudCode.spec.js --- spec/CloudCode.spec.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/spec/CloudCode.spec.js b/spec/CloudCode.spec.js index bf1a2c8c42..7e64032c77 100644 --- a/spec/CloudCode.spec.js +++ b/spec/CloudCode.spec.js @@ -18,6 +18,41 @@ const mockAdapter = { }, }; +fdescribe('Error handling', () => { + const error = new Error('throw in cloud code'); + + it('does not crash server when throwing in cloud code function', async () => { + let triggered = false; + + Parse.Cloud.define('hello', () => { + triggered = true; + throw error; + }); + + const response = await Parse.Cloud.run('hello').catch(e => e); + expect(triggered).toBeTrue(); + expect(response).toBeDefined(); + expect(response.code).toBe(141); + expect(response.message).toBe(error.message); + }); + + it('does not crash server when throwing in afterLogout hook', async () => { + let triggered = false; + + Parse.Cloud.afterLogout(() => { + triggered = true; + throw error; + }); + + await Parse.User.signUp('user', 'pass'); + const response = await Parse.User.logOut().catch(e => e); + expect(triggered).toBeTrue(); + expect(response).toBeDefined(); + expect(response.code).toBe(141); + expect(response.message).toBe(error.message); + }); +}); + describe('Cloud Code', () => { it('can load absolute cloud code file', done => { reconfigureServer({