mirror of
https://github.com/discourse/discourse.git
synced 2024-12-15 09:43:46 +08:00
a8793d0d9a
* Calling `Discourse.reset()` creates a new container We should run our de-initializers only after acceptance tests, since initializers are not run outside of acceptance tests anyway, and the container at this point can be passed properly to the `teardown()` method. * Remove `Discourse.reset` from tests This would cause a new container to be created which leaks many objects. * `updateCurrentUser` is more accurate than `replaceCurrentUser`
58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
import selectKit from "helpers/select-kit-helper";
|
|
import { acceptance, updateCurrentUser } from "helpers/qunit-helpers";
|
|
|
|
acceptance("Composer and uncategorized is not allowed", {
|
|
loggedIn: true,
|
|
pretend(server, helper) {
|
|
server.get("/draft.json", () => {
|
|
return helper.response({
|
|
draft: null,
|
|
draft_sequence: 42
|
|
});
|
|
});
|
|
},
|
|
settings: {
|
|
enable_whispers: true,
|
|
allow_uncategorized_topics: false
|
|
}
|
|
});
|
|
|
|
QUnit.test("Disable body until category is selected", async assert => {
|
|
updateCurrentUser({ admin: false, staff: false, trust_level: 1 });
|
|
|
|
await visit("/");
|
|
await click("#create-topic");
|
|
assert.ok(exists(".d-editor-input"), "the composer input is visible");
|
|
assert.ok(
|
|
exists(".title-input .popup-tip.bad.hide"),
|
|
"title errors are hidden by default"
|
|
);
|
|
assert.ok(
|
|
exists(".d-editor-textarea-wrapper .popup-tip.bad.hide"),
|
|
"body errors are hidden by default"
|
|
);
|
|
assert.ok(
|
|
exists(".d-editor-textarea-wrapper.disabled"),
|
|
"textarea is disabled"
|
|
);
|
|
|
|
const categoryChooser = selectKit(".category-chooser");
|
|
|
|
await categoryChooser.expand();
|
|
await categoryChooser.selectRowByValue(2);
|
|
|
|
assert.ok(
|
|
find(".d-editor-textarea-wrapper.disabled").length === 0,
|
|
"textarea is enabled"
|
|
);
|
|
|
|
await fillIn(".d-editor-input", "Now I can type stuff");
|
|
await categoryChooser.expand();
|
|
await categoryChooser.selectRowByValue("__none__");
|
|
|
|
assert.ok(
|
|
find(".d-editor-textarea-wrapper.disabled").length === 0,
|
|
"textarea is still enabled"
|
|
);
|
|
});
|