67024b5bfd
Signed-off-by: Sebastian <krupinski01@gmail.com>
46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KTXT\Mail\Tests\Unit;
|
|
|
|
use KTXF\Event\DeliveryMode;
|
|
use KTXF\Event\EventListenerRegistrarInterface;
|
|
use KTXM\Mail\CompositionSavedEvent;
|
|
use KTXM\Mail\CompositionSyncListener;
|
|
use KTXM\Mail\Module;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
final class CompositionSavedEventTest extends TestCase {
|
|
|
|
public function testCarriesOnlySynchronizationCoordinates(): void {
|
|
$event = new CompositionSavedEvent('tenant-1', 'user-1', 'draft-1', 7);
|
|
|
|
$this->assertSame(CompositionSavedEvent::class, $event->label());
|
|
$this->assertSame('tenant-1', $event->tenantIdentifier());
|
|
$this->assertSame('user-1', $event->userIdentifier());
|
|
$this->assertSame('draft-1', $event->compositionIdentifier());
|
|
$this->assertSame(7, $event->revision());
|
|
$this->assertSame([
|
|
'userId' => 'user-1',
|
|
'compositionId' => 'draft-1',
|
|
'revision' => 7,
|
|
], $event->context());
|
|
}
|
|
|
|
public function testModuleRegistersDeferredCompositionSyncListener(): void {
|
|
$events = $this->createMock(EventListenerRegistrarInterface::class);
|
|
$events->expects($this->once())
|
|
->method('listen')
|
|
->with(
|
|
'mail',
|
|
CompositionSavedEvent::class,
|
|
CompositionSyncListener::class,
|
|
'onCompositionSaved',
|
|
DeliveryMode::Deferred,
|
|
);
|
|
|
|
(new Module($events))->boot();
|
|
}
|
|
}
|