Files
proton-bridge/tests/features/imap/mailbox/create.feature
2022-12-13 10:28:59 +01:00

190 lines
5.7 KiB
Gherkin

Feature: IMAP create mailbox
Background:
Given there exists an account with username "user" and password "password"
And the account "user" has the following custom mailboxes:
| name | type |
| f1 | folder |
| f2 | folder |
| l1 | label |
| l2 | label |
And bridge starts
And the user logs in with username "user" and password "password"
And user "user" finishes syncing
And user "user" connects and authenticates IMAP client "1"
Scenario: Create folder
When IMAP client "1" creates "Folders/mbox"
Then IMAP client "1" sees "Folders/mbox"
Scenario: Create label
When IMAP client "1" creates "Labels/mbox"
Then IMAP client "1" sees "Labels/mbox"
Scenario: Creating folder or label with existing name is not possible
When IMAP client "1" creates "Folders/f1"
Then it fails
And bridge reports a message with "Failed to create mailbox"
When IMAP client "1" creates "Folders/f2"
Then it fails
And bridge reports a message with "Failed to create mailbox"
When IMAP client "1" creates "Labels/l1"
Then it fails
And bridge reports a message with "Failed to create mailbox"
When IMAP client "1" creates "Labels/l2"
Then it fails
And bridge reports a message with "Failed to create mailbox"
When IMAP client "1" creates "Folders/f3"
Then it succeeds
When IMAP client "1" creates "Labels/l3"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
| name |
| INBOX |
| Drafts |
| Sent |
| Starred |
| Archive |
| Spam |
| Trash |
| All Mail |
| Folders |
| Folders/f1 |
| Folders/f2 |
| Folders/f3 |
| Labels |
| Labels/l1 |
| Labels/l2 |
| Labels/l3 |
Scenario: Creating subfolders is possible and they persist after resync
When IMAP client "1" creates "Folders/f1/f11"
Then it succeeds
When IMAP client "1" creates "Folders/f1/f12"
Then it succeeds
When IMAP client "1" creates "Folders/f2/f21"
Then it succeeds
When IMAP client "1" creates "Folders/f2/f22"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
| name |
| INBOX |
| Drafts |
| Sent |
| Starred |
| Archive |
| Spam |
| Trash |
| All Mail |
| Folders |
| Folders/f1 |
| Folders/f1/f11 |
| Folders/f1/f12 |
| Folders/f2 |
| Folders/f2/f21 |
| Folders/f2/f22 |
| Labels |
| Labels/l1 |
| Labels/l2 |
When user "user" is deleted
And the user logs in with username "user" and password "password"
And user "user" finishes syncing
And user "user" connects and authenticates IMAP client "2"
Then IMAP client "2" sees the following mailbox info:
| name |
| INBOX |
| Drafts |
| Sent |
| Starred |
| Archive |
| Spam |
| Trash |
| All Mail |
| Folders |
| Folders/f1 |
| Folders/f1/f11 |
| Folders/f1/f12 |
| Folders/f2 |
| Folders/f2/f21 |
| Folders/f2/f22 |
| Labels |
| Labels/l1 |
| Labels/l2 |
Scenario: Changing folder parent is possible and it persists after resync
When IMAP client "1" creates "Folders/f1/f11"
Then it succeeds
When IMAP client "1" creates "Folders/f1/f12"
Then it succeeds
When IMAP client "1" creates "Folders/f2/f21"
Then it succeeds
When IMAP client "1" creates "Folders/f2/f22"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
| name |
| INBOX |
| Drafts |
| Sent |
| Starred |
| Archive |
| Spam |
| Trash |
| All Mail |
| Folders |
| Folders/f1 |
| Folders/f1/f11 |
| Folders/f1/f12 |
| Folders/f2 |
| Folders/f2/f21 |
| Folders/f2/f22 |
| Labels |
| Labels/l1 |
| Labels/l2 |
When IMAP client "1" renames "Folders/f1/f11" to "Folders/f2/f11"
Then it succeeds
When IMAP client "1" renames "Folders/f1/f12" to "Folders/f2/f12"
Then it succeeds
Then IMAP client "1" sees the following mailbox info:
| name |
| INBOX |
| Drafts |
| Sent |
| Starred |
| Archive |
| Spam |
| Trash |
| All Mail |
| Folders |
| Folders/f1 |
| Folders/f2 |
| Folders/f2/f11 |
| Folders/f2/f12 |
| Folders/f2/f21 |
| Folders/f2/f22 |
| Labels |
| Labels/l1 |
| Labels/l2 |
When user "user" is deleted
And the user logs in with username "user" and password "password"
And user "user" finishes syncing
And user "user" connects and authenticates IMAP client "2"
Then IMAP client "2" sees the following mailbox info:
| name |
| INBOX |
| Drafts |
| Sent |
| Starred |
| Archive |
| Spam |
| Trash |
| All Mail |
| Folders |
| Folders/f1 |
| Folders/f2 |
| Folders/f2/f11 |
| Folders/f2/f12 |
| Folders/f2/f21 |
| Folders/f2/f22 |
| Labels |
| Labels/l1 |
| Labels/l2 |