Skip to content

Commit 4e959d7

Browse files
committed
specs
1 parent 62d9599 commit 4e959d7

9 files changed

+42
-33
lines changed

spec/CloudCode.spec.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const ParseServer = require('../lib/index').ParseServer;
55
const request = require('../lib/request');
66
const InMemoryCacheAdapter = require('../lib/Adapters/Cache/InMemoryCacheAdapter')
77
.InMemoryCacheAdapter;
8+
const Utils = require('../lib/Utils');
89

910
const mockAdapter = {
1011
createFile: async filename => ({
@@ -1272,15 +1273,15 @@ describe('Cloud Code', () => {
12721273

12731274
it('test cloud function request params types', function (done) {
12741275
Parse.Cloud.define('params', function (req) {
1275-
expect(req.params.date instanceof Date).toBe(true);
1276+
expect(Utils.isDate(req.params.date)).toBe(true);
12761277
expect(req.params.date.getTime()).toBe(1463907600000);
1277-
expect(req.params.dateList[0] instanceof Date).toBe(true);
1278+
expect(Utils.isDate(req.params.dateList[0])).toBe(true);
12781279
expect(req.params.dateList[0].getTime()).toBe(1463907600000);
1279-
expect(req.params.complexStructure.date[0] instanceof Date).toBe(true);
1280+
expect(Utils.isDate(req.params.complexStructure.date[0])).toBe(true);
12801281
expect(req.params.complexStructure.date[0].getTime()).toBe(1463907600000);
1281-
expect(req.params.complexStructure.deepDate.date[0] instanceof Date).toBe(true);
1282+
expect(Utils.isDate(req.params.complexStructure.deepDate.date[0])).toBe(true);
12821283
expect(req.params.complexStructure.deepDate.date[0].getTime()).toBe(1463907600000);
1283-
expect(req.params.complexStructure.deepDate2[0].date instanceof Date).toBe(true);
1284+
expect(Utils.isDate(req.params.complexStructure.deepDate2[0].date)).toBe(true);
12841285
expect(req.params.complexStructure.deepDate2[0].date.getTime()).toBe(1463907600000);
12851286
// Regression for #2294
12861287
expect(req.params.file instanceof Parse.File).toBe(true);

spec/MongoStorageAdapter.spec.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const databaseURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDataba
66
const request = require('../lib/request');
77
const Config = require('../lib/Config');
88
const TestUtils = require('../lib/TestUtils');
9+
const Utils = require('../lib/Utils');
910

1011
const fakeClient = {
1112
s: { options: { dbName: null } },
@@ -245,7 +246,7 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
245246
const mob = results[0];
246247
expect(mob.array instanceof Array).toBe(true);
247248
expect(typeof mob.object).toBe('object');
248-
expect(mob.date instanceof Date).toBe(true);
249+
expect(Utils.isDate(mob.date)).toBe(true);
249250
return adapter.find('MyClass', schema, {}, {});
250251
})
251252
.then(results => {
@@ -278,9 +279,9 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
278279
}).save();
279280
const adapter = Config.get(Parse.applicationId).database.adapter;
280281
const [object] = await adapter._rawFind('MyClass', {});
281-
expect(object.date instanceof Date).toBeTrue();
282-
expect(object.bar.date instanceof Date).toBeTrue();
283-
expect(object.foo.test.date instanceof Date).toBeTrue();
282+
expect(Utils.isDate(object.date)).toBeTrue();
283+
expect(Utils.isDate(object.bar.date)).toBeTrue();
284+
expect(Utils.isDate(object.foo.test.date)).toBeTrue();
284285
});
285286

286287
it('handles nested dates in array ', async () => {
@@ -297,13 +298,13 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
297298
}).save();
298299
const adapter = Config.get(Parse.applicationId).database.adapter;
299300
const [object] = await adapter._rawFind('MyClass', {});
300-
expect(object.date[0] instanceof Date).toBeTrue();
301-
expect(object.bar.date[0] instanceof Date).toBeTrue();
302-
expect(object.foo.test.date[0] instanceof Date).toBeTrue();
301+
expect(Utils.isDate(object.date[0])).toBeTrue();
302+
expect(Utils.isDate(object.bar.date[0])).toBeTrue();
303+
expect(Utils.isDate(object.foo.test.date[0])).toBeTrue();
303304
const obj = await new Parse.Query('MyClass').first({ useMasterKey: true });
304-
expect(obj.get('date')[0] instanceof Date).toBeTrue();
305-
expect(obj.get('bar').date[0] instanceof Date).toBeTrue();
306-
expect(obj.get('foo').test.date[0] instanceof Date).toBeTrue();
305+
expect(Utils.isDate(obj.get('date')[0])).toBeTrue();
306+
expect(Utils.isDate(obj.get('bar').date[0])).toBeTrue();
307+
expect(Utils.isDate(obj.get('foo').test.date[0])).toBeTrue();
307308
});
308309

309310
it('upserts with $setOnInsert', async () => {
@@ -387,7 +388,7 @@ describe_only_db('mongo')('MongoStorageAdapter', () => {
387388
const mob = results[0];
388389
expect(mob.array instanceof Array).toBe(true);
389390
expect(typeof mob.object).toBe('object');
390-
expect(mob.date instanceof Date).toBe(true);
391+
expect(Utils.isDate(mob.date)).toBe(true);
391392
done();
392393
})
393394
.catch(error => {

spec/MongoTransform.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ describe('parseObjectToMongoObjectForCreate', () => {
3333
const output = transform.parseObjectToMongoObjectForCreate(null, input, {
3434
fields: {},
3535
});
36-
expect(output._created_at instanceof Date).toBe(true);
37-
expect(output._updated_at instanceof Date).toBe(true);
36+
expect(Utils.isDate(output._created_at)).toBe(true);
37+
expect(Utils.isDate(output._updated_at)).toBe(true);
3838
done();
3939
});
4040

spec/ParseAPI.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const Parse = require('parse/node');
77
const Config = require('../lib/Config');
88
const SchemaController = require('../lib/Controllers/SchemaController');
99
const { destroyAllDataPermanently } = require('../lib/TestUtils');
10+
const Utils = require('../lib/Utils');
1011

1112
const userSchema = SchemaController.convertSchemaToAdapterSchema({
1213
className: '_User',
@@ -327,7 +328,7 @@ describe('miscellaneous', () => {
327328
return obj2.fetch();
328329
})
329330
.then(obj2 => {
330-
expect(obj2.get('date') instanceof Date).toBe(true);
331+
expect(Utils.isDate(obj2.get('date'))).toBe(true);
331332
expect(obj2.get('array') instanceof Array).toBe(true);
332333
expect(obj2.get('object') instanceof Array).toBe(false);
333334
expect(obj2.get('object') instanceof Object).toBe(true);

spec/ParseGraphQLServer.spec.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const fetch = (...args) => import('node-fetch').then(({ default: fetch }) => fet
55
const FormData = require('form-data');
66
require('./helper');
77
const { updateCLP } = require('./support/dev');
8+
const Utils = require('../lib/Utils');
89

910
const pluralize = require('pluralize');
1011
const createUploadLink = (...args) => import('apollo-upload-client/createUploadLink.mjs').then(({ default: fn }) => fn(...args));
@@ -8476,15 +8477,15 @@ describe('ParseGraphQLServer', () => {
84768477

84778478
it('should accept different params', done => {
84788479
Parse.Cloud.define('hello', async req => {
8479-
expect(req.params.date instanceof Date).toBe(true);
8480+
expect(Utils.isDate(req.params.date)).toBe(true);
84808481
expect(req.params.date.getTime()).toBe(1463907600000);
8481-
expect(req.params.dateList[0] instanceof Date).toBe(true);
8482+
expect(Utils.isDate(req.params.dateList[0])).toBe(true);
84828483
expect(req.params.dateList[0].getTime()).toBe(1463907600000);
8483-
expect(req.params.complexStructure.date[0] instanceof Date).toBe(true);
8484+
expect(Utils.isDate(req.params.complexStructure.date[0])).toBe(true);
84848485
expect(req.params.complexStructure.date[0].getTime()).toBe(1463907600000);
8485-
expect(req.params.complexStructure.deepDate.date[0] instanceof Date).toBe(true);
8486+
expect(Utils.isDate(req.params.complexStructure.deepDate.date[0])).toBe(true);
84868487
expect(req.params.complexStructure.deepDate.date[0].getTime()).toBe(1463907600000);
8487-
expect(req.params.complexStructure.deepDate2[0].date instanceof Date).toBe(true);
8488+
expect(Utils.isDate(req.params.complexStructure.deepDate2[0].date)).toBe(true);
84888489
expect(req.params.complexStructure.deepDate2[0].date.getTime()).toBe(1463907600000);
84898490
// Regression for #2294
84908491
expect(req.params.file instanceof Parse.File).toBe(true);

spec/ParseQuery.spec.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const request = require('../lib/request');
99
const ParseServerRESTController = require('../lib/ParseServerRESTController').ParseServerRESTController;
1010
const ParseServer = require('../lib/ParseServer').default;
1111
const Deprecator = require('../lib/Deprecator/Deprecator').default;
12+
const Utils = require('../lib/Utils');
1213

1314
const masterKeyHeaders = {
1415
'X-Parse-Application-Id': 'test',
@@ -1452,8 +1453,8 @@ describe('Parse.Query testing', () => {
14521453
ok(result);
14531454
equal(result.id, objectId);
14541455
equal(result.get('foo'), 'bar');
1455-
ok(result.createdAt instanceof Date);
1456-
ok(result.updatedAt instanceof Date);
1456+
ok(Utils.isDate(result.createdAt));
1457+
ok(Utils.isDate(result.updatedAt));
14571458
done();
14581459
});
14591460
});
@@ -3902,7 +3903,7 @@ describe('Parse.Query testing', () => {
39023903
objs => {
39033904
expect(objs.length).toBe(1);
39043905
expect(objs[0].get('child').get('hello')).toEqual('world');
3905-
expect(objs[0].createdAt instanceof Date).toBe(true);
3906+
expect(Utils.isDate(objs[0].createdAt)).toBe(true);
39063907
done();
39073908
},
39083909
() => {

spec/ParseUser.spec.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const request = require('../lib/request');
1212
const passwordCrypto = require('../lib/password');
1313
const Config = require('../lib/Config');
1414
const cryptoUtils = require('../lib/cryptoUtils');
15+
const Utils = require('../lib/Utils');
1516

1617

1718
describe('allowExpiredAuthDataToken option', () => {
@@ -1128,9 +1129,9 @@ describe('Parse.User testing', () => {
11281129

11291130
equal(userInMemory.id, id, 'id should be set');
11301131

1131-
expect(userInMemory.updatedAt instanceof Date).toBe(true);
1132+
expect(Utils.isDate(userInMemory.updatedAt)).toBe(true);
11321133

1133-
ok(userInMemory.createdAt instanceof Date);
1134+
ok(Utils.isDate(userInMemory.createdAt));
11341135

11351136
ok(userInMemory.getSessionToken(), 'user should have a sessionToken after saving');
11361137

@@ -1167,9 +1168,9 @@ describe('Parse.User testing', () => {
11671168

11681169
equal(userFromDisk.id, id, 'id should be set on userFromDisk');
11691170

1170-
ok(userFromDisk.updatedAt instanceof Date);
1171+
ok(Utils.isDate(userFromDisk.updatedAt));
11711172

1172-
ok(userFromDisk.createdAt instanceof Date);
1173+
ok(Utils.isDate(userFromDisk.createdAt));
11731174

11741175
ok(userFromDisk.getSessionToken(), 'userFromDisk should have a sessionToken');
11751176

spec/PushController.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const PushController = require('../lib/Controllers/PushController').PushControll
33
const StatusHandler = require('../lib/StatusHandler');
44
const Config = require('../lib/Config');
55
const validatePushType = require('../lib/Push/utils').validatePushType;
6+
const Utils = require('../lib/Utils');
67

78
const successfulTransmissions = function (body, installations) {
89
const promises = installations.map(device => {
@@ -454,8 +455,8 @@ describe('PushController', () => {
454455
const pushStatusId = await sendPush(payload, {}, config, auth);
455456
await pushCompleted(pushStatusId);
456457
const result = await Parse.Push.getPushStatus(pushStatusId);
457-
expect(result.createdAt instanceof Date).toBe(true);
458-
expect(result.updatedAt instanceof Date).toBe(true);
458+
expect(Utils.isDate(result.createdAt)).toBe(true);
459+
expect(Utils.isDate(result.updatedAt)).toBe(true);
459460
expect(result.id.length).toBe(10);
460461
expect(result.get('source')).toEqual('rest');
461462
expect(result.get('query')).toEqual(JSON.stringify({}));

spec/Utils.spec.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ describe('Utils', () => {
315315
});
316316
it('should return true for a cross-realm RegExp', () => {
317317
const crossRealmRegExp = vm.runInNewContext('/test/');
318+
// eslint-disable-next-line no-restricted-syntax -- intentional: proving instanceof fails cross-realm
318319
expect(crossRealmRegExp instanceof RegExp).toBe(false);
319320
expect(Utils.isRegExp(crossRealmRegExp)).toBe(true);
320321
});
@@ -370,6 +371,7 @@ describe('Utils', () => {
370371
});
371372
it('should return true for a cross-realm Error', () => {
372373
const crossRealmError = vm.runInNewContext('new Error("test")');
374+
// eslint-disable-next-line no-restricted-syntax -- intentional: proving instanceof fails cross-realm
373375
expect(crossRealmError instanceof Error).toBe(false);
374376
expect(Utils.isNativeError(crossRealmError)).toBe(true);
375377
});

0 commit comments

Comments
 (0)