187 lines
11 KiB
Gherkin
187 lines
11 KiB
Gherkin
Feature: Address mode
|
|
Background:
|
|
Given there exists an account with username "[user:user]" and password "password"
|
|
And the account "[user:user]" has additional address "[alias:alias]@[domain]"
|
|
And the account "[user:user]" has the following custom mailboxes:
|
|
| name | type |
|
|
| one | folder |
|
|
| two | folder |
|
|
And the address "[user:user]@[domain]" of account "[user:user]" has the following messages in "Folders/one":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
And the address "[alias:alias]@[domain]" of account "[user:user]" has the following messages in "Folders/two":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
Then it succeeds
|
|
When bridge starts
|
|
And the user logs in with username "[user:user]" and password "password"
|
|
And user "[user:user]" finishes syncing
|
|
Then it succeeds
|
|
|
|
Scenario: The user is in combined mode
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
Then IMAP client "1" eventually sees the following messages in "Folders/one":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
And IMAP client "1" eventually sees the following messages in "Folders/two":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
And IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
Then IMAP client "2" eventually sees the following messages in "Folders/one":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
And IMAP client "2" eventually sees the following messages in "Folders/two":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
And IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
|
|
Scenario: The user is in split mode
|
|
Given the user sets the address mode of user "[user:user]" to "split"
|
|
And user "[user:user]" finishes syncing
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
Then IMAP client "1" eventually sees the following messages in "Folders/one":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
And IMAP client "1" eventually sees 0 messages in "Folders/two"
|
|
And IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
Then IMAP client "2" eventually sees 0 messages in "Folders/one"
|
|
And IMAP client "2" eventually sees the following messages in "Folders/two":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
And IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
|
|
Scenario: The user switches from combined to split mode and back
|
|
Given the user sets the address mode of user "[user:user]" to "split"
|
|
And user "[user:user]" finishes syncing
|
|
And the user sets the address mode of user "[user:user]" to "combined"
|
|
And user "[user:user]" finishes syncing
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
Then IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
Then IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
|
|
Scenario: The user adds an address while in combined mode
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
Then IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
Then IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
Given the account "[user:user]" has additional address "[user:other]@[domain]"
|
|
And bridge sends an address created event for user "[user:user]"
|
|
When user "[user:user]" connects and authenticates IMAP client "3" with address "[user:other]@[domain]"
|
|
Then IMAP client "3" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
|
|
Scenario: The user adds an address while in split mode
|
|
Given the user sets the address mode of user "[user:user]" to "split"
|
|
And user "[user:user]" finishes syncing
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
And IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
And IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
Given the account "[user:user]" has additional address "[user:other]@[domain]"
|
|
And bridge sends an address created event for user "[user:user]"
|
|
When user "[user:user]" connects and authenticates IMAP client "3" with address "[user:other]@[domain]"
|
|
Then IMAP client "3" eventually sees 0 messages in "All Mail"
|
|
|
|
# Cannot delete primary address on black
|
|
@skip-black
|
|
Scenario: The user deletes an address while in combined mode
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
Then IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
Then IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
Given the account "[user:user]" no longer has additional address "[alias:alias]@[domain]"
|
|
And bridge sends an address deleted event for user "[user:user]"
|
|
When user "[user:user]" connects IMAP client "3"
|
|
Then IMAP client "3" cannot authenticate with address "[alias:alias]@[domain]"
|
|
|
|
# Cannot delete primary address on black
|
|
@skip-black
|
|
Scenario: The user deletes an address while in split mode
|
|
Given the user sets the address mode of user "[user:user]" to "split"
|
|
And user "[user:user]" finishes syncing
|
|
When user "[user:user]" connects and authenticates IMAP client "1" with address "[user:user]@[domain]"
|
|
And IMAP client "1" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| a@[domain] | a@[domain] | one | true |
|
|
| b@[domain] | b@[domain] | two | false |
|
|
When user "[user:user]" connects and authenticates IMAP client "2" with address "[alias:alias]@[domain]"
|
|
And IMAP client "2" eventually sees the following messages in "All Mail":
|
|
| from | to | subject | unread |
|
|
| c@[domain] | c@[domain] | three | true |
|
|
| d@[domain] | d@[domain] | four | false |
|
|
Given the account "[user:user]" no longer has additional address "[alias:alias]@[domain]"
|
|
And bridge sends an address deleted event for user "[user:user]"
|
|
When user "[user:user]" connects IMAP client "3"
|
|
Then IMAP client "3" cannot authenticate with address "[alias:alias]@[domain]"
|
|
|
|
Scenario: The user makes an alias the primary address while in combined mode
|
|
|
|
Scenario: The user makes an alias the primary address while in split mode
|