discourse/test/javascripts/acceptance/admin-suspend-user-test.js.es6
Joffrey JAFFEUX 315b9d796d
select-kit refactoring
* better test helper
* more reliable tests
* more consistent use of data-value/data-name/title/aria-label everywhere: header and rows
2017-12-22 13:08:12 +01:00

70 lines
1.7 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 => {
const suspendUntilCombobox = selectKit('.suspend-until .combobox');
visit("/admin/flags/active");
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');
});
suspendUntilCombobox.expand().selectRowByValue('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'));
});
});