test: fix failing tests on 4.x LTS branch (#7661)

This commit is contained in:
Frans Bouwmeester
2021-10-30 19:19:54 +02:00
committed by GitHub
parent 4ac4b7f710
commit 065facdc53
6 changed files with 38 additions and 5 deletions

9
package-lock.json generated
View File

@@ -8338,6 +8338,15 @@
"integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==",
"dev": true "dev": true
}, },
"jasmine-spec-reporter": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz",
"integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==",
"dev": true,
"requires": {
"colors": "1.4.0"
}
},
"jmespath": { "jmespath": {
"version": "0.15.0", "version": "0.15.0",
"resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz",

View File

@@ -84,6 +84,7 @@
"form-data": "3.0.0", "form-data": "3.0.0",
"husky": "4.2.5", "husky": "4.2.5",
"jasmine": "3.5.0", "jasmine": "3.5.0",
"jasmine-spec-reporter": "7.0.0",
"jsdoc": "3.6.7", "jsdoc": "3.6.7",
"jsdoc-babel": "0.5.0", "jsdoc-babel": "0.5.0",
"lint-staged": "10.2.3", "lint-staged": "10.2.3",

View File

@@ -949,7 +949,7 @@ describe('ParseLiveQuery', function () {
const response = (obj, prev) => { const response = (obj, prev) => {
expect(obj.get('sessionToken')).toBeUndefined(); expect(obj.get('sessionToken')).toBeUndefined();
expect(obj.sessionToken).toBeUndefined(); expect(obj.sessionToken).toBeUndefined();
expect(prev?.sessionToken).toBeUndefined(); expect(prev && prev.sessionToken).toBeUndefined();
if (prev && prev.get) { if (prev && prev.get) {
expect(prev.get('sessionToken')).toBeUndefined(); expect(prev.get('sessionToken')).toBeUndefined();
} }
@@ -968,7 +968,7 @@ describe('ParseLiveQuery', function () {
user.set('yolo', 'bar'); user.set('yolo', 'bar');
await user.save(); await user.save();
await user.destroy(); await user.destroy();
await new Promise(resolve => process.nextTick(resolve)); await new Promise(resolve => setTimeout(resolve, 10));
for (const key of events) { for (const key of events) {
expect(calls[key]).toHaveBeenCalled(); expect(calls[key]).toHaveBeenCalled();
} }

View File

@@ -3948,7 +3948,7 @@ describe('Parse.User testing', () => {
const response = (obj, prev) => { const response = (obj, prev) => {
expect(obj.get('authData')).toBeUndefined(); expect(obj.get('authData')).toBeUndefined();
expect(obj.authData).toBeUndefined(); expect(obj.authData).toBeUndefined();
expect(prev?.authData).toBeUndefined(); expect(prev && prev.authData).toBeUndefined();
if (prev && prev.get) { if (prev && prev.get) {
expect(prev.get('authData')).toBeUndefined(); expect(prev.get('authData')).toBeUndefined();
} }
@@ -3960,7 +3960,6 @@ describe('Parse.User testing', () => {
subscription.on(key, calls[key]); subscription.on(key, calls[key]);
} }
const user = await Parse.User._logInWith('facebook'); const user = await Parse.User._logInWith('facebook');
user.set('foo', 'bar'); user.set('foo', 'bar');
await user.save(); await user.save();
user.unset('foo'); user.unset('foo');
@@ -3968,10 +3967,14 @@ describe('Parse.User testing', () => {
user.set('yolo', 'bar'); user.set('yolo', 'bar');
await user.save(); await user.save();
await user.destroy(); await user.destroy();
await new Promise(resolve => process.nextTick(resolve)); await new Promise(resolve => setTimeout(resolve, 10));
for (const key of events) { for (const key of events) {
expect(calls[key]).toHaveBeenCalled(); expect(calls[key]).toHaveBeenCalled();
} }
subscription.unsubscribe();
const client = await Parse.CoreManager.getLiveQueryController().getDefaultLiveQueryClient();
client.close();
await new Promise(resolve => setTimeout(resolve, 10));
}); });
describe('issue #4897', () => { describe('issue #4897', () => {

View File

@@ -1,6 +1,11 @@
'use strict'; 'use strict';
const CurrentSpecReporter = require('./support/CurrentSpecReporter.js');
const { SpecReporter } = require('jasmine-spec-reporter');
// Sets up a Parse API server for testing. // Sets up a Parse API server for testing.
jasmine.DEFAULT_TIMEOUT_INTERVAL = process.env.PARSE_SERVER_TEST_TIMEOUT || 5000; jasmine.DEFAULT_TIMEOUT_INTERVAL = process.env.PARSE_SERVER_TEST_TIMEOUT || 5000;
jasmine.getEnv().addReporter(new CurrentSpecReporter());
jasmine.getEnv().addReporter(new SpecReporter());
global.on_db = (db, callback, elseCallback) => { global.on_db = (db, callback, elseCallback) => {
if (process.env.PARSE_SERVER_TEST_DB == db) { if (process.env.PARSE_SERVER_TEST_DB == db) {

View File

@@ -0,0 +1,15 @@
// Sets a global variable to the current test spec
// ex: global.currentSpec.description
global.currentSpec = null;
class CurrentSpecReporter {
specStarted(spec) {
global.currentSpec = spec;
}
specDone() {
global.currentSpec = null;
}
}
module.exports = CurrentSpecReporter;