Skip to content

Commit b639ffe

Browse files
committed
Flush in controller
1 parent 2c587aa commit b639ffe

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/Domain/Subscription/Service/Manager/SubscriptionManager.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace PhpList\Core\Domain\Subscription\Service\Manager;
66

7+
use Doctrine\ORM\EntityManagerInterface;
78
use PhpList\Core\Domain\Subscription\Exception\SubscriptionCreationException;
89
use PhpList\Core\Domain\Subscription\Model\Subscriber;
910
use PhpList\Core\Domain\Subscription\Model\SubscriberList;
@@ -19,17 +20,20 @@ class SubscriptionManager
1920
private SubscriberRepository $subscriberRepository;
2021
private SubscriberListRepository $subscriberListRepository;
2122
private TranslatorInterface $translator;
23+
private EntityManagerInterface $entityManager;
2224

2325
public function __construct(
2426
SubscriptionRepository $subscriptionRepository,
2527
SubscriberRepository $subscriberRepository,
2628
SubscriberListRepository $subscriberListRepository,
27-
TranslatorInterface $translator
29+
TranslatorInterface $translator,
30+
EntityManagerInterface $entityManager
2831
) {
2932
$this->subscriptionRepository = $subscriptionRepository;
3033
$this->subscriberRepository = $subscriberRepository;
3134
$this->subscriberListRepository = $subscriberListRepository;
3235
$this->translator = $translator;
36+
$this->entityManager = $entityManager;
3337
}
3438

3539
public function addSubscriberToAList(Subscriber $subscriber, int $listId): ?Subscription
@@ -49,7 +53,7 @@ public function addSubscriberToAList(Subscriber $subscriber, int $listId): ?Subs
4953
$subscription->setSubscriber($subscriber);
5054
$subscription->setSubscriberList($subscriberList);
5155

52-
$this->subscriptionRepository->save($subscription);
56+
$this->entityManager->persist($subscription);
5357

5458
return $subscription;
5559
}
@@ -83,7 +87,7 @@ private function createSubscription(SubscriberList $subscriberList, string $emai
8387
$subscription->setSubscriber($subscriber);
8488
$subscription->setSubscriberList($subscriberList);
8589

86-
$this->subscriptionRepository->save($subscription);
90+
$this->entityManager->persist($subscription);;
8791

8892
return $subscription;
8993
}
@@ -111,7 +115,7 @@ private function deleteSubscription(SubscriberList $subscriberList, string $emai
111115
throw new SubscriptionCreationException($message, 404);
112116
}
113117

114-
$this->subscriptionRepository->remove($subscription);
118+
$this->entityManager->remove($subscription);
115119
}
116120

117121
/** @return Subscriber[] */

tests/Unit/Domain/Subscription/Service/Manager/SubscriptionManagerTest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace PhpList\Core\Tests\Unit\Domain\Subscription\Service\Manager;
66

7+
use Doctrine\ORM\EntityManagerInterface;
78
use PhpList\Core\Domain\Subscription\Exception\SubscriptionCreationException;
89
use PhpList\Core\Domain\Subscription\Model\Subscriber;
910
use PhpList\Core\Domain\Subscription\Model\SubscriberList;
@@ -21,6 +22,7 @@ class SubscriptionManagerTest extends TestCase
2122
private SubscriptionRepository&MockObject $subscriptionRepository;
2223
private SubscriberRepository&MockObject $subscriberRepository;
2324
private TranslatorInterface&MockObject $translator;
25+
private EntityManagerInterface&MockObject $entityManager;
2426
private SubscriptionManager $manager;
2527

2628
protected function setUp(): void
@@ -29,11 +31,13 @@ protected function setUp(): void
2931
$this->subscriberRepository = $this->createMock(SubscriberRepository::class);
3032
$subscriberListRepository = $this->createMock(SubscriberListRepository::class);
3133
$this->translator = $this->createMock(TranslatorInterface::class);
34+
$this->entityManager = $this->createMock(EntityManagerInterface::class);
3235
$this->manager = new SubscriptionManager(
3336
subscriptionRepository: $this->subscriptionRepository,
3437
subscriberRepository: $this->subscriberRepository,
3538
subscriberListRepository: $subscriberListRepository,
3639
translator: $this->translator,
40+
entityManager: $this->entityManager,
3741
);
3842
}
3943

@@ -45,7 +49,7 @@ public function testCreateSubscriptionWhenSubscriberExists(): void
4549

4650
$this->subscriberRepository->method('findOneBy')->with(['email' => $email])->willReturn($subscriber);
4751
$this->subscriptionRepository->method('findOneBySubscriberListAndSubscriber')->willReturn(null);
48-
$this->subscriptionRepository->expects($this->once())->method('save');
52+
$this->entityManager->expects($this->once())->method('persist');
4953

5054
$subscriptions = $this->manager->createSubscriptions($list, [$email]);
5155

@@ -78,7 +82,7 @@ public function testDeleteSubscriptionSuccessfully(): void
7882
->with($subscriberList->getId(), $email)
7983
->willReturn($subscription);
8084

81-
$this->subscriptionRepository->expects($this->once())->method('remove')->with($subscription);
85+
$this->entityManager->expects($this->once())->method('remove')->with($subscription);
8286

8387
$this->manager->deleteSubscriptions($subscriberList, [$email]);
8488
}

0 commit comments

Comments
 (0)