discourse/test/javascripts/acceptance/group-manage-interaction-test.js.es6
Robin Ward a8793d0d9a REFACTOR: Test Memory Usage Fixes (#7769)
* 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`
2019-06-14 14:54:20 +02:00

78 lines
1.7 KiB
JavaScript

import { acceptance, updateCurrentUser } from "helpers/qunit-helpers";
acceptance("Managing Group Interaction Settings", {
loggedIn: true,
settings: {
email_in: true
}
});
QUnit.test("As an admin", async assert => {
await visit("/g/discourse/manage/interaction");
assert.equal(
find(".groups-form-visibility-level").length,
1,
"it should display visibility level selector"
);
assert.equal(
find(".groups-form-mentionable-level").length,
1,
"it should display mentionable level selector"
);
assert.equal(
find(".groups-form-messageable-level").length,
1,
"it should display messageable level selector"
);
assert.equal(
find(".groups-form-incoming-email").length,
1,
"it should display incoming email input"
);
assert.equal(
find(".groups-form-default-notification-level").length,
1,
"it should display default notification level input"
);
});
QUnit.test("As a group owner", async assert => {
updateCurrentUser({ admin: false, staff: false });
await visit("/g/discourse/manage/interaction");
assert.equal(
find(".groups-form-visibility-level").length,
0,
"it should display visibility level selector"
);
assert.equal(
find(".groups-form-mentionable-level").length,
1,
"it should display mentionable level selector"
);
assert.equal(
find(".groups-form-messageable-level").length,
1,
"it should display messageable level selector"
);
assert.equal(
find(".groups-form-incoming-email").length,
0,
"it should not display incoming email input"
);
assert.equal(
find(".groups-form-default-notification-level").length,
1,
"it should display default notification level input"
);
});