$member->id, 'member_id' => $member->id, 'shopping_user_id' => 0, 'email' => 'cust-'.uniqid('', true).'@example.com', 'is_for' => 'ot', 'payone_userid' => 0, 'clearingtype' => 'cc', 'amount' => 5000, 'status' => 2, 'abo_interval' => 5, 'start_date' => $startDate, 'last_date' => $startDate, 'next_date' => '2026-12-10', ]); } it('filtert Abos nach Eingangsmonat (start_date)', function (): void { $member = User::forceCreate([ 'email' => 'member-'.uniqid('', true).'@example.com', 'password' => bcrypt('secret'), 'lang' => 'de', ]); $june = createOtAbo($member, '2026-06-15'); $july = createOtAbo($member, '2026-07-03'); $juneOtherYear = createOtAbo($member, '2025-06-20'); $filtered = UserAbo::where('member_id', $member->id) ->where('is_for', 'ot') ->addedInMonth(2026, 6) ->pluck('id'); expect($filtered)->toContain($june->id) ->not->toContain($july->id) ->not->toContain($juneOtherYear->id); }); it('lässt die Abfrage unverändert, wenn kein Monat gewählt ist (month=0)', function (): void { $member = User::forceCreate([ 'email' => 'member-'.uniqid('', true).'@example.com', 'password' => bcrypt('secret'), 'lang' => 'de', ]); createOtAbo($member, '2026-06-15'); createOtAbo($member, '2026-07-03'); $count = UserAbo::where('member_id', $member->id) ->where('is_for', 'ot') ->addedInMonth(2026, 0) ->count(); expect($count)->toBe(2); });