From e1723fc24b17961fb0abaf080ca65f3ca431c6f3 Mon Sep 17 00:00:00 2001 From: Gordana Zafirova Date: Thu, 23 Nov 2023 07:52:05 +0000 Subject: [PATCH] test: Add test scenarios to add an /Answered flag to a replied message and revert --- tests/features/imap/message/store.feature | 19 +++++++++++++++++++ tests/imap_test.go | 12 ++++++++++++ 2 files changed, 31 insertions(+) diff --git a/tests/features/imap/message/store.feature b/tests/features/imap/message/store.feature index bcc159b3..24444d90 100644 --- a/tests/features/imap/message/store.feature +++ b/tests/features/imap/message/store.feature @@ -30,3 +30,22 @@ Feature: IMAP marks messages as forwarded And it succeeds Then IMAP client "1" eventually sees that message at row 1 does not have the flag "forwarded" And it succeeds + + Scenario: Mark message as replied + When IMAP client "1" selects "Folders/mbox" + And IMAP client "1" marks message 1 as "replied" + And it succeeds + Then IMAP client "1" eventually sees that message at row 1 has the flag "\Answered" + And it succeeds + + @regression + Scenario: Mark message as replied and then revert + When IMAP client "1" selects "Folders/mbox" + And IMAP client "1" marks message 1 as "replied" + And it succeeds + Then IMAP client "1" eventually sees that message at row 1 has the flag "\Answered" + And it succeeds + And IMAP client "1" marks message 1 as "unreplied" + And it succeeds + Then IMAP client "1" eventually sees that message at row 1 does not have the flag "\Answered" + And it succeeds \ No newline at end of file diff --git a/tests/imap_test.go b/tests/imap_test.go index 63f9fa55..c77d9d68 100644 --- a/tests/imap_test.go +++ b/tests/imap_test.go @@ -938,6 +938,18 @@ func clientChangeMessageState(client *client.Client, seq int, messageState strin if err != nil { return err } + + case messageState == "replied": + _, err := clientStore(client, seq, seq, isUID, imap.FormatFlagsOp(imap.AddFlags, true), imap.AnsweredFlag) + if err != nil { + return err + } + + case messageState == "unreplied": + _, err := clientStore(client, seq, seq, isUID, imap.FormatFlagsOp(imap.RemoveFlags, true), imap.AnsweredFlag) + if err != nil { + return err + } } return nil