Skip to content

Commit a7820a0

Browse files
committed
Add test to ensure MessageReceived event was dispatched
1 parent 225f36f commit a7820a0

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

tests/Commands/WatchMailboxTest.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
namespace DirectoryTree\ImapEngine\Laravel\Tests;
44

55
use DirectoryTree\ImapEngine\Laravel\Commands\WatchMailbox;
6+
use DirectoryTree\ImapEngine\Laravel\Events\MessageReceived;
67
use DirectoryTree\ImapEngine\Laravel\Facades\Imap;
78
use DirectoryTree\ImapEngine\Laravel\Support\LoopFake;
89
use DirectoryTree\ImapEngine\Laravel\Support\LoopInterface;
910
use DirectoryTree\ImapEngine\Testing\FakeFolder;
11+
use DirectoryTree\ImapEngine\Testing\FakeMessage;
1012
use Illuminate\Support\Facades\App;
1113
use Illuminate\Support\Facades\Config;
14+
use Illuminate\Support\Facades\Event;
1215
use InvalidArgumentException;
1316

1417
use function Pest\Laravel\artisan;
@@ -30,10 +33,18 @@
3033
]);
3134

3235
Imap::fake('test', folders: [
33-
new FakeFolder('inbox'),
36+
new FakeFolder('inbox', messages: [
37+
$message = new FakeMessage(uid: 1),
38+
]),
3439
]);
3540

3641
App::bind(LoopInterface::class, LoopFake::class);
3742

43+
Event::fake();
44+
3845
artisan(WatchMailbox::class, ['mailbox' => 'test'])->assertSuccessful();
46+
47+
Event::assertDispatched(
48+
fn (MessageReceived $event) => $event->message->is($message)
49+
);
3950
});

0 commit comments

Comments
 (0)