59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
 | 
						|
namespace Tests\Feature\Pdf;
 | 
						|
 | 
						|
use App\Efz\EfzDocument;
 | 
						|
use App\Member\Member;
 | 
						|
use Illuminate\Foundation\Testing\DatabaseTransactions;
 | 
						|
use Tests\TestCase;
 | 
						|
use Zoomyboy\Tex\Tex;
 | 
						|
 | 
						|
class EfzTest extends TestCase
 | 
						|
{
 | 
						|
    use DatabaseTransactions;
 | 
						|
 | 
						|
    public function testItCreatesAEfzPdfFile(): void
 | 
						|
    {
 | 
						|
        Tex::fake();
 | 
						|
        $this->withoutExceptionHandling()->login()->withNamiSettings();
 | 
						|
        $member = Member::factory()->defaults()->create([
 | 
						|
            'firstname' => 'Max',
 | 
						|
            'lastname' => 'Muster',
 | 
						|
            'address' => 'Itt 4',
 | 
						|
            'zip' => '12345',
 | 
						|
            'location' => 'Solingen',
 | 
						|
            'birthday' => '2015-02-11',
 | 
						|
            'nami_id' => 552,
 | 
						|
        ]);
 | 
						|
 | 
						|
        $response = $this->get("/member/{$member->id}/efz");
 | 
						|
 | 
						|
        $response->assertOk();
 | 
						|
        $response->assertHeader('Content-Disposition', 'inline; filename="efz-fuer-max-muster.pdf"');
 | 
						|
        Tex::assertCompiled(EfzDocument::class, fn ($document) => 'Max Muster' === $document->name
 | 
						|
            && 'efz-fuer-max-muster' === $document->basename()
 | 
						|
            && 'geb. am 11.02.2015, wohnhaft in Solingen' === $document->secondLine
 | 
						|
            && now()->format('d.m.Y') === $document->now
 | 
						|
            && [
 | 
						|
                'Max Muster',
 | 
						|
                'Itt 4',
 | 
						|
                '12345 Solingen',
 | 
						|
                'Mglnr.: 552',
 | 
						|
            ] === $document->sender->values()
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    public function testItReallyCreatesAEfzPdfFile(): void
 | 
						|
    {
 | 
						|
        Tex::spy();
 | 
						|
        $this->withoutExceptionHandling()->login()->withNamiSettings();
 | 
						|
        $member = Member::factory()->defaults()->create(['firstname' => 'Max', 'lastname' => 'Muster']);
 | 
						|
 | 
						|
        $response = $this->get("/member/{$member->id}/efz");
 | 
						|
 | 
						|
        $response->assertOk();
 | 
						|
        $response->assertHeader('Content-Disposition', 'inline; filename="efz-fuer-max-muster.pdf"');
 | 
						|
        Tex::assertCompiled(EfzDocument::class, fn ($document) => $document->hasContent('Absender:') && $document->hasContent('Max Muster'));
 | 
						|
    }
 | 
						|
}
 |