Skip to content

Commit c5a4e95

Browse files
committed
Fix tests
1 parent 60a5d08 commit c5a4e95

File tree

11 files changed

+50
-39
lines changed

11 files changed

+50
-39
lines changed

src/Domain/Identity/Model/AdministratorToken.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,8 @@ public function generateKey(): self
114114
return $this;
115115
}
116116

117-
public function getAdministrator(): Administrator|Proxy
117+
public function getAdministrator(): Administrator
118118
{
119119
return $this->administrator;
120120
}
121-
122-
public function setAdministrator(Administrator $administrator): self
123-
{
124-
$this->administrator = $administrator;
125-
return $this;
126-
}
127121
}

src/Domain/Messaging/Model/Message.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class Message implements DomainModel, Identity, ModificationDate, OwnableInterfa
3333
private ?int $id = null;
3434

3535
#[ORM\Column(name: 'modified', type: 'datetime', nullable: false)]
36-
private DateTimeImmutable $updatedAt;
36+
private DateTime $updatedAt;
3737

3838
#[ORM\Embedded(class: MessageFormat::class, columnPrefix: false)]
3939
private MessageFormat $format;
@@ -82,7 +82,7 @@ public function __construct(
8282
$this->owner = $owner;
8383
$this->template = $template;
8484
$this->listMessages = new ArrayCollection();
85-
$this->updatedAt = new DateTimeImmutable();
85+
$this->updatedAt = new DateTime();
8686
$this->metadata->setEntered(new DateTime());
8787
}
8888

@@ -91,16 +91,15 @@ public function getId(): ?int
9191
return $this->id;
9292
}
9393

94-
/** @SuppressWarnings(PHPMD.StaticAccess) */
9594
public function getUpdatedAt(): DateTime
9695
{
97-
return DateTime::createFromImmutable($this->updatedAt);
96+
return $this->updatedAt;
9897
}
9998

10099
#[ORM\PreUpdate]
101100
public function touchUpdatedTimestamp(): void
102101
{
103-
$this->updatedAt = new DateTimeImmutable();
102+
$this->updatedAt = new DateTime;
104103
}
105104

106105
public function getFormat(): MessageFormat

src/Domain/Subscription/Model/Subscriber.php

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
#[ORM\Index(name: 'enteredindex', columns: ['entered'])]
2727
#[ORM\Index(name: 'confidx', columns: ['confirmed'])]
2828
#[ORM\Index(name: 'blidx', columns: ['blacklisted'])]
29+
#[ORM\Index(name: 'optidx', columns: ['optedin'])]
30+
#[ORM\Index(name: 'uuididx', columns: ['uuid'])]
31+
#[ORM\Index(name: 'foreignkey', columns: ['foreignkey'])]
32+
#[ORM\UniqueConstraint(name: 'email', columns: ['email'])]
2933
#[ORM\HasLifecycleCallbacks]
3034
class Subscriber implements DomainModel, Identity, CreationDate, ModificationDate
3135
{
@@ -37,8 +41,8 @@ class Subscriber implements DomainModel, Identity, CreationDate, ModificationDat
3741
#[ORM\Column(name: 'entered', type: 'datetime', nullable: true)]
3842
protected ?DateTime $createdAt = null;
3943

40-
#[ORM\Column(name: 'modified', type: 'datetime')]
41-
private ?DateTime $updatedAt = null;
44+
#[ORM\Column(name: 'modified', type: 'datetime', nullable: false)]
45+
private DateTime $updatedAt;
4246

4347
#[ORM\Column(unique: true)]
4448
private string $email = '';
@@ -52,7 +56,7 @@ class Subscriber implements DomainModel, Identity, CreationDate, ModificationDat
5256
#[ORM\Column(name: 'bouncecount', type: 'integer')]
5357
private int $bounceCount = 0;
5458

55-
#[ORM\Column(name: 'uniqid', unique: true)]
59+
#[ORM\Column(name: 'uniqid', type: 'string', length: 255, nullable: true)]
5660
private string $uniqueId = '';
5761

5862
#[ORM\Column(name: 'htmlemail', type: 'boolean')]
@@ -61,8 +65,8 @@ class Subscriber implements DomainModel, Identity, CreationDate, ModificationDat
6165
#[ORM\Column(type: 'boolean')]
6266
private bool $disabled = false;
6367

64-
#[ORM\Column(name: 'extradata', type: 'text')]
65-
private ?string $extraData;
68+
#[ORM\Column(name: 'extradata', type: 'text', nullable: true)]
69+
private ?string $extraData = null;
6670

6771
#[ORM\OneToMany(
6872
targetEntity: Subscription::class,
@@ -83,12 +87,34 @@ class Subscriber implements DomainModel, Identity, CreationDate, ModificationDat
8387
)]
8488
private Collection $attributes;
8589

90+
#[ORM\Column(name: 'optedin', type: 'boolean')]
91+
private bool $optedIn = false;
92+
93+
#[ORM\Column(name: 'uuid', type: 'string', length: 36)]
94+
private string $uuid = '';
95+
96+
#[ORM\Column(name: 'subscribepage', type: 'integer', nullable: true)]
97+
private ?int $subscribePage = null;
98+
99+
#[ORM\Column(name: 'rssfrequency', type: 'string', length: 100, nullable: true)]
100+
private ?string $rssFrequency = null;
101+
102+
#[ORM\Column(name: 'password', type: 'string', length: 255, nullable: true)]
103+
private ?string $password = null;
104+
105+
#[ORM\Column(name: 'passwordchanged', type: 'datetime', nullable: true)]
106+
private ?DateTime $passwordChanged = null;
107+
108+
#[ORM\Column(name: 'foreignkey', type: 'string', length: 100, nullable: true)]
109+
private ?string $foreignkey = null;
110+
86111
public function __construct()
87112
{
88113
$this->subscriptions = new ArrayCollection();
89114
$this->attributes = new ArrayCollection();
90115
$this->extraData = '';
91116
$this->createdAt = new DateTime();
117+
$this->updatedAt = new DateTime();
92118
}
93119

94120
public function getId(): ?int
@@ -101,12 +127,11 @@ public function getCreatedAt(): ?DateTime
101127
return $this->createdAt;
102128
}
103129

104-
public function getUpdatedAt(): ?DateTime
130+
public function getUpdatedAt(): DateTime
105131
{
106132
return $this->updatedAt;
107133
}
108134

109-
#[ORM\PrePersist]
110135
#[ORM\PreUpdate]
111136
public function updateUpdatedAt(): void
112137
{

src/Domain/Subscription/Model/SubscriberAttributeValue.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class SubscriberAttributeValue implements DomainModel
2525
#[ORM\JoinColumn(name: 'userid', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
2626
private Subscriber $subscriber;
2727

28-
#[ORM\Column(name: 'value', type: 'text', nullable: true, columnDefinition: 'TEXT')]
28+
#[ORM\Column(name: 'value', type: 'text', nullable: true)]
2929
private ?string $value = null;
3030

3131
public function __construct(SubscriberAttributeDefinition $attributeDefinition, Subscriber $subscriber)

src/Domain/Subscription/Model/SubscriberList.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class SubscriberList implements DomainModel, Identity, CreationDate, Modificatio
4343
private ?string $rssFeed = null;
4444

4545
#[ORM\Column]
46-
private ?string $description;
46+
private string $description = '';
4747

4848
#[ORM\Column(name: 'entered', type: 'datetime', nullable: true)]
4949
protected ?DateTime $createdAt = null;

tests/Integration/Domain/Identity/Fixtures/AdministratorTokenWithAdministratorFixture.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,11 @@ public function load(ObjectManager $manager): void
4545
$manager->persist($admin);
4646
}
4747

48-
$adminToken = new AdministratorToken();
48+
$adminToken = new AdministratorToken($admin);
4949
$this->setSubjectId($adminToken, (int)$row['id']);
5050
$adminToken->setKey($row['value']);
5151
$this->setSubjectProperty($adminToken, 'expiry', new DateTime($row['expires']));
5252
$this->setSubjectProperty($adminToken, 'createdAt', (bool) $row['entered']);
53-
$adminToken->setAdministrator($admin);
5453
$manager->persist($adminToken);
5554
} while (true);
5655

tests/Integration/Domain/Identity/Fixtures/DetachedAdministratorTokenFixture.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use DateTime;
88
use Doctrine\Bundle\FixturesBundle\Fixture;
99
use Doctrine\Persistence\ObjectManager;
10+
use PhpList\Core\Domain\Identity\Model\Administrator;
1011
use PhpList\Core\Domain\Identity\Model\AdministratorToken;
1112
use PhpList\Core\TestingSupport\Traits\ModelTestTrait;
1213
use RuntimeException;
@@ -28,6 +29,9 @@ public function load(ObjectManager $manager): void
2829
}
2930

3031
$headers = fgetcsv($handle);
32+
$admin = (new Administrator())->setLoginName('admin');
33+
$this->setSubjectId($admin, 1);
34+
$manager->persist($admin);
3135

3236
do {
3337
$data = fgetcsv($handle);
@@ -36,7 +40,7 @@ public function load(ObjectManager $manager): void
3640
}
3741
$row = array_combine($headers, $data);
3842

39-
$adminToken = new AdministratorToken();
43+
$adminToken = new AdministratorToken($admin);
4044
$this->setSubjectId($adminToken, (int)$row['id']);
4145
$adminToken->setKey($row['value']);
4246

tests/Integration/Domain/Identity/Repository/AdministratorTokenRepositoryTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,7 @@ public function testSavePersistsAndFlushesModel()
130130
/** @var Administrator $administrator */
131131
$administrator = $administratorRepository->find(1);
132132

133-
$model = new AdministratorToken();
134-
$model->setAdministrator($administrator);
133+
$model = new AdministratorToken($administrator);
135134
$this->repository->save($model);
136135

137136
self::assertSame($model, $this->repository->find($model->getId()));

tests/Unit/Domain/Identity/Model/AdministratorTokenTest.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,4 @@ public function testGetAdministratorInitiallyReturnsNull(): void
9494
{
9595
self::assertNotNull($this->subject->getAdministrator());
9696
}
97-
98-
public function testSetAdministratorSetsAdministrator(): void
99-
{
100-
$model = new Administrator();
101-
$this->subject->setAdministrator($model);
102-
103-
self::assertSame($model, $this->subject->getAdministrator());
104-
}
10597
}

tests/Unit/Domain/Subscription/Model/SubscriberTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ public function testUpdateCreationDateSetsCreationDateToNow(): void
5656
self::assertSimilarDates(new \DateTime(), $this->subscriber->getCreatedAt());
5757
}
5858

59-
public function testgetUpdatedAtInitiallyReturnsNull(): void
59+
public function testGetUpdatedAtInitiallyReturnsNotNull(): void
6060
{
61-
self::assertNull($this->subscriber->getUpdatedAt());
61+
self::assertNotNull($this->subscriber->getUpdatedAt());
6262
}
6363

6464
public function testUpdateModificationDateSetsModificationDateToNow(): void

0 commit comments

Comments
 (0)