feat: create ClickUp task after confirming accommodation booking

This commit is contained in:
Björn Fromme
2026-08-20 17:56:29 +02:00
parent 0a1683667f
commit 7c5f6dd5ef
18 changed files with 535 additions and 48 deletions
@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace App\Tests\Command;
use App\Command\MailjetNewsletterWebhookCommand;
use App\Service\MailjetApiClient;
use App\Mailjet\ApiClient;
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Command\Command;
@@ -15,7 +15,7 @@ class MailjetNewsletterWebhookCommandTest extends TestCase
{
public function testRegisterCreatesWebhookAndPrintsPayload(): void
{
$mailjet = $this->createMock(MailjetApiClient::class);
$mailjet = $this->createMock(ApiClient::class);
$mailjet->expects(self::once())
->method('createEventCallbackUrl')
->with(
@@ -43,7 +43,7 @@ class MailjetNewsletterWebhookCommandTest extends TestCase
public function testRemoveDeletesWebhookById(): void
{
$mailjet = $this->createMock(MailjetApiClient::class);
$mailjet = $this->createMock(ApiClient::class);
$mailjet->expects(self::never())->method('createEventCallbackUrl');
$mailjet->expects(self::once())
->method('deleteEventCallbackUrl')
@@ -58,7 +58,7 @@ class MailjetNewsletterWebhookCommandTest extends TestCase
public function testDeactivateUsesRemoveFlow(): void
{
$mailjet = $this->createMock(MailjetApiClient::class);
$mailjet = $this->createMock(ApiClient::class);
$mailjet->expects(self::never())->method('createEventCallbackUrl');
$mailjet->expects(self::once())
->method('deleteEventCallbackUrl')
@@ -73,7 +73,7 @@ class MailjetNewsletterWebhookCommandTest extends TestCase
public function testRemoveFailsWithoutCallbackId(): void
{
$mailjet = $this->createMock(MailjetApiClient::class);
$mailjet = $this->createMock(ApiClient::class);
$mailjet->expects(self::never())->method('createEventCallbackUrl');
$mailjet->expects(self::never())->method('deleteEventCallbackUrl');
@@ -84,7 +84,7 @@ class MailjetNewsletterWebhookCommandTest extends TestCase
self::assertStringContainsString('A numeric callback ID is required', $tester->getDisplay());
}
private function createCommand(MailjetApiClient $mailjetApiClient): MailjetNewsletterWebhookCommand
private function createCommand(ApiClient $mailjetApiClient): MailjetNewsletterWebhookCommand
{
return new MailjetNewsletterWebhookCommand(
$mailjetApiClient,