FEATURE: set notification levels when added to a group (#10378)

* FEATURE: set notification levels when added to a group

This feature allows admins and group owners to define default
category and tag tracking levels that will be applied to user
preferences automatically at the time when users are added to the
group. Users are free to change those preferences afterwards.
When removed from a group, the user's notification preferences aren't
changed.
This commit is contained in:
Neil Lalonde
2020-08-06 12:27:27 -04:00
committed by GitHub
parent cd4f251891
commit 1ca81fbb95
27 changed files with 937 additions and 8 deletions

View File

@@ -0,0 +1,33 @@
import { acceptance, updateCurrentUser } from "helpers/qunit-helpers";
acceptance("Managing Group Category Notification Defaults");
QUnit.test("As an anonymous user", async assert => {
await visit("/g/discourse/manage/categories");
assert.ok(
count(".group-members tr") > 0,
"it should redirect to members page for an anonymous user"
);
});
acceptance("Managing Group Category Notification Defaults", { loggedIn: true });
QUnit.test("As an admin", async assert => {
await visit("/g/discourse/manage/categories");
assert.ok(
find(".groups-notifications-form .category-selector").length === 4,
"it should display category inputs"
);
});
QUnit.test("As a group owner", async assert => {
updateCurrentUser({ moderator: false, admin: false });
await visit("/g/discourse/manage/categories");
assert.ok(
find(".groups-notifications-form .category-selector").length === 4,
"it should display category inputs"
);
});

View File

@@ -0,0 +1,33 @@
import { acceptance, updateCurrentUser } from "helpers/qunit-helpers";
acceptance("Managing Group Tag Notification Defaults");
QUnit.test("As an anonymous user", async assert => {
await visit("/g/discourse/manage/tags");
assert.ok(
count(".group-members tr") > 0,
"it should redirect to members page for an anonymous user"
);
});
acceptance("Managing Group Tag Notification Defaults", { loggedIn: true });
QUnit.test("As an admin", async assert => {
await visit("/g/discourse/manage/tags");
assert.ok(
find(".groups-notifications-form .tag-chooser").length === 4,
"it should display tag inputs"
);
});
QUnit.test("As a group owner", async assert => {
updateCurrentUser({ moderator: false, admin: false });
await visit("/g/discourse/manage/tags");
assert.ok(
find(".groups-notifications-form .tag-chooser").length === 4,
"it should display tag inputs"
);
});