47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace Tests\Feature\Membership;
 | |
| 
 | |
| use App\Member\Member;
 | |
| use App\Member\Membership;
 | |
| use App\Membership\AgeGroupCountBlock;
 | |
| use Illuminate\Foundation\Testing\DatabaseTransactions;
 | |
| use Tests\TestCase;
 | |
| 
 | |
| class AgeGroupCountBlockTest extends TestCase
 | |
| {
 | |
|     use DatabaseTransactions;
 | |
| 
 | |
|     public function testItDisplaysAgeGroups(): void
 | |
|     {
 | |
|         $this->withoutExceptionHandling();
 | |
|         Member::factory()->count(3)
 | |
|             ->has(Membership::factory()->in('€ Mitglied', 1, 'Biber', 2))
 | |
|             ->defaults()
 | |
|             ->create();
 | |
|         Member::factory()->count(4)
 | |
|             ->has(Membership::factory()->in('€ Mitglied', 1, 'Wölfling', 3))
 | |
|             ->defaults()
 | |
|             ->create();
 | |
|         Member::factory()->count(2)->has(Membership::factory()->in('€ LeiterIn', 2, 'Wölfling', 3))
 | |
|             ->defaults()
 | |
|             ->create();
 | |
|         Member::factory()->count(2)
 | |
|             ->has(Membership::factory()->in('€ LeiterIn', 2, 'Jungpfadfinder', 3))
 | |
|             ->has(Membership::factory()->ended()->in('€ LeiterIn', 2, 'Pfadfinder', 3))
 | |
|             ->has(Membership::factory()->ended()->in('€ Mitglied', 2, 'Jungpfadfinder', 3))
 | |
|             ->defaults()
 | |
|             ->create();
 | |
| 
 | |
|         $data = app(AgeGroupCountBlock::class)->render()['data'];
 | |
| 
 | |
|         $this->assertEquals([
 | |
|             'groups' => [
 | |
|                 ['slug' => 'biber', 'name' => 'Biber', 'count' => 3],
 | |
|                 ['slug' => 'woelfling', 'name' => 'Wölfling', 'count' => 4],
 | |
|                 ['slug' => 'leiter', 'name' => 'Leiter', 'count' => 4],
 | |
|             ],
 | |
|         ], $data);
 | |
|     }
 | |
| }
 |