• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Freegle / Iznik / 10484

06 May 2026 09:46PM UTC coverage: 72.657% (+0.02%) from 72.642%
10484

Pull #370

circleci

edwh
fix(vitest): use v-show on nav buttons so adjacency test sees them in DOM

v-if removes Previous/Next from DOM when hidden, making Accept directly
adjacent to Regenerate (diff=1, fails |acceptIdx-regenIdx|>1 assertion).
v-show keeps buttons in DOM while hiding them, maintaining the gap.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pull Request #370: feat(batch): migrate notification_chaseup.php to Laravel

13801 of 20763 branches covered (66.47%)

Branch coverage included in aggregate %.

248 of 322 new or added lines in 9 files covered. (77.02%)

449 existing lines in 6 files now uncovered.

98898 of 134347 relevant lines covered (73.61%)

22.7 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/iznik-batch/app/Console/Commands/Notification/ChaseUpNotificationsCommand.php
1
<?php
2

3
namespace App\Console\Commands\Notification;
4

5
use App\Services\NotificationChaseUpService;
6
use Illuminate\Console\Command;
7

8
/**
9
 * Send chaseup emails for unseen, unmailed site notifications (comments, loves, etc.).
10
 *
11
 * Migrated from V1 notification_chaseup.php → Notifications::sendEmails().
12
 * Runs every 5 minutes in production (see routes/console.php).
13
 */
14
class ChaseUpNotificationsCommand extends Command
15
{
16
    protected $signature = 'mail:notifications:chaseup
17
        {--user= : Only process this user ID}
18
        {--before=5 : Minimum age of notification in minutes before sending}
19
        {--since=24 : Maximum age of notification in hours}
20
        {--dry-run : Show what would be sent without sending}';
21

22
    protected $description = 'Send chaseup emails for unseen site notifications (comments, loves, etc.)';
23

NEW
24
    public function handle(NotificationChaseUpService $service): int
×
25
    {
NEW
26
        $userId        = $this->option('user') ? (int) $this->option('user') : null;
×
NEW
27
        $beforeMinutes = (int) $this->option('before');
×
NEW
28
        $sinceHours    = (int) $this->option('since');
×
NEW
29
        $dryRun        = (bool) $this->option('dry-run');
×
30

NEW
31
        if ($dryRun) {
×
NEW
32
            $this->info('Dry run — no emails will be sent.');
×
33
        }
34

NEW
35
        $count = $service->sendEmails(
×
NEW
36
            userId:        $userId,
×
NEW
37
            beforeMinutes: $beforeMinutes,
×
NEW
38
            sinceHours:    $sinceHours,
×
NEW
39
            dryRun:        $dryRun
×
NEW
40
        );
×
41

NEW
42
        $this->info("Sent {$count} notification chaseup email(s).");
×
43

NEW
44
        return Command::SUCCESS;
×
45
    }
46
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc