Skip to content

Commit 770b036

Browse files
authored
1 parent ff9cd47 commit 770b036

File tree

3 files changed

+37
-2
lines changed

3 files changed

+37
-2
lines changed

app/Helpers/render/ticket.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ function ticketAvatar(
2626
$ticketStateClass = match ($safeTicket->state) {
2727
TicketState::Open, TicketState::Request => 'open',
2828
TicketState::Closed, TicketState::Resolved => 'closed',
29-
default => '',
3029
};
3130

3231
return avatar(
@@ -56,7 +55,6 @@ function renderTicketCard(int|Ticket $ticket): string
5655
$ticketStateClass = match ($ticket->state) {
5756
TicketState::Open, TicketState::Request => 'open',
5857
TicketState::Closed, TicketState::Resolved => 'closed',
59-
default => '',
6058
};
6159

6260
return "<div class='tooltip-body flex items-start' style='max-width: 400px'>" .

app/Support/Alerts/Listeners/TriggerSuspiciousBeatTimeAlert.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ public function handle(PlayerGameBeaten $event): void
3434

3535
$game = $event->game;
3636

37+
// Final Fantasy XI supports retroactive unlocks.
38+
// We use a regex so we don't match against XII or XIII.
39+
if (preg_match('/^Final Fantasy XI($|[:\s\-])/', $game->title)) {
40+
return;
41+
}
42+
3743
// Bail if we don't have a sufficient sample size.
3844
if ($game->times_beaten_hardcore < 20) {
3945
return;

tests/Feature/Support/Alerts/Listeners/TriggerSuspiciousBeatTimeAlertTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,35 @@ public function testItDoesNotTriggerWhenTimeIsAboveThreshold(): void
8080
// Assert
8181
Queue::assertNothingPushed();
8282
}
83+
84+
public function testItDoesNotTriggerForFinalFantasyXIGames(): void
85+
{
86+
// Arrange
87+
Queue::fake();
88+
89+
config(['services.discord.alerts_webhook.suspicious_beat_time' => 'https://discord.com/api/webhooks/test']);
90+
91+
$system = System::factory()->create();
92+
$user = User::factory()->create();
93+
$game = Game::factory()->create([
94+
'title' => 'Final Fantasy XI: Rise of the Zilart',
95+
'system_id' => $system->id,
96+
'times_beaten_hardcore' => 100,
97+
'median_time_to_beat_hardcore' => 3600,
98+
]);
99+
100+
PlayerGame::factory()->create([
101+
'user_id' => $user->id,
102+
'game_id' => $game->id,
103+
'time_to_beat_hardcore' => 60, // would normally trigger an alert
104+
]);
105+
106+
$event = new PlayerGameBeaten($user, $game, hardcore: true);
107+
108+
// Act
109+
(new TriggerSuspiciousBeatTimeAlert())->handle($event);
110+
111+
// Assert
112+
Queue::assertNothingPushed();
113+
}
83114
}

0 commit comments

Comments
 (0)