Validation Handler Update (#6968)
* Initial Commit * Update FunctionsRouter.js * Update FunctionsRouter.js * Change params to fields * Changes requested * Fix failing tests * More tests * More tests * Remove existing functionality * Remove legacy tests * fix array typo * Update triggers.js * Docs * Allow requireUserKeys to be object * validateMasterKey * Improve documentation Co-authored-by: Diamond Lewis <findlewis@gmail.com>
This commit is contained in:
@@ -113,6 +113,21 @@ describe('Cloud Code', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('returns an empty error', done => {
|
||||
Parse.Cloud.define('cloudCodeWithError', () => {
|
||||
throw null;
|
||||
});
|
||||
|
||||
Parse.Cloud.run('cloudCodeWithError').then(
|
||||
() => done.fail('should not succeed'),
|
||||
e => {
|
||||
expect(e.code).toEqual(141);
|
||||
expect(e.message).toEqual('Script failed.');
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('beforeSave rejection with custom error code', function (done) {
|
||||
Parse.Cloud.beforeSave('BeforeSaveFailWithErrorCode', function () {
|
||||
throw new Parse.Error(999, 'Nope');
|
||||
@@ -2675,6 +2690,34 @@ describe('beforeLogin hook', () => {
|
||||
expect(result).toBe(file);
|
||||
});
|
||||
|
||||
it('throw custom error from beforeSaveFile', async done => {
|
||||
Parse.Cloud.beforeSaveFile(() => {
|
||||
throw new Parse.Error(Parse.Error.SCRIPT_FAILED, 'It should fail');
|
||||
});
|
||||
try {
|
||||
const file = new Parse.File('popeye.txt', [1, 2, 3], 'text/plain');
|
||||
await file.save({ useMasterKey: true });
|
||||
fail('error should have thrown');
|
||||
} catch (e) {
|
||||
expect(e.code).toBe(Parse.Error.SCRIPT_FAILED);
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
it('throw empty error from beforeSaveFile', async done => {
|
||||
Parse.Cloud.beforeSaveFile(() => {
|
||||
throw null;
|
||||
});
|
||||
try {
|
||||
const file = new Parse.File('popeye.txt', [1, 2, 3], 'text/plain');
|
||||
await file.save({ useMasterKey: true });
|
||||
fail('error should have thrown');
|
||||
} catch (e) {
|
||||
expect(e.code).toBe(130);
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
it('beforeSaveFile should return file that is already saved and not save anything to files adapter', async () => {
|
||||
await reconfigureServer({ filesAdapter: mockAdapter });
|
||||
const createFileSpy = spyOn(mockAdapter, 'createFile').and.callThrough();
|
||||
|
||||
Reference in New Issue
Block a user