Tweak tests to match updates to matrixchat

Mostly this is just making it look at the `view` state rather than the
individual boolean flags.

One other tweak merits explanation: we now implement the initial
couldn't-register-as-guest login with an explicit switch to the LOGIN view,
which means that the URL gets updated to #/login.
This commit is contained in:
Richard van der Hoff 2017-06-13 14:45:05 +01:00
parent 584e4c04da
commit 1fcd462660

View File

@ -29,6 +29,7 @@ import jssdk from 'matrix-js-sdk';
import sdk from 'matrix-react-sdk'; import sdk from 'matrix-react-sdk';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg'; import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import * as languageHandler from 'matrix-react-sdk/lib/languageHandler'; import * as languageHandler from 'matrix-react-sdk/lib/languageHandler';
import {VIEWS} from 'matrix-react-sdk/lib/components/structures/MatrixChat';
import * as test_utils from '../test-utils'; import * as test_utils from '../test-utils';
import MockHttpBackend from '../mock-request'; import MockHttpBackend from '../mock-request';
@ -153,8 +154,8 @@ describe('loading:', function () {
.check((r) => {syncRequest = r;}) .check((r) => {syncRequest = r;})
.respond(200, response); .respond(200, response);
console.log("waiting for /sync");
for (let attempts = 10; attempts > 0; attempts--) { for (let attempts = 10; attempts > 0; attempts--) {
console.log(Date.now() + " waiting for /sync");
if (syncRequest) { if (syncRequest) {
return syncRequest; return syncRequest;
} }
@ -184,7 +185,7 @@ describe('loading:', function () {
// we expect a single <Login> component following session load // we expect a single <Login> component following session load
ReactTestUtils.findRenderedComponentWithType( ReactTestUtils.findRenderedComponentWithType(
matrixChat, sdk.getComponent('structures.login.Login')); matrixChat, sdk.getComponent('structures.login.Login'));
expect(windowLocation.hash).toEqual(""); expect(windowLocation.hash).toEqual("#/login");
}).done(done, done); }).done(done, done);
}); });
@ -360,6 +361,9 @@ describe('loading:', function () {
loadApp({ loadApp({
uriFragment: "#/login", uriFragment: "#/login",
}); });
// give the UI a chance to display
return q.delay(50);
}); });
it('shows a login view', function() { it('shows a login view', function() {
@ -589,7 +593,8 @@ function awaitSyncingSpinner(matrixChat, retryLimit, retryCount) {
retryCount = 0; retryCount = 0;
} }
if (matrixChat.state.loading || matrixChat.state.loggingIn) { if (matrixChat.state.view === VIEWS.LOADING ||
matrixChat.state.view === VIEWS.LOGGING_IN) {
console.log(Date.now() + " Awaiting sync spinner: still loading."); console.log(Date.now() + " Awaiting sync spinner: still loading.");
if (retryCount >= retryLimit) { if (retryCount >= retryLimit) {
throw new Error("MatrixChat still not loaded after " + throw new Error("MatrixChat still not loaded after " +
@ -628,8 +633,7 @@ function awaitRoomView(matrixChat, retryLimit, retryCount) {
retryCount = 0; retryCount = 0;
} }
if (matrixChat.state.loading || if (matrixChat.state.view !== VIEWS.LOGGED_IN || !matrixChat.state.ready) {
!(matrixChat.state.loggedIn && matrixChat.state.ready)) {
console.log(Date.now() + " Awaiting room view: not ready yet."); console.log(Date.now() + " Awaiting room view: not ready yet.");
if (retryCount >= retryLimit) { if (retryCount >= retryLimit) {
throw new Error("MatrixChat still not ready after " + throw new Error("MatrixChat still not ready after " +