feat: add logic to sync drafts to server
Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user