diff --git a/spec/PushController.spec.js b/spec/PushController.spec.js index 344ffcfd85..20bc118041 100644 --- a/spec/PushController.spec.js +++ b/spec/PushController.spec.js @@ -2,6 +2,7 @@ var PushController = require('../src/Controllers/PushController').PushController; var pushStatusHandler = require('../src/pushStatusHandler'); var Config = require('../src/Config'); +var rp = require('request-promise'); const successfulTransmissions = function(body, installations) { @@ -313,6 +314,22 @@ describe('PushController', () => { return query.find(); }).then((results) => { expect(results.length).toBe(0); + return rp.get(Parse.serverURL+'/schemas', { + headers: { + 'X-Parse-Application-Id': 'test', + 'X-Parse-Master-Key': 'test' + }, + json: true + }) + }).then((res) => { + expect(res.results.length).not.toBe(0); + res.results.forEach((result) => { + expect(result.className).not.toEqual('_PushStatus'); + }); + done(); + }).catch((err) => { + console.error(err); + fail('should not fail'); done(); }); diff --git a/spec/Schema.spec.js b/spec/Schema.spec.js index 0a6b17b3ea..5aa2ddb030 100644 --- a/spec/Schema.spec.js +++ b/spec/Schema.spec.js @@ -798,4 +798,31 @@ describe('SchemaController', () => { }); done(); }); + + it_exclude_dbs(['postgres'])('should not write _PushStaths to the schema on getOneSchema', (done) => { + var schema; + var config = new Config(Parse.applicationId); + var called; + config.database.loadSchema().then((aSchema) => { + schema = aSchema; + return schema.getOneSchema('_PushStatus'); + }).catch(err => { + called = true; + return schema.getOneSchema('_PushStatus', true); + }).then((res) => { + expect(called).toBe(true); + expect(res).not.toBeUndefined(); + return config.database.adapter._rawFind("_SCHEMA") + }).then((results) => { + expect(results.length).toBe(1); + results.forEach((result) => { + expect(result._id).not.toEqual('_PushStatus'); + }); + done(); + }).catch((err) => { + console.error(err); + fail(err); + done(); + }); + }); });