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" ); }); });