8
0
Dieser Commit ist enthalten in:
Daniel Seifert 2025-01-02 23:52:24 +01:00
Ursprung 880608ed64
Commit 0110a3b7b9
Signiert von: DanielS
GPG-Schlüssel-ID: 6A513E13AEE66170
3 geänderte Dateien mit 15 neuen und 14 gelöschten Zeilen

Datei anzeigen

@ -313,7 +313,7 @@ class Subscriber extends ArrayCollection
} }
/** /**
* @return ?bool * @return null|bool
* @throws BaseException * @throws BaseException
*/ */
public function persist(): ?bool public function persist(): ?bool
@ -339,18 +339,18 @@ class Subscriber extends ArrayCollection
return; return;
} }
$currentTags = $this->endpoint->get( $this->getId() )->getTags(); $currentTags = $this->endpoint->get($this->getId())->getTags();
$removeTags = array_diff( $currentTags->toArray(), $this->getTags()->toArray() ); $removeTags = array_diff($currentTags->toArray(), $this->getTags()->toArray());
if ( count( $removeTags ) ) { if (count($removeTags)) {
foreach ( $removeTags as $removeTag ) { foreach ($removeTags as $removeTag) {
$this->endpoint->untag( $this->getEmailAddress(), $removeTag ); $this->endpoint->untag($this->getEmailAddress(), $removeTag);
} }
} }
$addTags = array_diff( $this->getTags()->toArray(), $currentTags->toArray() ); $addTags = array_diff($this->getTags()->toArray(), $currentTags->toArray());
if ( count( $addTags ) ) { if (count($addTags)) {
$this->endpoint->tag( $this->getEmailAddress(), array_diff( $this->getTags()->toArray(), $currentTags->toArray() ) ); $this->endpoint->tag($this->getEmailAddress(), $addTags);
} }
} }

Datei anzeigen

@ -59,10 +59,10 @@ class Tag extends ArrayCollection
} }
/** /**
* @return bool * @return null|bool
* @throws BaseException * @throws BaseException
*/ */
public function persist(): bool public function persist(): ?bool
{ {
return $this->endpoint?->update( return $this->endpoint?->update(
$this->getId(), $this->getId(),

Datei anzeigen

@ -626,8 +626,7 @@ class SubscriberTest extends TestCase
?array $newTagList, ?array $newTagList,
InvokedCount $removeTagInvocation, InvokedCount $removeTagInvocation,
InvokedCount $setTagInvocation InvokedCount $setTagInvocation
) ) {
{
$entityMock = $this->getMockBuilder(Subscriber::class) $entityMock = $this->getMockBuilder(Subscriber::class)
->disableOriginalConstructor() ->disableOriginalConstructor()
->onlyMethods(['getTags']) ->onlyMethods(['getTags'])
@ -646,7 +645,9 @@ class SubscriberTest extends TestCase
$endpointMock->expects($removeTagInvocation)->method('untag')->willReturn(true); $endpointMock->expects($removeTagInvocation)->method('untag')->willReturn(true);
$sut = new Subscriber(['id' => 'foo', 'email' => 'mymail@mydomain.tld'], $endpointSet ? $endpointMock : null); $sut = new Subscriber(['id' => 'foo', 'email' => 'mymail@mydomain.tld'], $endpointSet ? $endpointMock : null);
if ($newTagList) $sut->set('tags', $newTagList); if ($newTagList) {
$sut->set('tags', $newTagList);
}
$this->callMethod( $this->callMethod(
$sut, $sut,