Skip to content

Commit c70fbfc

Browse files
committed
fix test
1 parent a8e925c commit c70fbfc

File tree

5 files changed

+24
-268
lines changed

5 files changed

+24
-268
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
},
4343
"require": {
4444
"php": "^8.1",
45-
"phplist/core": "dev-em-flush",
45+
"phplist/core": "dev-dev",
4646
"friendsofsymfony/rest-bundle": "*",
4747
"symfony/test-pack": "^1.0",
4848
"symfony/process": "^6.4",

src/Subscription/Controller/SubscriberController.php

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@
88
use OpenApi\Attributes as OA;
99
use PhpList\Core\Domain\Identity\Model\PrivilegeFlag;
1010
use PhpList\Core\Domain\Subscription\Model\Subscriber;
11+
use PhpList\Core\Domain\Subscription\Service\Manager\SubscriberManager;
1112
use PhpList\Core\Security\Authentication;
1213
use PhpList\RestBundle\Common\Controller\BaseController;
1314
use PhpList\RestBundle\Common\Validator\RequestValidator;
1415
use PhpList\RestBundle\Subscription\Request\CreateSubscriberRequest;
1516
use PhpList\RestBundle\Subscription\Request\UpdateSubscriberRequest;
16-
use PhpList\RestBundle\Subscription\Service\SubscriberService;
17+
use PhpList\RestBundle\Subscription\Serializer\SubscriberNormalizer;
18+
use PhpList\RestBundle\Subscription\Service\SubscriberHistoryService;
1719
use Symfony\Bridge\Doctrine\Attribute\MapEntity;
1820
use Symfony\Component\HttpFoundation\JsonResponse;
1921
use Symfony\Component\HttpFoundation\Request;
2022
use Symfony\Component\HttpFoundation\Response;
23+
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
2124
use Symfony\Component\Routing\Attribute\Route;
2225

2326
/**
@@ -29,17 +32,16 @@
2932
#[Route('/subscribers', name: 'subscriber_')]
3033
class SubscriberController extends BaseController
3134
{
32-
private SubscriberService $subscriberService;
33-
3435
public function __construct(
3536
Authentication $authentication,
3637
RequestValidator $validator,
37-
SubscriberService $subscriberService,
38+
private readonly SubscriberManager $subscriberManager,
39+
private readonly SubscriberNormalizer $subscriberNormalizer,
40+
private readonly SubscriberHistoryService $subscriberHistoryService,
3841
private readonly EntityManagerInterface $entityManager,
3942
) {
4043
parent::__construct($authentication, $validator);
4144
$this->authentication = $authentication;
42-
$this->subscriberService = $subscriberService;
4345
}
4446

4547
#[Route('', name: 'create', methods: ['POST'])]
@@ -95,8 +97,9 @@ public function createSubscriber(Request $request): JsonResponse
9597

9698
/** @var CreateSubscriberRequest $subscriberRequest */
9799
$subscriberRequest = $this->validator->validate($request, CreateSubscriberRequest::class);
98-
$subscriberData = $this->subscriberService->createSubscriber($subscriberRequest);
100+
$subscriber = $this->subscriberManager->createSubscriber($subscriberRequest->getDto());
99101
$this->entityManager->flush();
102+
$subscriberData = $this->subscriberNormalizer->normalize($subscriber, 'json');
100103

101104
return $this->json($subscriberData, Response::HTTP_CREATED);
102105
}
@@ -166,8 +169,9 @@ public function updateSubscriber(
166169
}
167170
/** @var UpdateSubscriberRequest $updateSubscriberRequest */
168171
$updateSubscriberRequest = $this->validator->validate($request, UpdateSubscriberRequest::class);
169-
$subscriberData = $this->subscriberService->updateSubscriber($updateSubscriberRequest, $admin);
172+
$subscriber = $this->subscriberManager->updateSubscriber($updateSubscriberRequest->getDto(), $admin);
170173
$this->entityManager->flush();
174+
$subscriberData = $this->subscriberNormalizer->normalize($subscriber, 'json');
171175

172176
return $this->json($subscriberData, Response::HTTP_OK);
173177
}
@@ -217,7 +221,8 @@ public function getSubscriber(Request $request, int $subscriberId): JsonResponse
217221
{
218222
$this->requireAuthentication($request);
219223

220-
$subscriberData = $this->subscriberService->getSubscriber($subscriberId);
224+
$subscriber = $this->subscriberManager->getSubscriberById($subscriberId);
225+
$subscriberData = $this->subscriberNormalizer->normalize($subscriber);
221226

222227
return $this->json($subscriberData, Response::HTTP_OK);
223228
}
@@ -313,7 +318,7 @@ public function getSubscriberHistory(
313318
): JsonResponse {
314319
$this->requireAuthentication($request);
315320

316-
$historyData = $this->subscriberService->getSubscriberHistory($request, $subscriber);
321+
$historyData = $this->subscriberHistoryService->getSubscriberHistory($request, $subscriber);
317322

318323
return $this->json(
319324
data: $historyData,
@@ -374,7 +379,7 @@ public function deleteSubscriber(
374379
if (!$subscriber) {
375380
throw $this->createNotFoundException('Subscriber not found.');
376381
}
377-
$this->subscriberService->deleteSubscriber($subscriber);
382+
$this->subscriberManager->deleteSubscriber($subscriber);
378383
$this->entityManager->flush();
379384

380385
return $this->json(null, Response::HTTP_NO_CONTENT);
@@ -443,8 +448,9 @@ public function resetBounceCount(
443448
throw $this->createNotFoundException('Subscriber not found.');
444449
}
445450

446-
$subscriberData = $this->subscriberService->resetSubscriberBounceCount($subscriber);
451+
$subscriber = $this->subscriberManager->resetBounceCount($subscriber);
447452
$this->entityManager->flush();
453+
$subscriberData = $this->subscriberNormalizer->normalize($subscriber, 'json');
448454

449455
return $this->json($subscriberData, Response::HTTP_OK);
450456
}
@@ -490,10 +496,10 @@ public function setSubscriberAsConfirmed(Request $request): Response
490496
return new Response('<h1>Missing confirmation code.</h1>', 400);
491497
}
492498

493-
$subscriber = $this->subscriberService->confirmSubscriber($uniqueId);
494-
$this->entityManager->flush();
495-
496-
if (!$subscriber) {
499+
try {
500+
$this->subscriberManager->markAsConfirmedByUniqueId($uniqueId);
501+
$this->entityManager->flush();
502+
} catch (NotFoundHttpException) {
497503
return new Response('<h1>Subscriber isn\'t found or already confirmed.</h1>', 404);
498504
}
499505

src/Subscription/Service/SubscriberService.php

Lines changed: 0 additions & 76 deletions
This file was deleted.

tests/Integration/Subscription/Controller/SubscriberControllerTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ public function testPostSubscribersWithValidSessionKeyAndMinimalValidDataReturns
7272
self::assertMatchesRegularExpression('/^[0-9a-f]{32}$/', $responseContent['unique_id']);
7373
}
7474

75+
76+
7577
public function testPostSubscribersWithValidSessionKeyAndValidDataCreatesSubscriber()
7678
{
7779
$email = '[email protected]';

tests/Unit/Subscription/Service/SubscriberServiceTest.php

Lines changed: 0 additions & 176 deletions
This file was deleted.

0 commit comments

Comments
 (0)