Cache Remember fresh interval

This commit is contained in:
philipp lang 2025-05-29 00:33:43 +02:00
parent bf4cfdf7fd
commit 1780e3bce8
2 changed files with 16 additions and 1 deletions

View File

@ -44,7 +44,10 @@ class YearlyRememberAction
Cache::remember(
'prevention-' . $member->id,
(int) now()->diffInSeconds(now()->addWeeks($settings->freshRememberInterval)),
fn() => Mail::send($this->createMail($member, $preventions))
function () use ($member, $preventions) {
Mail::send($this->createMail($member, $preventions));
return 0;
}
);
}
}

View File

@ -255,6 +255,18 @@ it('remembers members yearly', function ($date, $shouldSend) {
[fn() => now()->subYears(5)->subDay(), false],
]);
it('remembers yearly only once', function () {
Mail::fake();
createMember(['efz' => now()->subYears(5), 'ps_at' => now(), 'has_vk' => true]);
YearlyRememberAction::run();
YearlyRememberAction::run();
YearlyRememberAction::run();
Mail::assertSentCount(1);
Mail::assertSent(YearlyMail::class, fn($mail) => $mail->preventions->first()->expires->isSameDay(now()));
});
it('testItDoesntRememberParticipantThatHasNoMail', function () {
Mail::fake();
$form = createForm();