From 8e288e14bf8914ff4a977b3eaca8c10e3880cd27 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 6 Jun 2017 15:59:24 +0100 Subject: [PATCH] Add more hacky q.delays To work around the fact that we now do more trips around the event loop to update view state (because of going vis the store). Also add comment saying how horrible this is. --- test/app-tests/joining.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/app-tests/joining.js b/test/app-tests/joining.js index ce7ef541..24a4ceed 100644 --- a/test/app-tests/joining.js +++ b/test/app-tests/joining.js @@ -163,6 +163,13 @@ describe('joining a room', function () { }).then(() => { // wait for the join request to be made return q.delay(1); + }).then(() => { + // and again, because the state update has to go to the store and + // then one dispatch within the store, then to the view + // XXX: This is *super flaky*: a better way would be to declare + // that we expect a certain state transition to happen, then wait + // for that transition to occur. + return q.delay(1); }).then(() => { // the roomview should now be loading expect(roomView.state.room).toBe(null); @@ -177,6 +184,8 @@ describe('joining a room', function () { }).then(() => { httpBackend.verifyNoOutstandingExpectation(); + return q.delay(1); + }).then(() => { // We've joined, expect this to false expect(roomView.state.joining).toBe(false);