From f7c2b90dc204baaa144dfb048c29d23e69e23f50 Mon Sep 17 00:00:00 2001 From: evykassirer Date: Tue, 30 Aug 2022 09:22:55 -0700 Subject: [PATCH] drafts: Test that sending a drafted message deletes the draft. --- frontend_tests/puppeteer_tests/drafts.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/frontend_tests/puppeteer_tests/drafts.ts b/frontend_tests/puppeteer_tests/drafts.ts index 6c7fb21d8e..ee2ba83462 100644 --- a/frontend_tests/puppeteer_tests/drafts.ts +++ b/frontend_tests/puppeteer_tests/drafts.ts @@ -236,6 +236,29 @@ async function test_save_draft_by_reloading(page: Page): Promise { ); } +async function test_delete_draft_on_sending(page: Page): Promise { + await page.click("#drafts_table .message_row.private-message .restore-draft"); + await wait_for_drafts_to_disappear(page); + await page.waitForSelector("#private-message", {visible: true}); + await common.ensure_enter_does_not_send(page); + console.log("Sending draft."); + await page.waitForSelector("#compose-send-button", {visible: true}); + await page.click("#compose-send-button"); + await common.assert_compose_box_content(page, ""); + await page.waitForSelector( + `xpath///*[${common.has_class_x("top_left_drafts")}]//*[${common.has_class_x( + "unread_count", + )} and text()="1"]`, + ); + + await page.waitForSelector(drafts_button, {visible: true}); + await page.click(drafts_button); + await wait_for_drafts_to_appear(page); + const drafts_count = await get_drafts_count(page); + assert.strictEqual(drafts_count, 1, "Draft wasn't cleared on sending."); + await page.waitForSelector("#drafts_table .message_row.private-message", {hidden: true}); +} + async function drafts_test(page: Page): Promise { await common.log_in(page); await page.click(".top_left_all_messages"); @@ -255,6 +278,7 @@ async function drafts_test(page: Page): Promise { await test_restore_private_message_draft_via_draft_overlay(page); await test_delete_draft(page); await test_save_draft_by_reloading(page); + await test_delete_draft_on_sending(page); } common.run_test(drafts_test);