Skip to content

Commit f3580d4

Browse files
committed
Add more integration tests
1 parent 4f8a3f8 commit f3580d4

File tree

2 files changed

+103
-1
lines changed

2 files changed

+103
-1
lines changed

tests/Integration/MessagesTest.php

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,108 @@ function folder(): Folder
8787
expect($message->flags())->toBe(['\\Seen']);
8888
});
8989

90+
test('flag', function () {
91+
$folder = folder();
92+
93+
$messages = $folder->messages();
94+
95+
$uid = $messages->append(
96+
new DraftMessage(
97+
98+
text: 'flag test'
99+
)
100+
);
101+
102+
// Initially, message should not be marked as seen.
103+
$message = $messages->withFlags()->find($uid);
104+
expect($message->isSeen())->toBeFalse();
105+
106+
// Mark message as seen.
107+
$message->markSeen();
108+
$message = $messages->withFlags()->find($uid);
109+
expect($message->isSeen())->toBeTrue();
110+
111+
// Unmark message as seen.
112+
$message->unmarkSeen();
113+
$message = $messages->withFlags()->find($uid);
114+
expect($message->isSeen())->toBeFalse();
115+
});
116+
117+
test('copy', function () {
118+
$folder = folder();
119+
120+
$messages = $folder->messages();
121+
122+
$uid = $messages->append(
123+
new DraftMessage(
124+
125+
text: 'copy test'
126+
)
127+
);
128+
129+
$message = $messages->withHeaders()->withBody()->find($uid);
130+
131+
$targetFolder = $folder->mailbox()->folders()->firstOrCreate(
132+
$targetFolderName = 'CopiedFolder'
133+
);
134+
135+
$message->copy($targetFolderName);
136+
137+
$targetMessages = $targetFolder->messages()->get();
138+
139+
expect($targetMessages->count())->toBe(1);
140+
141+
$movedMessage = $targetMessages->first();
142+
143+
expect($movedMessage->text())->toBe('copy test');
144+
});
145+
146+
test('move', function () {
147+
$folder = folder();
148+
149+
$messages = $folder->messages();
150+
151+
$uid = $messages->append(
152+
new DraftMessage(
153+
154+
text: 'move test'
155+
)
156+
);
157+
158+
$message = $messages->withHeaders()->withBody()->find($uid);
159+
160+
$targetFolder = $folder->mailbox()->folders()->firstOrCreate(
161+
$targetFolderName = 'MovedFolder'
162+
);
163+
164+
$message->move($targetFolderName);
165+
166+
$targetMessages = $targetFolder->messages()->get();
167+
168+
expect($targetMessages->count())->toBe(1);
169+
170+
$movedMessage = $targetMessages->first();
171+
172+
expect($movedMessage->text())->toBe('move test');
173+
});
174+
175+
test('delete', function () {
176+
$messages = folder()->messages();
177+
178+
$uid = $messages->append(
179+
new DraftMessage(
180+
181+
text: 'delete test'
182+
)
183+
);
184+
185+
$message = $messages->find($uid);
186+
187+
$message->delete();
188+
189+
expect($messages->withFlags()->find($uid)->isDeleted())->toBeTrue();
190+
});
191+
90192
test('retrieves messages using or statement', function () {
91193
$folder = folder();
92194

tests/Unit/ImapConnectionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@
434434
$connection = new ImapConnection($stream);
435435
$connection->connect('imap.example.com');
436436

437-
$response = $connection->store(['\\Seen'], 1, 3, '+FLAGS', true, null);
437+
$response = $connection->store(['\\Seen'], 1, 3, '+FLAGS');
438438

439439
$stream->assertWritten('TAG1 UID STORE 1:3 +FLAGS.SILENT (\\Seen)');
440440

0 commit comments

Comments
 (0)