Files
kami-parse-server/spec/PushRouter.spec.js
Florent Vilmart 045d941aef Remove request and request-promise from dev dependencies (#5077)
* removes from emailverificationtoken spec

* updates winston

* Updates ValidationAndPasswordsReset

* Use local request in schemas

* Removes request in rest.spec

* Removes request from PushRouter0

* removes request from public API

* removes request from index.spec

* Removes request form parse.push spec

* removes request from ParseInstallation spec

* Removes from ParseHooks

* removes request from ParseGlobalConfig.spec

* Removes request from ParseAPI.spec.js

* removes request from LogsRouter

* removes in features

* Filters undefined headers instead of crashing

* Removes request from ParseUser spec

* Removes usage of request in ParseFile.spec.js

* Removes request from AuthAdapters.js

* removes request-promise from ParseGeoPoint.spec

* Removes request-promise from ParseQuery spec

* remove request-promise from UserPII

* removes request-promise from EnableExpressErrorHandler

* Updates RevocableSessionUpgrade spec

* Update RestQuery

* Removes read preferenceOptionM

* ensure we forward auth from URL

* use request in CloudCode.spec.js

* Removes request-promise from JobSchedule.spec

* Removes rp from VerifyUserPassword.spec.js

* Removes rp from PasswordPolicy spec

* Removes rp from ParsePolygon spec

* Removes rp from fullTextSearch spec

* Removes rp from PArseQuery.Aggregate

* Ensure we properly forward errors

* Removes request and request-promise
2018-09-24 17:07:51 -04:00

92 lines
2.0 KiB
JavaScript

const PushRouter = require('../lib/Routers/PushRouter').PushRouter;
const request = require('../lib/request');
describe('PushRouter', () => {
it('can get query condition when channels is set', done => {
// Make mock request
const request = {
body: {
channels: ['Giants', 'Mets'],
},
};
const where = PushRouter.getQueryCondition(request);
expect(where).toEqual({
channels: {
$in: ['Giants', 'Mets'],
},
});
done();
});
it('can get query condition when where is set', done => {
// Make mock request
const request = {
body: {
where: {
injuryReports: true,
},
},
};
const where = PushRouter.getQueryCondition(request);
expect(where).toEqual({
injuryReports: true,
});
done();
});
it('can get query condition when nothing is set', done => {
// Make mock request
const request = {
body: {},
};
expect(function() {
PushRouter.getQueryCondition(request);
}).toThrow();
done();
});
it('can throw on getQueryCondition when channels and where are set', done => {
// Make mock request
const request = {
body: {
channels: {
$in: ['Giants', 'Mets'],
},
where: {
injuryReports: true,
},
},
};
expect(function() {
PushRouter.getQueryCondition(request);
}).toThrow();
done();
});
it('sends a push through REST', done => {
request({
method: 'POST',
url: Parse.serverURL + '/push',
body: {
channels: {
$in: ['Giants', 'Mets'],
},
},
headers: {
'X-Parse-Application-Id': Parse.applicationId,
'X-Parse-Master-Key': Parse.masterKey,
'Content-Type': 'application/json',
},
}).then(res => {
expect(res.headers['x-parse-push-status-id']).not.toBe(undefined);
expect(res.headers['x-parse-push-status-id'].length).toBe(10);
expect(res.data.result).toBe(true);
done();
});
});
});