From 1bc7d26ed2c7584457610e98df87887e34e65be9 Mon Sep 17 00:00:00 2001 From: Chandan Gupta Date: Wed, 25 Oct 2017 19:41:15 +0530 Subject: [PATCH] Fix #494: Reject a promise on error condition --- src/ParseObject.js | 2 ++ src/__tests__/ParseObject-test.js | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/ParseObject.js b/src/ParseObject.js index 997394756..3c80ad4c3 100644 --- a/src/ParseObject.js +++ b/src/ParseObject.js @@ -1812,6 +1812,8 @@ var DefaultController = { }, options); }).then((response, status, xhr) => { batchReturned.resolve(response, status); + }, (error) => { + batchReturned.reject(new ParseError(ParseError.INCORRECT_TYPE, error.message)); }); return ParsePromise.when(batchTasks); diff --git a/src/__tests__/ParseObject-test.js b/src/__tests__/ParseObject-test.js index 9432036a5..777415d4b 100644 --- a/src/__tests__/ParseObject-test.js +++ b/src/__tests__/ParseObject-test.js @@ -1115,6 +1115,19 @@ describe('ParseObject', () => { }); }); + it('should fail on invalid date', (done) => { + var obj = new ParseObject('Item'); + obj.set('when', new Date(Date.parse(null))); + ParseObject.saveAll([obj]).then(() => { + done.fail('Expected invalid date to fail'); + }).fail((error) => { + expect(error[0].code).toEqual(ParseError.INCORRECT_TYPE); + expect(error[0].message).toEqual('Tried to encode an invalid date.'); + done(); + }); + jest.runAllTicks(); + }); + it('can save a ring of objects, given one exists', (done) => { var xhrs = []; RESTController._setXHR(function() {