discourse/test/javascripts/acceptance/admin-suspend-user-test.js.es6
2017-09-25 12:28:00 -04:00

67 lines
1.6 KiB
JavaScript

import { acceptance } from "helpers/qunit-helpers";
acceptance("Admin - Suspend User", {
loggedIn: true,
pretend(server, helper) {
server.put('/admin/users/:user_id/suspend', () => helper.response(200, {
suspension: {
suspended: true
}
}));
server.put('/admin/users/:user_id/unsuspend', () => helper.response(200, {
suspension: {
suspended: false
}
}));
}
});
QUnit.test("suspend a user - cancel", assert => {
visit("/admin/users/1234/regular");
click(".suspend-user");
andThen(() => {
assert.equal(find('.suspend-user-modal:visible').length, 1);
});
click('.d-modal-cancel');
andThen(() => {
assert.equal(find('.suspend-user-modal:visible').length, 0);
});
});
QUnit.test("suspend, then unsuspend a user", assert => {
visit("/admin/users/1234/regular");
andThen(() => {
assert.ok(!exists('.suspension-info'));
});
click(".suspend-user");
andThen(() => {
assert.equal(find('.perform-suspend[disabled]').length, 1, 'disabled by default');
find('.suspend-until .combobox').select2('val', 'tomorrow');
find('.suspend-until .combobox').trigger('change', 'tomorrow');
});
fillIn('.suspend-reason', "for breaking the rules");
fillIn('.suspend-message', "this is an email reason why");
andThen(() => {
assert.equal(find('.perform-suspend[disabled]').length, 0, 'no longer disabled');
});
click('.perform-suspend');
andThen(() => {
assert.equal(find('.suspend-user-modal:visible').length, 0);
assert.ok(exists('.suspension-info'));
});
click('.unsuspend-user');
andThen(() => {
assert.ok(!exists('.suspension-info'));
});
});