2016-11-08 14:29:50 -05:00
|
|
|
import { mapRoutes } from 'discourse/mapping-router';
|
|
|
|
|
2014-07-30 17:53:14 -04:00
|
|
|
moduleFor("controller:create-account", "controller:create-account", {
|
2016-11-08 14:29:50 -05:00
|
|
|
setup() {
|
|
|
|
this.registry.register('router:main', mapRoutes());
|
|
|
|
},
|
2014-08-14 12:51:16 -04:00
|
|
|
needs: ['controller:modal', 'controller:login']
|
2014-07-30 17:53:14 -04:00
|
|
|
});
|
2013-11-19 14:15:05 -05:00
|
|
|
|
|
|
|
test('basicUsernameValidation', function() {
|
2014-07-30 17:53:14 -04:00
|
|
|
var subject = this.subject;
|
|
|
|
|
2013-11-19 14:15:05 -05:00
|
|
|
var testInvalidUsername = function(username, expectedReason) {
|
2017-01-31 15:42:12 -05:00
|
|
|
var controller = subject({ siteSettings: Discourse.SiteSettings });
|
2013-11-19 14:15:05 -05:00
|
|
|
controller.set('accountUsername', username);
|
|
|
|
equal(controller.get('basicUsernameValidation.failed'), true, 'username should be invalid: ' + username);
|
|
|
|
equal(controller.get('basicUsernameValidation.reason'), expectedReason, 'username validation reason: ' + username + ', ' + expectedReason);
|
|
|
|
};
|
|
|
|
|
|
|
|
testInvalidUsername('', undefined);
|
|
|
|
testInvalidUsername('x', I18n.t('user.username.too_short'));
|
2014-06-09 15:27:37 -04:00
|
|
|
testInvalidUsername('123456789012345678901', I18n.t('user.username.too_long'));
|
2013-11-19 14:15:05 -05:00
|
|
|
|
2017-01-31 15:42:12 -05:00
|
|
|
var controller = subject({ siteSettings: Discourse.SiteSettings });
|
2013-11-19 14:15:05 -05:00
|
|
|
controller.set('accountUsername', 'porkchops');
|
|
|
|
controller.set('prefilledUsername', 'porkchops');
|
|
|
|
equal(controller.get('basicUsernameValidation.ok'), true, 'Prefilled username is valid');
|
|
|
|
equal(controller.get('basicUsernameValidation.reason'), I18n.t('user.username.prefilled'), 'Prefilled username is valid');
|
|
|
|
});
|
2015-02-25 11:59:57 -05:00
|
|
|
|
|
|
|
test('passwordValidation', function() {
|
|
|
|
var subject = this.subject;
|
|
|
|
|
2017-01-31 15:42:12 -05:00
|
|
|
var controller = subject({ siteSettings: Discourse.SiteSettings });
|
2015-02-25 11:59:57 -05:00
|
|
|
controller.set('passwordRequired', true);
|
2016-03-04 04:52:23 -05:00
|
|
|
controller.set('accountEmail', 'pork@chops.com');
|
|
|
|
controller.set('accountUsername', 'porkchops');
|
2015-02-25 11:59:57 -05:00
|
|
|
controller.set('prefilledUsername', 'porkchops');
|
|
|
|
|
2016-03-04 04:52:23 -05:00
|
|
|
controller.set('accountPassword', 'b4fcdae11f9167');
|
2015-02-25 11:59:57 -05:00
|
|
|
equal(controller.get('passwordValidation.ok'), true, 'Password is ok');
|
|
|
|
equal(controller.get('passwordValidation.reason'), I18n.t('user.password.ok'), 'Password is valid');
|
|
|
|
|
|
|
|
var testInvalidPassword = function(password, expectedReason) {
|
2017-01-31 15:42:12 -05:00
|
|
|
var c = subject({ siteSettings: Discourse.SiteSettings });
|
2015-08-13 15:14:08 -04:00
|
|
|
c.set('accountPassword', password);
|
|
|
|
equal(c.get('passwordValidation.failed'), true, 'password should be invalid: ' + password);
|
|
|
|
equal(c.get('passwordValidation.reason'), expectedReason, 'password validation reason: ' + password + ', ' + expectedReason);
|
2015-02-25 11:59:57 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
testInvalidPassword('', undefined);
|
|
|
|
testInvalidPassword('x', I18n.t('user.password.too_short'));
|
|
|
|
testInvalidPassword('porkchops', I18n.t('user.password.same_as_username'));
|
2015-02-27 13:47:43 -05:00
|
|
|
testInvalidPassword('pork@chops.com', I18n.t('user.password.same_as_email'));
|
2015-02-25 11:59:57 -05:00
|
|
|
});
|