forked from MirrorHub/synapse
Start adding regression tests. First up, register-controller for SYWEB-109.
This commit is contained in:
parent
a92092340b
commit
dd8af5565b
2 changed files with 85 additions and 1 deletions
|
@ -124,7 +124,7 @@ angular.module('RegisterController', ['matrixService'])
|
|||
$location.url("home");
|
||||
},
|
||||
function(error) {
|
||||
console.trace("Registration error: "+error);
|
||||
console.error("Registration error: "+JSON.stringify(error));
|
||||
if (useCaptcha) {
|
||||
Recaptcha.reload();
|
||||
}
|
||||
|
|
84
syweb/webclient/test/unit/register-controller.spec.js
Normal file
84
syweb/webclient/test/unit/register-controller.spec.js
Normal file
|
@ -0,0 +1,84 @@
|
|||
describe("RegisterController ", function() {
|
||||
var rootScope, scope, ctrl, $q, $timeout;
|
||||
var userId = "@foo:bar";
|
||||
var displayName = "Foo";
|
||||
var avatarUrl = "avatar.url";
|
||||
|
||||
window.webClientConfig = {
|
||||
useCapatcha: false
|
||||
};
|
||||
|
||||
// test vars
|
||||
var testRegisterData, testFailRegisterData;
|
||||
|
||||
|
||||
// mock services
|
||||
var matrixService = {
|
||||
config: function() {
|
||||
return {
|
||||
user_id: userId
|
||||
}
|
||||
},
|
||||
setConfig: function(){},
|
||||
register: function(mxid, password, threepidCreds, useCaptcha) {
|
||||
var d = $q.defer();
|
||||
if (testFailRegisterData) {
|
||||
d.reject({
|
||||
data: testFailRegisterData
|
||||
});
|
||||
}
|
||||
else {
|
||||
d.resolve({
|
||||
data: testRegisterData
|
||||
});
|
||||
}
|
||||
return d.promise;
|
||||
}
|
||||
};
|
||||
|
||||
var eventStreamService = {};
|
||||
|
||||
beforeEach(function() {
|
||||
module('matrixWebClient');
|
||||
|
||||
// reset test vars
|
||||
testRegisterData = undefined;
|
||||
testFailRegisterData = undefined;
|
||||
});
|
||||
|
||||
beforeEach(inject(function($rootScope, $injector, $location, $controller, _$q_, _$timeout_) {
|
||||
$q = _$q_;
|
||||
$timeout = _$timeout_;
|
||||
scope = $rootScope.$new();
|
||||
rootScope = $rootScope;
|
||||
routeParams = {
|
||||
user_matrix_id: userId
|
||||
};
|
||||
ctrl = $controller('RegisterController', {
|
||||
'$scope': scope,
|
||||
'$rootScope': $rootScope,
|
||||
'$location': $location,
|
||||
'matrixService': matrixService,
|
||||
'eventStreamService': eventStreamService
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
// SYWEB-109
|
||||
it('should display an error if the HS rejects the username on registration', function() {
|
||||
var prevFeedback = angular.copy(scope.feedback);
|
||||
|
||||
testFailRegisterData = {
|
||||
errcode: "M_UNKNOWN",
|
||||
error: "I am rejecting you."
|
||||
};
|
||||
|
||||
scope.account.pwd1 = "password";
|
||||
scope.account.pwd2 = "password";
|
||||
scope.account.desired_user_id = "bob";
|
||||
scope.register();
|
||||
rootScope.$digest();
|
||||
|
||||
expect(scope.feedback).toNotEqual(prevFeedback);
|
||||
});
|
||||
});
|
Loading…
Reference in a new issue