Skip to content

Commit 977edea

Browse files
authored
test: Add tests for isGet parameter in Cloud Code trigger beforeFind (#8738)
1 parent 5954f0f commit 977edea

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

spec/CloudCode.spec.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2398,6 +2398,56 @@ describe('beforeFind hooks', () => {
23982398
});
23992399
});
24002400

2401+
it('sets correct beforeFind trigger isGet parameter for Parse.Object.fetch request', async () => {
2402+
const hook = {
2403+
method: req => {
2404+
expect(req.isGet).toEqual(true);
2405+
return Promise.resolve();
2406+
},
2407+
};
2408+
spyOn(hook, 'method').and.callThrough();
2409+
Parse.Cloud.beforeFind('MyObject', hook.method);
2410+
const obj = new Parse.Object('MyObject');
2411+
await obj.save();
2412+
const getObj = await obj.fetch();
2413+
expect(getObj).toBeInstanceOf(Parse.Object);
2414+
expect(hook.method).toHaveBeenCalledTimes(1);
2415+
});
2416+
2417+
it('sets correct beforeFind trigger isGet parameter for Parse.Query.get request', async () => {
2418+
const hook = {
2419+
method: req => {
2420+
expect(req.isGet).toEqual(false);
2421+
return Promise.resolve();
2422+
},
2423+
};
2424+
spyOn(hook, 'method').and.callThrough();
2425+
Parse.Cloud.beforeFind('MyObject', hook.method);
2426+
const obj = new Parse.Object('MyObject');
2427+
await obj.save();
2428+
const query = new Parse.Query('MyObject');
2429+
const getObj = await query.get(obj.id);
2430+
expect(getObj).toBeInstanceOf(Parse.Object);
2431+
expect(hook.method).toHaveBeenCalledTimes(1);
2432+
});
2433+
2434+
it('sets correct beforeFind trigger isGet parameter for Parse.Query.find request', async () => {
2435+
const hook = {
2436+
method: req => {
2437+
expect(req.isGet).toEqual(false);
2438+
return Promise.resolve();
2439+
},
2440+
};
2441+
spyOn(hook, 'method').and.callThrough();
2442+
Parse.Cloud.beforeFind('MyObject', hook.method);
2443+
const obj = new Parse.Object('MyObject');
2444+
await obj.save();
2445+
const query = new Parse.Query('MyObject');
2446+
const findObjs = await query.find();
2447+
expect(findObjs?.[0]).toBeInstanceOf(Parse.Object);
2448+
expect(hook.method).toHaveBeenCalledTimes(1);
2449+
});
2450+
24012451
it('should have request headers', done => {
24022452
Parse.Cloud.beforeFind('MyObject', req => {
24032453
expect(req.headers).toBeDefined();

0 commit comments

Comments
 (0)