Skip to content

Commit d0f66db

Browse files
authored
Merge branch 'master' into dont-reset-playcounts
2 parents e4f051c + 7554c9e commit d0f66db

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

app/Http/Controllers/Payments/XsollaController.php

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
use App\Exceptions\InvalidSignatureException;
99
use App\Exceptions\Store\OrderException;
10-
use App\Libraries\OrderCheckout;
1110
use App\Libraries\Payments\XsollaPaymentProcessor;
1211
use App\Libraries\Payments\XsollaSignature;
1312
use App\Libraries\Payments\XsollaUserNotFoundException;
@@ -106,9 +105,9 @@ public function callback(HttpRequest $request)
106105
public function completed()
107106
{
108107
$orderNumber = Request::input('foreignInvoice') ?? '';
109-
$order = OrderCheckout::for($orderNumber)->completeCheckout();
108+
$order = Order::whereOrderNumber($orderNumber)->firstOrFail();
110109

111-
return redirect(route('store.invoice.show', ['invoice' => $order->order_id, 'thanks' => 1]));
110+
return redirect(route('store.invoice.show', ['invoice' => $order->getKey(), 'thanks' => 1]));
112111
}
113112

114113
private function errorResponse(string $message, string $code, int $status)

app/Models/User.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ public function usernameChangeCost()
329329
$tier = max(
330330
$this->usernameChangeHistory()
331331
->paid()
332-
->where('timestamp', '>', Carbon::now()->subYears(3))
332+
->where('timestamp', '>', Carbon::now()->subYearsNoOverflow(3))
333333
->count(),
334334
$minTier,
335335
);

tests/Models/UserTest.php

+12-10
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public function testResetSessions(): void
145145
public function testUsernameAvailableAtForDefaultGroup()
146146
{
147147
config_set('osu.user.allowed_rename_groups', ['default']);
148-
$allowedAtUpTo = now()->addYears(5);
148+
$allowedAtUpTo = now()->addYearsNoOverflow(5);
149149
$user = User::factory()->withGroup('default')->create();
150150

151151
$this->assertLessThanOrEqual($allowedAtUpTo, $user->getUsernameAvailableAt());
@@ -154,7 +154,7 @@ public function testUsernameAvailableAtForDefaultGroup()
154154
public function testUsernameAvailableAtForNonDefaultGroup()
155155
{
156156
config_set('osu.user.allowed_rename_groups', ['default']);
157-
$allowedAt = now()->addYears(10);
157+
$allowedAt = now()->addYearsNoOverflow(10);
158158
$user = User::factory()->withGroup('gmt')->create(['group_id' => app('groups')->byIdentifier('default')]);
159159

160160
$this->assertGreaterThanOrEqual($allowedAt, $user->getUsernameAvailableAt());
@@ -185,11 +185,11 @@ public function testUsernameChangeCostMultiple()
185185
]);
186186

187187
// 1 change in last 3 years
188-
$this->travelTo(CarbonImmutable::now()->addYears(3));
188+
$this->travelTo(CarbonImmutable::now()->addYearsNoOverflow(3));
189189
$this->assertSame(8, $user->usernameChangeCost());
190190

191191
// 0 changes in last 3 years
192-
$this->travelTo(CarbonImmutable::now()->addYears(1));
192+
$this->travelTo(CarbonImmutable::now()->addYearsNoOverflow(1));
193193
$this->assertSame(8, $user->usernameChangeCost());
194194

195195
$user->usernameChangeHistory()->create([
@@ -211,10 +211,10 @@ public function testUsernameChangeCostMultiple()
211211
$this->assertSame(16, $user->usernameChangeCost());
212212

213213
// 1 changes in last 3 years
214-
$this->travelTo(CarbonImmutable::now()->addYears(3));
214+
$this->travelTo(CarbonImmutable::now()->addYearsNoOverflow(3));
215215
$this->assertSame(8, $user->usernameChangeCost());
216216
// 0 changes in last 3 years
217-
$this->travelTo(CarbonImmutable::now()->addYears(1));
217+
$this->travelTo(CarbonImmutable::now()->addYearsNoOverflow(1));
218218
$this->assertSame(8, $user->usernameChangeCost());
219219
}
220220

@@ -236,20 +236,22 @@ public function testUsernameChangeCostType(string $type, int $cost)
236236
public function testUsernameChangeCostWindow(int $years, int $cost)
237237
{
238238
$now = CarbonImmutable::now();
239-
$this->travelTo(CarbonImmutable::now()->subYears(3));
239+
$this->travelTo($now->subYearsNoOverflow(3));
240240

241241
$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++) {
243245
$user->usernameChangeHistory()->create([
244246
'timestamp' => CarbonImmutable::now(),
245247
'type' => 'paid',
246248
'username' => 'marty',
247249
]);
248250

249-
$this->travelTo(CarbonImmutable::now()->addMonths(6));
251+
$this->travelTo(CarbonImmutable::now()->addMonthsNoOverflow(6));
250252
}
251253

252-
$this->travelTo($now->addYears($years));
254+
$this->travelTo($now->addYearsNoOverflow($years));
253255
$this->assertSame($cost, $user->usernameChangeCost());
254256
}
255257

0 commit comments

Comments
 (0)