Skip to content

Commit 80b4583

Browse files
committed
rest of flushes
1 parent 62a080d commit 80b4583

File tree

9 files changed

+24
-28
lines changed

9 files changed

+24
-28
lines changed

config/services/managers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ services:
8080
autowire: true
8181
autoconfigure: true
8282

83-
PhpList\Core\Domain\Messaging\Service\Manager\BounceManager:
83+
PhpList\Core\Bounce\Service\Manager\BounceManager:
8484
autowire: true
8585
autoconfigure: true
8686

src/Bounce/Service/Handler/DecreaseCountConfirmUserAndDeleteBounceHandler.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,22 @@
77
use PhpList\Core\Bounce\Service\Manager\BounceManager;
88
use PhpList\Core\Domain\Subscription\Repository\SubscriberRepository;
99
use PhpList\Core\Domain\Subscription\Service\Manager\SubscriberHistoryManager;
10-
use PhpList\Core\Domain\Subscription\Service\Manager\SubscriberManager;
1110
use Symfony\Contracts\Translation\TranslatorInterface;
1211

1312
class DecreaseCountConfirmUserAndDeleteBounceHandler implements BounceActionHandlerInterface
1413
{
1514
private SubscriberHistoryManager $subscriberHistoryManager;
16-
private SubscriberManager $subscriberManager;
1715
private BounceManager $bounceManager;
1816
private SubscriberRepository $subscriberRepository;
1917
private TranslatorInterface $translator;
2018

2119
public function __construct(
2220
SubscriberHistoryManager $subscriberHistoryManager,
23-
SubscriberManager $subscriberManager,
2421
BounceManager $bounceManager,
2522
SubscriberRepository $subscriberRepository,
2623
TranslatorInterface $translator,
2724
) {
2825
$this->subscriberHistoryManager = $subscriberHistoryManager;
29-
$this->subscriberManager = $subscriberManager;
3026
$this->bounceManager = $bounceManager;
3127
$this->subscriberRepository = $subscriberRepository;
3228
$this->translator = $translator;
@@ -40,7 +36,7 @@ public function supports(string $action): bool
4036
public function handle(array $closureData): void
4137
{
4238
if (!empty($closureData['subscriber'])) {
43-
$this->subscriberManager->decrementBounceCount($closureData['subscriber']);
39+
$this->subscriberRepository->decrementBounceCount($closureData['subscriber']);
4440
if (!$closureData['confirmed']) {
4541
$this->subscriberRepository->markConfirmed($closureData['userId']);
4642
$this->subscriberHistoryManager->addHistory(

src/Bounce/Service/Processor/BounceDataProcessor.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@ class BounceDataProcessor
2626
private EntityManagerInterface $entityManager;
2727

2828
public function __construct(
29-
BounceManager $bounceManager,
30-
SubscriberRepository $subscriberRepository,
31-
MessageRepository $messageRepository,
32-
LoggerInterface $logger,
33-
SubscriberManager $subscriberManager,
34-
SubscriberHistoryManager $subscriberHistoryManager, EntityManagerInterface $entityManager,
29+
BounceManager $bounceManager,
30+
SubscriberRepository $subscriberRepository,
31+
MessageRepository $messageRepository,
32+
LoggerInterface $logger,
33+
SubscriberManager $subscriberManager,
34+
SubscriberHistoryManager $subscriberHistoryManager,
35+
EntityManagerInterface $entityManager,
3536
) {
3637
$this->bounceManager = $bounceManager;
3738
$this->subscriberRepository = $subscriberRepository;

src/Bounce/Service/SubscriberBlacklistService.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public function blacklist(Subscriber $subscriber, string $reason): void
5454
name: $item,
5555
data: $request->server->get($item)
5656
);
57+
$this->entityManager->flush();
5758
}
5859
}
5960

src/Domain/Subscription/Repository/SubscriberRepository.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,15 @@ public function distinctUsersWithBouncesConfirmedNotBlacklisted(): array
188188
->getQuery()
189189
->getScalarResult();
190190
}
191+
192+
public function decrementBounceCount(Subscriber $subscriber): void
193+
{
194+
$this->createQueryBuilder('s')
195+
->update()
196+
->set('s.bounceCount', 's.bounceCount - 1')
197+
->where('s.id = :subscriberId')
198+
->setParameter('subscriberId', $subscriber->getId())
199+
->getQuery()
200+
->execute();
201+
}
191202
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ public function addBlacklistData(string $email, string $name, string $data): voi
6363
$blacklistData->setName($name);
6464
$blacklistData->setData($data);
6565
$this->entityManager->persist($blacklistData);
66-
$this->entityManager->flush();
6766
}
6867

6968
public function removeEmailFromBlacklist(string $email): void

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ public function markAsConfirmedByUniqueId(string $uniqueId): Subscriber
9696
}
9797

9898
$subscriber->setConfirmed(true);
99-
$this->entityManager->flush();
10099

101100
return $subscriber;
102101
}
@@ -137,10 +136,4 @@ public function updateFromImport(Subscriber $existingSubscriber, ImportSubscribe
137136

138137
return ChangeSetDto::fromDoctrineChangeSet($uow->getEntityChangeSet($existingSubscriber));
139138
}
140-
141-
public function decrementBounceCount(Subscriber $subscriber): void
142-
{
143-
$subscriber->addToBounceCount(-1);
144-
$this->entityManager->flush();
145-
}
146139
}

tests/Unit/Bounce/Service/Handler/DecreaseCountConfirmUserAndDeleteBounceHandlerTest.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ protected function setUp(): void
3131
$this->subscriberRepository = $this->createMock(SubscriberRepository::class);
3232
$this->handler = new DecreaseCountConfirmUserAndDeleteBounceHandler(
3333
subscriberHistoryManager: $this->historyManager,
34-
subscriberManager: $this->subscriberManager,
3534
bounceManager: $this->bounceManager,
3635
subscriberRepository: $this->subscriberRepository,
3736
translator: new Translator('en'),
@@ -50,7 +49,7 @@ public function testHandleDecrementsMarksConfirmedAddsHistoryAndDeletesWhenNotCo
5049
$subscriber = $this->createMock(Subscriber::class);
5150
$bounce = $this->createMock(Bounce::class);
5251

53-
$this->subscriberManager->expects($this->once())->method('decrementBounceCount')->with($subscriber);
52+
$this->subscriberRepository->expects($this->once())->method('decrementBounceCount')->with($subscriber);
5453
$this->subscriberRepository->expects($this->once())->method('markConfirmed')->with(11);
5554
$this->historyManager->expects($this->once())->method('addHistory')->with(
5655
$subscriber,
@@ -73,7 +72,7 @@ public function testHandleOnlyDecrementsAndDeletesWhenAlreadyConfirmed(): void
7372
$subscriber = $this->createMock(Subscriber::class);
7473
$bounce = $this->createMock(Bounce::class);
7574

76-
$this->subscriberManager->expects($this->once())->method('decrementBounceCount')->with($subscriber);
75+
$this->subscriberRepository->expects($this->once())->method('decrementBounceCount')->with($subscriber);
7776
$this->subscriberRepository->expects($this->never())->method('markConfirmed');
7877
$this->historyManager->expects($this->never())->method('addHistory');
7978
$this->bounceManager->expects($this->once())->method('delete')->with($bounce);
@@ -91,7 +90,7 @@ public function testHandleDeletesBounceEvenWithoutSubscriber(): void
9190
{
9291
$bounce = $this->createMock(Bounce::class);
9392

94-
$this->subscriberManager->expects($this->never())->method('decrementBounceCount');
93+
$this->subscriberRepository->expects($this->never())->method('decrementBounceCount');
9594
$this->subscriberRepository->expects($this->never())->method('markConfirmed');
9695
$this->historyManager->expects($this->never())->method('addHistory');
9796
$this->bounceManager->expects($this->once())->method('delete')->with($bounce);

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,6 @@ public function testMarkAsConfirmedByUniqueIdConfirmsSubscriber(): void
133133
->method('setConfirmed')
134134
->with(true);
135135

136-
$this->entityManager
137-
->expects($this->once())
138-
->method('flush');
139-
140136
$result = $this->subscriberManager->markAsConfirmedByUniqueId($uniqueId);
141137

142138
$this->assertSame($subscriber, $result);

0 commit comments

Comments
 (0)