mirror of https://github.com/vector-im/riot-web
Correctly restore MatrixClientPeg after each test case
parent
b64604964d
commit
a2168efcda
|
@ -3,16 +3,21 @@ var TestUtils = require('react-addons-test-utils');
|
||||||
var expect = require('expect');
|
var expect = require('expect');
|
||||||
|
|
||||||
var sdk = require('matrix-react-sdk');
|
var sdk = require('matrix-react-sdk');
|
||||||
|
var MatrixChat = sdk.getComponent('structures.MatrixChat');
|
||||||
|
var peg = require('../../../src/MatrixClientPeg');
|
||||||
|
|
||||||
var test_utils = require('../../test-utils');
|
var test_utils = require('../../test-utils');
|
||||||
var peg = require('../../../src/MatrixClientPeg.js');
|
|
||||||
var q = require('q');
|
var q = require('q');
|
||||||
|
|
||||||
describe('MatrixChat', function () {
|
describe('MatrixChat', function () {
|
||||||
var MatrixChat;
|
var sandbox;
|
||||||
before(function() {
|
|
||||||
test_utils.stubClient();
|
beforeEach(function() {
|
||||||
MatrixChat = sdk.getComponent('structures.MatrixChat');
|
sandbox = test_utils.stubClient();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(function() {
|
||||||
|
sandbox.restore();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('gives a login panel by default', function () {
|
it('gives a login panel by default', function () {
|
||||||
|
|
|
@ -27,12 +27,19 @@ var test_utils = require('test-utils');
|
||||||
var mockclock = require('mock-clock');
|
var mockclock = require('mock-clock');
|
||||||
|
|
||||||
describe('MessagePanel', function () {
|
describe('MessagePanel', function () {
|
||||||
|
var sandbox;
|
||||||
var clock = mockclock.clock();
|
var clock = mockclock.clock();
|
||||||
var realSetTimeout = window.setTimeout;
|
var realSetTimeout = window.setTimeout;
|
||||||
var events = mkEvents();
|
var events = mkEvents();
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
test_utils.beforeEach(this);
|
||||||
|
sandbox = test_utils.stubClient(sandbox);
|
||||||
|
});
|
||||||
|
|
||||||
afterEach(function () {
|
afterEach(function () {
|
||||||
clock.uninstall();
|
clock.uninstall();
|
||||||
|
sandbox.restore();
|
||||||
});
|
});
|
||||||
|
|
||||||
function mkEvents() {
|
function mkEvents() {
|
||||||
|
|
|
@ -21,12 +21,23 @@ module.exports.beforeEach = function(context) {
|
||||||
/**
|
/**
|
||||||
* Stub out the MatrixClient, and configure the MatrixClientPeg object to
|
* Stub out the MatrixClient, and configure the MatrixClientPeg object to
|
||||||
* return it when get() is called.
|
* return it when get() is called.
|
||||||
|
*
|
||||||
|
* @returns {sinon.Sandbox}; remember to call sandbox.restore afterwards.
|
||||||
*/
|
*/
|
||||||
module.exports.stubClient = function() {
|
module.exports.stubClient = function() {
|
||||||
var pegstub = sinon.stub(peg);
|
var sandbox = sinon.sandbox.create();
|
||||||
|
|
||||||
|
// 'sandbox.restore()' doesn't work correctly on inherited methods,
|
||||||
|
// so we do this for each method
|
||||||
|
var methods = ['get', 'unset', 'replaceUsingUrls',
|
||||||
|
'replaceUsingAccessToken'];
|
||||||
|
for (var i = 0; i < methods.length; i++) {
|
||||||
|
sandbox.stub(peg, methods[i]);
|
||||||
|
}
|
||||||
|
|
||||||
var matrixClientStub = sinon.createStubInstance(jssdk.MatrixClient);
|
var matrixClientStub = sinon.createStubInstance(jssdk.MatrixClient);
|
||||||
pegstub.get.returns(matrixClientStub);
|
peg.get.returns(matrixClientStub);
|
||||||
|
return sandbox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue