diff --git a/test/app-tests/joining.js b/test/app-tests/joining.js index e835ebb9cb1..89ae4185fe9 100644 --- a/test/app-tests/joining.js +++ b/test/app-tests/joining.js @@ -141,11 +141,13 @@ describe('joining a room', function () { return q.all([ httpBackend.flush('/directory/room/'+encodeURIComponent(ROOM_ALIAS)), - httpBackend.flush('/rooms/'+encodeURIComponent(ROOM_ID)+"/initialSync"), + httpBackend.flush('/rooms/'+encodeURIComponent(ROOM_ID)+"/initialSync", 1, 20), ]); }).then(() => { httpBackend.verifyNoOutstandingExpectation(); + return q.delay(1); + }).then(() => { // we should now have a roomview, with a preview bar roomView = ReactTestUtils.findRenderedComponentWithType( matrixChat, RoomView); diff --git a/test/mock-request.js b/test/mock-request.js index c58301100a5..46d165824d4 100644 --- a/test/mock-request.js +++ b/test/mock-request.js @@ -46,9 +46,8 @@ HttpBackend.prototype = { const defer = q.defer(); const self = this; let flushed = 0; - let triedWaiting = false; if (waitTime === undefined) { - waitTime = 5; + waitTime = 10; } function log(msg) { @@ -60,6 +59,8 @@ HttpBackend.prototype = { + " waitTime=" + waitTime + ")", ); + const endTime = waitTime + Date.now(); + const tryFlush = function() { // if there's more real requests and more expected requests, flush 'em. log(` trying to flush => reqs=[${self.requests}] ` + @@ -75,12 +76,11 @@ HttpBackend.prototype = { log(` flushed. Trying for more.`); setTimeout(tryFlush, 0); } - } else if (flushed === 0 && !triedWaiting) { + } else if (flushed === 0 && Date.now() < endTime) { // we may not have made the request yet, wait a generous amount of // time before giving up. log(` nothing to flush yet; waiting for requests.`); - setTimeout(tryFlush, waitTime); - triedWaiting = true; + setTimeout(tryFlush, 5); } else { if (flushed === 0) { log("nothing to flush; giving up");