discourse/test/javascripts/acceptance/groups-new-test.js.es6

81 lines
1.8 KiB
JavaScript

import { acceptance, logIn } from "helpers/qunit-helpers";
acceptance("New Group");
QUnit.test("As an anon user", assert => {
visit("/groups");
andThen(() => {
assert.equal(
find('.groups-header-new').length, 0,
'it should not display the button to create a group'
);
});
});
QUnit.test("Creating a new group", assert => {
logIn();
Discourse.reset();
visit("/groups");
click(".groups-header-new");
andThen(() => {
assert.equal(
find('.group-form-save[disabled]').length, 1,
'save button should be disabled'
);
});
fillIn("input[name='name']", '1');
andThen(() => {
assert.equal(
find('.tip.bad').text().trim(), I18n.t("admin.groups.new.name.too_short"),
'it should show the right validation tooltip'
);
assert.ok(
find(".group-form-save:disabled").length === 1,
'it should disable the save button'
);
});
fillIn("input[name='name']", 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
andThen(() => {
assert.equal(
find('.tip.bad').text().trim(), I18n.t("admin.groups.new.name.too_long"),
'it should show the right validation tooltip'
);
});
fillIn("input[name='name']", '');
andThen(() => {
assert.equal(
find('.tip.bad').text().trim(), I18n.t("admin.groups.new.name.blank"),
'it should show the right validation tooltip'
);
});
fillIn("input[name='name']", 'goodusername');
andThen(() => {
assert.equal(
find('.tip.good').text().trim(), I18n.t("admin.groups.new.name.available"),
'it should show the right validation tooltip'
);
});
click(".group-form-public-admission");
andThen(() => {
assert.equal(
find('groups-new-allow-membership-requests').length, 0,
'it should disable the membership requests checkbox'
);
});
});