@@ -145,7 +145,7 @@ public function testResetSessions(): void
145
145
public function testUsernameAvailableAtForDefaultGroup ()
146
146
{
147
147
config_set ('osu.user.allowed_rename_groups ' , ['default ' ]);
148
- $ allowedAtUpTo = now ()->addYears (5 );
148
+ $ allowedAtUpTo = now ()->addYearsNoOverflow (5 );
149
149
$ user = User::factory ()->withGroup ('default ' )->create ();
150
150
151
151
$ this ->assertLessThanOrEqual ($ allowedAtUpTo , $ user ->getUsernameAvailableAt ());
@@ -154,7 +154,7 @@ public function testUsernameAvailableAtForDefaultGroup()
154
154
public function testUsernameAvailableAtForNonDefaultGroup ()
155
155
{
156
156
config_set ('osu.user.allowed_rename_groups ' , ['default ' ]);
157
- $ allowedAt = now ()->addYears (10 );
157
+ $ allowedAt = now ()->addYearsNoOverflow (10 );
158
158
$ user = User::factory ()->withGroup ('gmt ' )->create (['group_id ' => app ('groups ' )->byIdentifier ('default ' )]);
159
159
160
160
$ this ->assertGreaterThanOrEqual ($ allowedAt , $ user ->getUsernameAvailableAt ());
@@ -185,11 +185,11 @@ public function testUsernameChangeCostMultiple()
185
185
]);
186
186
187
187
// 1 change in last 3 years
188
- $ this ->travelTo (CarbonImmutable::now ()->addYears (3 ));
188
+ $ this ->travelTo (CarbonImmutable::now ()->addYearsNoOverflow (3 ));
189
189
$ this ->assertSame (8 , $ user ->usernameChangeCost ());
190
190
191
191
// 0 changes in last 3 years
192
- $ this ->travelTo (CarbonImmutable::now ()->addYears (1 ));
192
+ $ this ->travelTo (CarbonImmutable::now ()->addYearsNoOverflow (1 ));
193
193
$ this ->assertSame (8 , $ user ->usernameChangeCost ());
194
194
195
195
$ user ->usernameChangeHistory ()->create ([
@@ -211,10 +211,10 @@ public function testUsernameChangeCostMultiple()
211
211
$ this ->assertSame (16 , $ user ->usernameChangeCost ());
212
212
213
213
// 1 changes in last 3 years
214
- $ this ->travelTo (CarbonImmutable::now ()->addYears (3 ));
214
+ $ this ->travelTo (CarbonImmutable::now ()->addYearsNoOverflow (3 ));
215
215
$ this ->assertSame (8 , $ user ->usernameChangeCost ());
216
216
// 0 changes in last 3 years
217
- $ this ->travelTo (CarbonImmutable::now ()->addYears (1 ));
217
+ $ this ->travelTo (CarbonImmutable::now ()->addYearsNoOverflow (1 ));
218
218
$ this ->assertSame (8 , $ user ->usernameChangeCost ());
219
219
}
220
220
@@ -236,20 +236,22 @@ public function testUsernameChangeCostType(string $type, int $cost)
236
236
public function testUsernameChangeCostWindow (int $ years , int $ cost )
237
237
{
238
238
$ now = CarbonImmutable::now ();
239
- $ this ->travelTo (CarbonImmutable:: now ()-> subYears (3 ));
239
+ $ this ->travelTo ($ now-> subYearsNoOverflow (3 ));
240
240
241
241
$ user = User::factory ()->create ();
242
- while (CarbonImmutable::now ()->isBefore ($ now )) {
242
+ // every 6 months for 3 years = 6
243
+ // using isBefore to setup adds too many when run at month boundaries.
244
+ for ($ i = 0 ; $ i < 6 ; $ i ++) {
243
245
$ user ->usernameChangeHistory ()->create ([
244
246
'timestamp ' => CarbonImmutable::now (),
245
247
'type ' => 'paid ' ,
246
248
'username ' => 'marty ' ,
247
249
]);
248
250
249
- $ this ->travelTo (CarbonImmutable::now ()->addMonths (6 ));
251
+ $ this ->travelTo (CarbonImmutable::now ()->addMonthsNoOverflow (6 ));
250
252
}
251
253
252
- $ this ->travelTo ($ now ->addYears ($ years ));
254
+ $ this ->travelTo ($ now ->addYearsNoOverflow ($ years ));
253
255
$ this ->assertSame ($ cost , $ user ->usernameChangeCost ());
254
256
}
255
257
0 commit comments