Skip to content

Commit 81ecf2f

Browse files
davimacedoacinader
authored andcommitted
Fix jasmine 3.4 (#5573)
* Fix failing tests * just ignore the test for now. * Bumping jasmine * Fix pg unhandled exception * Improving the way the test is fixed * Fix unhandled failed promise in postgres test * Solving unhandled promise fail on redis test * Returning the excluded test * Fixing package-lock * Fix unhandled promise from redis test
1 parent 9232fcc commit 81ecf2f

File tree

6 files changed

+67
-39
lines changed

6 files changed

+67
-39
lines changed

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"flow-bin": "0.98.1",
6161
"gaze": "1.1.3",
6262
"husky": "2.2.0",
63-
"jasmine": "3.1.0",
63+
"jasmine": "3.4.0",
6464
"jasmine-spec-reporter": "4.2.1",
6565
"jsdoc": "3.6.1",
6666
"jsdoc-babel": "0.5.0",

spec/ParseLiveQueryServer.spec.js

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,14 @@ describe('ParseLiveQueryServer', function() {
158158
classNames: ['Yolo'],
159159
},
160160
startLiveQueryServer: true,
161+
__indexBuildCompletionCallbackForTests: promise => {
162+
promise.then(() => {
163+
expect(parseServer.liveQueryServer).not.toBeUndefined();
164+
expect(parseServer.liveQueryServer.server).toBe(parseServer.server);
165+
parseServer.server.close(() => done());
166+
});
167+
},
161168
});
162-
163-
expect(parseServer.liveQueryServer).not.toBeUndefined();
164-
expect(parseServer.liveQueryServer.server).toBe(parseServer.server);
165-
parseServer.server.close(() => done());
166169
});
167170

168171
it('can be initialized through ParseServer with liveQueryServerOptions', function(done) {
@@ -178,12 +181,18 @@ describe('ParseLiveQueryServer', function() {
178181
liveQueryServerOptions: {
179182
port: 22347,
180183
},
184+
__indexBuildCompletionCallbackForTests: promise => {
185+
promise.then(() => {
186+
expect(parseServer.liveQueryServer).not.toBeUndefined();
187+
expect(parseServer.liveQueryServer.server).not.toBe(
188+
parseServer.server
189+
);
190+
parseServer.liveQueryServer.server.close(() => {
191+
parseServer.server.close(() => done());
192+
});
193+
});
194+
},
181195
});
182-
183-
expect(parseServer.liveQueryServer).not.toBeUndefined();
184-
expect(parseServer.liveQueryServer.server).not.toBe(parseServer.server);
185-
parseServer.liveQueryServer.server.close();
186-
parseServer.server.close(() => done());
187196
});
188197
});
189198

spec/ParseServer.spec.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,20 @@ describe('Server Url Checks', () => {
6262
}
6363
const newConfiguration = Object.assign({}, defaultConfiguration, {
6464
databaseAdapter,
65-
});
66-
const parseServer = ParseServer.start(newConfiguration, () => {
67-
parseServer.handleShutdown();
68-
parseServer.server.close(err => {
69-
if (err) {
70-
done.fail('Close Server Error');
71-
}
72-
reconfigureServer({}).then(() => {
73-
done();
65+
__indexBuildCompletionCallbackForTests: promise => {
66+
promise.then(() => {
67+
parseServer.handleShutdown();
68+
parseServer.server.close(err => {
69+
if (err) {
70+
done.fail('Close Server Error');
71+
}
72+
reconfigureServer({}).then(() => {
73+
done();
74+
});
75+
});
7476
});
75-
});
77+
},
7678
});
79+
const parseServer = ParseServer.start(newConfiguration);
7780
});
7881
});

spec/Schema.spec.js

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -440,13 +440,20 @@ describe('SchemaController', () => {
440440
// If two callers race to create the same schema, the response to the
441441
// race loser should be the same as if they hadn't been racing.
442442
config.database.loadSchema().then(schema => {
443-
const p1 = schema.addClassIfNotExists('NewClass', {
444-
foo: { type: 'String' },
445-
});
446-
const p2 = schema.addClassIfNotExists('NewClass', {
447-
foo: { type: 'String' },
448-
});
449-
Promise.race([p1, p2]).then(actualSchema => {
443+
const p1 = schema
444+
.addClassIfNotExists('NewClass', {
445+
foo: { type: 'String' },
446+
})
447+
.then(validateSchema)
448+
.catch(validateError);
449+
const p2 = schema
450+
.addClassIfNotExists('NewClass', {
451+
foo: { type: 'String' },
452+
})
453+
.then(validateSchema)
454+
.catch(validateError);
455+
let schemaValidated = false;
456+
function validateSchema(actualSchema) {
450457
const expectedSchema = {
451458
className: 'NewClass',
452459
fields: {
@@ -467,10 +474,17 @@ describe('SchemaController', () => {
467474
},
468475
};
469476
expect(dd(actualSchema, expectedSchema)).toEqual(undefined);
470-
});
471-
Promise.all([p1, p2]).catch(error => {
477+
schemaValidated = true;
478+
}
479+
let errorValidated = false;
480+
function validateError(error) {
472481
expect(error.code).toEqual(Parse.Error.INVALID_CLASS_NAME);
473482
expect(error.message).toEqual('Class NewClass already exists.');
483+
errorValidated = true;
484+
}
485+
Promise.all([p1, p2]).then(() => {
486+
expect(schemaValidated).toEqual(true);
487+
expect(errorValidated).toEqual(true);
474488
done();
475489
});
476490
});

src/ParseServer.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,13 @@ class ParseServer {
9797

9898
logging.setLogger(loggerController);
9999
const dbInitPromise = databaseController.performInitialization();
100-
hooksController.load();
100+
const hooksLoadPromise = hooksController.load();
101101

102102
// Note: Tests will start to fail if any validation happens after this is called.
103103
if (process.env.TESTING) {
104-
__indexBuildCompletionCallbackForTests(dbInitPromise);
104+
__indexBuildCompletionCallbackForTests(
105+
Promise.all([dbInitPromise, hooksLoadPromise])
106+
);
105107
}
106108

107109
if (cloud) {

0 commit comments

Comments
 (0)