Skip to content

Commit 12d014c

Browse files
committed
ISSUE-337: more test fix
1 parent f9ce63b commit 12d014c

20 files changed

+353
-554
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
php-versions: ['7.2', '7.3', '7.4', '8.0']
25+
php-versions: ['8.1']
2626
steps:
2727
- name: Checkout
2828
uses: actions/checkout@v2
@@ -81,4 +81,4 @@ jobs:
8181
continue-on-error: ${{matrix.php-versions == '8.0' }} # [temp-php8]
8282
- name: Running PHP_CodeSniffer
8383
run: vendor/bin/phpcs --standard=config/PhpCodeSniffer/ bin/ src/ tests/ public/;
84-
continue-on-error: ${{matrix.php-versions == '8.0' }} # [temp-php8]
84+
continue-on-error: ${{matrix.php-versions == '8.0' }} # [temp-php8]

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@
5858
"nette/caching": "^3.0.0",
5959
"nikic/php-parser": "^4.19.1",
6060
"phpmd/phpmd": "^2.6.0",
61-
"symfony/test-pack": "^1.1"
61+
"symfony/test-pack": "^1.1",
62+
"symfony/process": "^6.4"
6263
},
6364
"suggest": {
6465
"phplist/web-frontend": "5.0.x-dev",

src/Domain/Model/Subscription/Subscriber.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ class Subscriber implements DomainModel, Identity, CreationDate, ModificationDat
8282
private ?string $extraData;
8383

8484
#[ORM\OneToMany(
85-
mappedBy: "subscriber",
8685
targetEntity: "PhpList\Core\Domain\Model\Subscription\Subscription",
86+
mappedBy: "subscriber",
8787
cascade: ["remove"]
8888
)]
8989
private Collection $subscriptions;

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
use PhpList\Core\Tests\TestingSupport\Traits\ModelTestTrait;
1212
use RuntimeException;
1313

14-
/**
15-
* @author Tatevik Grigoryan <[email protected]>
16-
*/
1714
class AdministratorFixture extends Fixture
1815
{
1916
use ModelTestTrait;

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
use PhpList\Core\Tests\TestingSupport\Traits\ModelTestTrait;
1313
use RuntimeException;
1414

15-
/**
16-
* @author Tatevik Grigoryan <[email protected]>
17-
*/
15+
1816
class AdministratorTokenWithAdministratorFixture extends Fixture
1917
{
2018
use ModelTestTrait;

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
use PhpList\Core\Tests\TestingSupport\Traits\ModelTestTrait;
1212
use RuntimeException;
1313

14-
/**
15-
* @author Tatevik Grigoryan <[email protected]>
16-
*/
1714
class DetachedAdministratorTokenFixture extends Fixture
1815
{
1916
use ModelTestTrait;

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

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

77
use DateTime;
88
use Doctrine\Bundle\FixturesBundle\Fixture;
9+
use Doctrine\DBAL\Connection;
910
use Doctrine\Persistence\ObjectManager;
10-
use PhpList\Core\Domain\Model\Subscription\Subscriber;
11-
use PhpList\Core\Tests\TestingSupport\Traits\ModelTestTrait;
1211
use RuntimeException;
1312

14-
/**
15-
* @author Tatevik Grigoryan <[email protected]>
16-
*/
1713
class SubscriberFixture extends Fixture
1814
{
19-
use ModelTestTrait;
2015
public function load(ObjectManager $manager): void
2116
{
2217
$csvFile = __DIR__ . '/Subscriber.csv';
@@ -31,26 +26,43 @@ public function load(ObjectManager $manager): void
3126
}
3227

3328
$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+
$insertQuery = "
37+
INSERT INTO phplist_user_user (
38+
id, entered, modified, email, confirmed, blacklisted, bouncecount,
39+
uniqid, htmlemail, disabled, extradata
40+
) VALUES (
41+
:id, :creation_date, :modification_date, :email, :confirmed, :blacklisted, :bounce_count,
42+
:unique_id, :html_email, :disabled, :extra_data
43+
)
44+
";
45+
46+
$stmt = $connection->prepare($insertQuery);
3447

3548
while (($data = fgetcsv($handle)) !== false) {
3649
$row = array_combine($headers, $data);
3750

38-
$subscriber = new Subscriber();
39-
$this->setSubjectId($subscriber,(int)$row['id']);
40-
$this->setSubjectProperty($subscriber,'creationDate', new DateTime($row['entered']));
41-
$this->setSubjectProperty($subscriber,'modificationDate', new DateTime($row['modified']));
42-
$subscriber->setEmail($row['email']);
43-
$subscriber->setConfirmed((bool) $row['confirmed']);
44-
$subscriber->setBlacklisted((bool) $row['blacklisted']);
45-
$subscriber->setBounceCount((int) $row['bouncecount']);
46-
$subscriber->setUniqueId($row['uniqueid']);
47-
$subscriber->setHtmlEmail((bool) $row['htmlemail']);
48-
$subscriber->setDisabled((bool) $row['disabled']);
49-
$subscriber->setExtraData($row['extradata']);
50-
$manager->persist($subscriber);
51+
$stmt->executeStatement([
52+
'id' => (int) $row['id'],
53+
'creation_date' => (new DateTime($row['entered']))->format('Y-m-d H:i:s'),
54+
'modification_date' => (new DateTime($row['modified']))->format('Y-m-d H:i:s'),
55+
'email' => $row['email'],
56+
'confirmed' => (bool) $row['confirmed'] ? 1 : 0,
57+
'blacklisted' => (bool) $row['blacklisted'] ? 1 : 0,
58+
'bounce_count' => (int) $row['bouncecount'],
59+
'unique_id' => $row['uniqueid'],
60+
'html_email' => (bool) $row['htmlemail'] ? 1 : 0,
61+
'disabled' => (bool) $row['disabled'] ? 1 : 0,
62+
'extra_data' => $row['extradata'],
63+
]);
5164
}
5265

5366
fclose($handle);
54-
$manager->flush();
5567
}
5668
}

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
use PhpList\Core\Tests\TestingSupport\Traits\ModelTestTrait;
1313
use RuntimeException;
1414

15-
/**
16-
* @author Tatevik Grigoryan <[email protected]>
17-
*/
1815
class SubscriberListFixture extends Fixture
1916
{
2017
use ModelTestTrait;
@@ -52,10 +49,9 @@ public function load(ObjectManager $manager): void
5249

5350
$manager->persist($admin);
5451
$manager->persist($subscriberList);
55-
$this->setSubjectProperty($subscriberList,'creationDate', new DateTime($row['entered']));
52+
$manager->flush();
5653
}
5754

5855
fclose($handle);
59-
$manager->flush();
6056
}
6157
}

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

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

77
use DateTime;
88
use Doctrine\Bundle\FixturesBundle\Fixture;
9+
use Doctrine\DBAL\Connection;
910
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\Tests\TestingSupport\Traits\ModelTestTrait;
1411
use RuntimeException;
1512

16-
/**
17-
* @author Tatevik Grigoryan <[email protected]>
18-
*/
1913
class SubscriptionFixture extends Fixture
2014
{
21-
use ModelTestTrait;
2215
public function load(ObjectManager $manager): void
2316
{
2417
$csvFile = __DIR__ . '/Subscription.csv';
@@ -33,27 +26,34 @@ public function load(ObjectManager $manager): void
3326
}
3427

3528
$headers = fgetcsv($handle);
29+
if ($headers === false) {
30+
throw new RuntimeException('Could not read headers from CSV file.');
31+
}
3632

37-
while (($data = fgetcsv($handle)) !== false) {
38-
$row = array_combine($headers, $data);
33+
/** @var Connection $connection */
34+
$connection = $manager->getConnection();
3935

40-
$subscriber = new Subscriber();
41-
$this->setSubjectId($subscriber,(int)$row['userid']);
42-
$manager->persist($subscriber);
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+
";
4343

44-
$subscriberList = new SubscriberList();
45-
$this->setSubjectId($subscriberList,(int)$row['listid']);
46-
$manager->persist($subscriberList);
44+
$subscriptionStmt = $connection->prepare($insertSubscriptionQuery);
45+
46+
while (($data = fgetcsv($handle)) !== false) {
47+
$row = array_combine($headers, $data);
4748

48-
$subscription = new Subscription();
49-
$this->setSubjectProperty($subscription,'subscriber', $subscriber);
50-
$this->setSubjectProperty($subscription,'subscriberList', $subscriberList);
51-
$this->setSubjectProperty($subscription,'creationDate', new DateTime($row['entered']));
52-
$this->setSubjectProperty($subscription,'modificationDate', new DateTime($row['modified']));
53-
$manager->persist($subscription);
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+
]);
5455
}
5556

5657
fclose($handle);
57-
$manager->flush();
5858
}
5959
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
* Testcase.
1818
*
1919
* @author Oliver Klee <[email protected]>
20-
* @author Tatevik Grigoryan <[email protected]>
2120
*/
2221
class AdministratorRepositoryTest extends KernelTestCase
2322
{

0 commit comments

Comments
 (0)