UX: Use topic list for displaying group messages on group page.
https://meta.discourse.org/t/group-inbox-on-a-groups-page-mockup/71319
This commit is contained in:
@@ -1,6 +1,29 @@
|
||||
import { acceptance, logIn } from "helpers/qunit-helpers";
|
||||
|
||||
acceptance("Groups");
|
||||
const response = object => {
|
||||
return [
|
||||
200,
|
||||
{ "Content-Type": "application/json" },
|
||||
object
|
||||
];
|
||||
};
|
||||
|
||||
acceptance("Groups", {
|
||||
beforeEach() {
|
||||
server.get('/groups/snorlax.json', () => { // eslint-disable-line no-undef
|
||||
return response({"basic_group":{"id":41,"automatic":false,"name":"snorlax","user_count":1,"alias_level":0,"visible":true,"automatic_membership_email_domains":"","automatic_membership_retroactive":false,"primary_group":true,"title":"Team Snorlax","grant_trust_level":null,"incoming_email":null,"has_messages":false,"flair_url":"","flair_bg_color":"","flair_color":"","bio_raw":"","bio_cooked":null,"public":true,"is_group_user":true,"is_group_owner":true}});
|
||||
});
|
||||
|
||||
// Workaround while awaiting https://github.com/tildeio/route-recognizer/issues/53
|
||||
server.get('/groups/snorlax/logs.json', request => { // eslint-disable-line no-undef
|
||||
if (request.queryParams["filters[action]"]) {
|
||||
return response({"logs":[{"action":"change_group_setting","subject":"title","prev_value":null,"new_value":"Team Snorlax","created_at":"2016-12-12T08:27:46.408Z","acting_user":{"id":1,"username":"tgx","avatar_template":"/images/avatar.png"},"target_user":null}],"all_loaded":true});
|
||||
} else {
|
||||
return response({"logs":[{"action":"change_group_setting","subject":"title","prev_value":null,"new_value":"Team Snorlax","created_at":"2016-12-12T08:27:46.408Z","acting_user":{"id":1,"username":"tgx","avatar_template":"/images/avatar.png"},"target_user":null},{"action":"add_user_to_group","subject":null,"prev_value":null,"new_value":null,"created_at":"2016-12-12T08:27:27.725Z","acting_user":{"id":1,"username":"tgx","avatar_template":"/images/avatar.png"},"target_user":{"id":1,"username":"tgx","avatar_template":"/images/avatar.png"}}],"all_loaded":true});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
QUnit.test("Browsing Groups", assert => {
|
||||
visit("/groups");
|
||||
@@ -49,6 +72,12 @@ QUnit.test("Anonymous Viewing Group", assert => {
|
||||
assert.ok(count('.avatar-flair .fa-adjust') === 1, "it displays the group's avatar flair");
|
||||
assert.ok(count('.group-members tr') > 0, "it lists group members");
|
||||
assert.ok(count('.group-message-button') === 0, 'it does not show group message button');
|
||||
|
||||
assert.equal(
|
||||
count(".nav-pills li a[title='Messages']"),
|
||||
0,
|
||||
'it deos not show group messages navigation link'
|
||||
);
|
||||
});
|
||||
|
||||
click(".nav-pills li a[title='Activity']");
|
||||
@@ -71,11 +100,6 @@ QUnit.test("Anonymous Viewing Group", assert => {
|
||||
});
|
||||
|
||||
andThen(() => {
|
||||
assert.equal(
|
||||
find(".group-activity li a[href='/groups/discourse/activity/messages']").length,
|
||||
0,
|
||||
'it should not show messages tab if user is not a group user or admin'
|
||||
);
|
||||
assert.ok(find(".nav-pills li a[title='Edit Group']").length === 0, 'it should not show messages tab if user is not admin');
|
||||
assert.ok(find(".nav-pills li a[title='Logs']").length === 0, 'it should not show Logs tab if user is not admin');
|
||||
assert.ok(count('.group-post') > 0, "it lists stream items");
|
||||
@@ -124,6 +148,48 @@ QUnit.test("User Viewing Group", assert => {
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("Admin viewing group messages when there are no messages", assert => {
|
||||
server.get('/topics/private-messages-group/eviltrout/discourse.json', () => { // eslint-disable-line no-undef
|
||||
return response({ topic_list: { topics: [] } });
|
||||
});
|
||||
|
||||
logIn();
|
||||
Discourse.reset();
|
||||
|
||||
visit("/groups/discourse");
|
||||
|
||||
click(".nav-pills li a[title='Messages']");
|
||||
|
||||
andThen(() => {
|
||||
assert.equal(
|
||||
find(".alert").text().trim(),
|
||||
I18n.t('choose_topic.none_found'),
|
||||
'it should display the right alert'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("Admin viewing group messages", assert => {
|
||||
server.get('/topics/private-messages-group/eviltrout/discourse.json', () => { // eslint-disable-line no-undef
|
||||
return response({"users":[{"id":2, "username":"bruce1", "avatar_template":"/letter_avatar_proxy/v2/letter/b/9de053/{size}.png"}, {"id":3, "username":"CodingHorror", "avatar_template":"/letter_avatar_proxy/v2/letter/c/e8c25b/{size}.png"}], "primary_groups":[], "topic_list":{"can_create_topic":true, "draft":null, "draft_key":"new_topic", "draft_sequence":0, "per_page":30, "topics":[{"id":12199, "title":"This is a private message 1", "fancy_title":"This is a private message 1", "slug":"this-is-a-private-message-1", "posts_count":0, "reply_count":0, "highest_post_number":0, "image_url":null, "created_at":"2018-03-16T03:38:45.583Z", "last_posted_at":null, "bumped":true, "bumped_at":"2018-03-16T03:38:45.583Z", "unseen":false, "pinned":false, "unpinned":null, "visible":true, "closed":false, "archived":false, "bookmarked":null, "liked":null, "views":0, "like_count":0, "has_summary":false, "archetype":"private_message", "last_poster_username":"bruce1", "category_id":null, "pinned_globally":false, "featured_link":null, "posters":[{"extras":"latest single", "description":"Original Poster, Most Recent Poster", "user_id":2, "primary_group_id":null}], "participants":[{"extras":"latest", "description":null, "user_id":2, "primary_group_id":null}, {"extras":null, "description":null, "user_id":3, "primary_group_id":null}]}]}});
|
||||
});
|
||||
|
||||
logIn();
|
||||
Discourse.reset();
|
||||
|
||||
visit("/groups/discourse");
|
||||
|
||||
click(".nav-pills li a[title='Messages']");
|
||||
|
||||
andThen(() => {
|
||||
assert.equal(
|
||||
find(".topic-list-item .link-top-line").text().trim(),
|
||||
"This is a private message 1",
|
||||
'it should display the list of group topics'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
QUnit.test("Admin Viewing Group", assert => {
|
||||
logIn();
|
||||
Discourse.reset();
|
||||
@@ -136,14 +202,4 @@ QUnit.test("Admin Viewing Group", assert => {
|
||||
assert.equal(count('.group-message-button'), 1, 'it displays show group message button');
|
||||
assert.equal(find('.group-info-name').text(), 'Awesome Team', 'it should display the group name');
|
||||
});
|
||||
|
||||
click(".nav-pills li a[title='Activity']");
|
||||
|
||||
andThen(() => {
|
||||
assert.equal(
|
||||
find(".group-activity li a[href='/groups/discourse/activity/messages']").length,
|
||||
1,
|
||||
'it should show messages tab if user is admin'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user