withoutExceptionHandling()->withNamiSettings(12345, 'password', 101); $group = Group::factory()->inNami(101)->create(); $noPsAtAll = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['firstname' => 'Jane', 'lastname' => 'Doe']); $validPs = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['firstname' => 'Max', 'lastname' => 'Doe', 'ps_at' => now()->subYears(4)]); $validMorePs = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['firstname' => 'Joe', 'lastname' => 'Doe', 'more_ps_at' => now()->subYears(4)]); $invalidPs = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['firstname' => 'Mike', 'lastname' => 'Doe', 'ps_at' => now()->subYears(5)]); $invalidMorePs = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['firstname' => 'Nora', 'lastname' => 'Doe', 'more_ps_at' => now()->subYears(5)]); $inactiveMembership = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)->ended()) ->create(['firstname' => 'Lisa', 'lastname' => 'Doe', 'more_ps_at' => now()->subYears(5)]); $invalidPsButValidMorePs = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['firstname' => 'Hey', 'lastname' => 'Doe', 'ps_at' => now()->subYears(10), 'more_ps_at' => now()->subYears(3)]); $notALeader = Member::factory() ->defaults() ->for($group) ->has(Membership::factory()->in('€ Mitglied', 5, 'Wölfling', 8)) ->create(['firstname' => 'Mae', 'lastname' => 'Doe']); Livewire::test(PsPendingBlock::class) ->assertSee('Jane Doe') ->assertDontSee('Max Doe') ->assertDontSee('Joe Doe') ->assertSee('Mike Doe') ->assertSee('Nora Doe') ->assertDontSee('Lisa Doe') ->assertDontSee('Hey Doe') ->assertDontSee('Mae Doe'); } public function testItExcludesForeignGroups(): void { $this->withoutExceptionHandling()->withNamiSettings(12345, 'password', 101); Group::factory()->inNami(101)->create(); $otherGroup = Group::factory()->inNami(55)->create(); Member::factory() ->defaults() ->for($otherGroup) ->has(Membership::factory()->in('€ LeiterIn', 5, 'Wölfling', 8)) ->create(['lastname' => 'Doe']); Livewire::test(PsPendingBlock::class) ->assertDontSee('Doe'); } }