mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
This commit sets the default for user_list_style to USER_LIST_STYLE_WITH_AVATAR so that the organization level defaults for new users of this setting is set to show avatar in right sidebar for new orgs.
59 lines
2.3 KiB
TypeScript
59 lines
2.3 KiB
TypeScript
import type {Page} from "puppeteer";
|
|
|
|
import * as common from "./lib/common.ts";
|
|
|
|
async function open_set_user_status_modal(page: Page): Promise<void> {
|
|
await page.click("#personal-menu");
|
|
await page.waitForSelector("#personal-menu-dropdown", {visible: true});
|
|
// We are using evaluate to click because it is very hard to detect if
|
|
// the personal menu popover has opened.
|
|
await page.evaluate(() => {
|
|
document.querySelector<HTMLAnchorElement>(".update_status_text")!.click();
|
|
});
|
|
|
|
// Wait for the modal to completely open.
|
|
await common.wait_for_micromodal_to_open(page);
|
|
}
|
|
|
|
async function test_user_status(page: Page): Promise<void> {
|
|
await open_set_user_status_modal(page);
|
|
// Check by clicking on common statues.
|
|
await page.click(".user-status-value:nth-child(2)");
|
|
await page.waitForFunction(
|
|
() => document.querySelector<HTMLInputElement>(".user-status")!.value === "In a meeting",
|
|
);
|
|
// It should select calendar emoji.
|
|
await page.waitForSelector(".selected-emoji.emoji-1f4c5");
|
|
|
|
// Clear everything.
|
|
await page.click("#clear_status_message_button");
|
|
await page.waitForFunction(
|
|
() => document.querySelector<HTMLInputElement>(".user-status")!.value === "",
|
|
);
|
|
await page.waitForSelector(".status-emoji-wrapper .smiley-icon", {visible: true});
|
|
|
|
// Manually adding everything.
|
|
await page.type(".user-status", "Busy");
|
|
const tada_emoji_selector = ".emoji-1f389";
|
|
await page.click(".status-emoji-wrapper .smiley-icon");
|
|
// Wait until emoji popover is opened.
|
|
await page.waitForSelector(`.emoji-popover ${tada_emoji_selector}`, {visible: true});
|
|
await page.click(`.emoji-popover ${tada_emoji_selector}`);
|
|
await page.waitForSelector(".emoji-picker-popover", {hidden: true});
|
|
await page.waitForSelector(`.selected-emoji${tada_emoji_selector}`);
|
|
|
|
await page.click("#set-user-status-modal .dialog_submit_button");
|
|
// It should close the modal after saving.
|
|
await page.waitForSelector("#set-user-status-modal", {hidden: true});
|
|
|
|
// Check if the emoji is added in user presence list.
|
|
await page.waitForSelector(`.user-presence-link .status-emoji${tada_emoji_selector}`);
|
|
}
|
|
|
|
async function user_status_test(page: Page): Promise<void> {
|
|
await common.log_in(page);
|
|
await test_user_status(page);
|
|
}
|
|
|
|
common.run_test(user_status_test);
|