Skip to content

Commit 659cfac

Browse files
committed
[ci] handle reset-password 8.1.10 version constraint
1 parent f048ee3 commit 659cfac

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/Test/MakerTestDetails.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ final class MakerTestDetails
2222
private string $rootNamespace = 'App';
2323
private int $requiredPhpVersion = 80000;
2424
private array $requiredPackageVersions = [];
25+
private int $blockedPhpVersionUpper = 0;
26+
private int $blockedPhpVersionLower = 0;
2527

2628
public function __construct(
2729
private MakerInterface $maker,
@@ -73,6 +75,15 @@ public function setRequiredPhpVersion(int $version): self
7375
return $this;
7476
}
7577

78+
/** @internal */
79+
public function setBlockedPhpVersions(int $lowerLimit, int $upperLimit): self
80+
{
81+
$this->blockedPhpVersionUpper = $upperLimit;
82+
$this->blockedPhpVersionLower = $lowerLimit;
83+
84+
return $this;
85+
}
86+
7687
public function addRequiredPackageVersion(string $packageName, string $versionConstraint): self
7788
{
7889
$this->requiredPackageVersions[] = ['name' => $packageName, 'version_constraint' => $versionConstraint];
@@ -118,7 +129,14 @@ public function getDependencyBuilder(): DependencyBuilder
118129

119130
public function isSupportedByCurrentPhpVersion(): bool
120131
{
121-
return \PHP_VERSION_ID >= $this->requiredPhpVersion;
132+
$hasPhpVersionConstraint = $this->blockedPhpVersionLower > 0 && $this->blockedPhpVersionUpper > 0;
133+
$isSupported = true;
134+
135+
if ($hasPhpVersionConstraint) {
136+
$isSupported = \PHP_VERSION_ID <= $this->blockedPhpVersionUpper && \PHP_VERSION_ID >= $this->blockedPhpVersionLower;
137+
}
138+
139+
return $isSupported && \PHP_VERSION_ID >= $this->requiredPhpVersion;
122140
}
123141

124142
public function getRequiredPackageVersions(): array

tests/Maker/MakeResetPasswordTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ protected function getMakerClass(): string
2727
public function getTestDetails(): \Generator
2828
{
2929
yield 'it_generates_with_normal_setup' => [$this->createMakerTest()
30+
->setBlockedPhpVersions(80100, 80109)
3031
->run(function (MakerTestRunner $runner) {
3132
$this->makeUser($runner);
3233

@@ -81,6 +82,7 @@ public function getTestDetails(): \Generator
8182
];
8283

8384
yield 'it_generates_with_translator_installed' => [$this->createMakerTest()
85+
->setBlockedPhpVersions(80100, 80109)
8486
->addExtraDependencies('symfony/translation')
8587
->run(function (MakerTestRunner $runner) {
8688
$this->makeUser($runner);
@@ -97,6 +99,7 @@ public function getTestDetails(): \Generator
9799
];
98100

99101
yield 'it_generates_with_custom_config' => [$this->createMakerTest()
102+
->setBlockedPhpVersions(80100, 80109)
100103
->run(function (MakerTestRunner $runner) {
101104
$runner->deleteFile('config/packages/reset_password.yaml');
102105
$runner->writeFile(
@@ -131,6 +134,7 @@ public function getTestDetails(): \Generator
131134
];
132135

133136
yield 'it_amends_configuration' => [$this->createMakerTest()
137+
->setBlockedPhpVersions(80100, 80109)
134138
->run(function (MakerTestRunner $runner) {
135139
$runner->modifyYamlFile('config/packages/reset_password.yaml', function (array $config) {
136140
$config['symfonycasts_reset_password']['lifetime'] = 9999;
@@ -157,6 +161,7 @@ public function getTestDetails(): \Generator
157161
];
158162

159163
yield 'it_generates_with_custom_user' => [$this->createMakerTest()
164+
->setBlockedPhpVersions(80100, 80109)
160165
->run(function (MakerTestRunner $runner) {
161166
$this->makeUser($runner, 'emailAddress', 'UserCustom', false);
162167

0 commit comments

Comments
 (0)