Skip to content

Commit 38c3ad8

Browse files
committed
ISSUE-337: test fix
1 parent df46140 commit 38c3ad8

File tree

9 files changed

+26
-39
lines changed

9 files changed

+26
-39
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
/vendor/
1515
/docs/phpdocumentor
1616
.vagrant
17-
.phpdoc/
17+
.phpdoc/
18+
.phpunit.result.cache

src/Domain/Model/Subscription/Subscriber.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,7 @@ class Subscriber implements DomainModel, Identity, CreationDate, ModificationDat
9090

9191
#[ORM\ManyToMany(
9292
targetEntity: "PhpList\Core\Domain\Model\Messaging\SubscriberList",
93-
inversedBy: "subscribers"
94-
)]
95-
#[ORM\JoinTable(
96-
name: "phplist_listuser",
97-
joinColumns: [new ORM\JoinColumn(name: "userid")],
98-
inverseJoinColumns: [new ORM\JoinColumn(name: "listid")]
93+
mappedBy: "subscribers"
9994
)]
10095
private Collection $subscribedLists;
10196

src/TestingSupport/Traits/DatabaseTestTrait.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@ protected function loadFixtures(array $fixtures): void
8585
}
8686

8787
$fixtureInstance->load($this->entityManager);
88+
$this->entityManager->flush();
8889
}
89-
90-
$this->entityManager->flush();
9190
}
9291

9392
protected function loadSchema(): void

src/TestingSupport/Traits/ModelTestTrait.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ trait ModelTestTrait
1717
/**
1818
* Sets the (private) ID of $this->repository.
1919
*
20+
* @param DomainModel $model
2021
* @param int $id
2122
*
2223
* @return void
@@ -32,9 +33,7 @@ private function setSubjectId(DomainModel $model,int $id): void
3233
* @param string $propertyName
3334
* @param mixed $value
3435
*
35-
* @return void
36-
* @internal
37-
*
36+
* @return void*
3837
*/
3938
private function setSubjectProperty(DomainModel $model, string $propertyName, mixed $value): void
4039
{

tests/Integration/Domain/Repository/Fixtures/AdministratorFixture.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,5 @@ public function load(ObjectManager $manager): void
4444
}
4545

4646
fclose($handle);
47-
$manager->flush();
4847
}
4948
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,5 @@ public function load(ObjectManager $manager): void
4848
}
4949

5050
fclose($handle);
51-
$manager->flush();
5251
}
5352
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,5 @@ public function load(ObjectManager $manager): void
4141
}
4242

4343
fclose($handle);
44-
$manager->flush();
4544
}
4645
}

tests/Integration/Domain/Repository/Fixtures/SubscriberListFixture.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ public function load(ObjectManager $manager): void
4949

5050
$manager->persist($admin);
5151
$manager->persist($subscriberList);
52-
$manager->flush();
5352
}
5453

5554
fclose($handle);

tests/Integration/Domain/Repository/Fixtures/SubscriptionFixture.php

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@
66

77
use DateTime;
88
use Doctrine\Bundle\FixturesBundle\Fixture;
9-
use Doctrine\DBAL\Connection;
109
use Doctrine\Persistence\ObjectManager;
10+
use PhpList\Core\Domain\Model\Messaging\SubscriberList;
11+
use PhpList\Core\Domain\Model\Subscription\Subscriber;
12+
use PhpList\Core\Domain\Model\Subscription\Subscription;
13+
use PhpList\Core\TestingSupport\Traits\ModelTestTrait;
1114
use RuntimeException;
1215

1316
class SubscriptionFixture extends Fixture
1417
{
18+
use ModelTestTrait;
19+
1520
public function load(ObjectManager $manager): void
1621
{
1722
$csvFile = __DIR__ . '/Subscription.csv';
@@ -26,32 +31,24 @@ public function load(ObjectManager $manager): void
2631
}
2732

2833
$headers = fgetcsv($handle);
29-
if ($headers === false) {
30-
throw new RuntimeException('Could not read headers from CSV file.');
31-
}
32-
33-
/** @var Connection $connection */
34-
$connection = $manager->getConnection();
35-
36-
$insertSubscriptionQuery = "
37-
INSERT INTO phplist_listuser (
38-
userid, listid, entered, modified
39-
) VALUES (
40-
:subscriber_id, :subscriber_list_id, :creation_date, :modification_date
41-
)
42-
";
43-
44-
$subscriptionStmt = $connection->prepare($insertSubscriptionQuery);
4534

4635
while (($data = fgetcsv($handle)) !== false) {
4736
$row = array_combine($headers, $data);
4837

49-
$subscriptionStmt->executeStatement([
50-
'subscriber_id' => (int) $row['userid'],
51-
'subscriber_list_id' => (int) $row['listid'],
52-
'creation_date' => (new DateTime($row['entered']))->format('Y-m-d H:i:s'),
53-
'modification_date' => (new DateTime($row['modified']))->format('Y-m-d H:i:s'),
54-
]);
38+
$subscriber = new Subscriber();
39+
$this->setSubjectId($subscriber,(int)$row['userid']);
40+
$manager->persist($subscriber);
41+
42+
$subscriberList = new SubscriberList();
43+
$this->setSubjectId($subscriberList,(int)$row['listid']);
44+
$manager->persist($subscriberList);
45+
46+
$subscription = new Subscription();
47+
$this->setSubjectProperty($subscription,'subscriber', $subscriber);
48+
$this->setSubjectProperty($subscription,'subscriberList', $subscriberList);
49+
$this->setSubjectProperty($subscription,'creationDate', new DateTime($row['entered']));
50+
$this->setSubjectProperty($subscription,'modificationDate', new DateTime($row['modified']));
51+
$manager->persist($subscription);
5552
}
5653

5754
fclose($handle);

0 commit comments

Comments
 (0)