Quellcode durchsuchen

test(student): add unit test to verify removal of old phone fields in contract PDF view

alvesantos vor 1 Woche
Ursprung
Commit
1f20a35a69
1 geänderte Dateien mit 49 neuen und 0 gelöschten Zeilen
  1. 49 0
      tests/Unit/StudentContractViewTest.php

+ 49 - 0
tests/Unit/StudentContractViewTest.php

@@ -0,0 +1,49 @@
+<?php
+
+namespace Tests\Unit;
+
+use App\Models\StudentContract;
+use App\Models\Student;
+use App\Models\Unit;
+use App\Models\ClassPackageUnit;
+use App\Models\ClassPackage;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Support\Facades\View;
+use Tests\TestCase;
+
+class StudentContractViewTest extends TestCase
+{
+    public function test_contract_pdf_view_does_not_contain_old_phone_fields(): void
+    {
+        $contract = new StudentContract();
+        $contract->id = 1;
+        $contract->signature_date = '2023-01-01';
+        $contract->end_date = '2023-12-31';
+        
+        $student = new Student();
+        $student->name = 'Test Student';
+        $student->document_number = '12345678901';
+        $student->phone = '11999999999';
+        
+        $unit = new Unit();
+        $unit->fantasy_name = 'Test Unit';
+        $unit->cnpj = '00.000.000/0001-00';
+        $unit->city = (object)['name' => 'Test City'];
+        $unit->state = (object)['code' => 'SP'];
+        
+        $packageUnit = new ClassPackageUnit();
+        $package = new ClassPackage();
+        $package->name = 'Test Package';
+        $packageUnit->setRelation('classPackage', $package);
+
+        $contract->setRelation('student', $student);
+        $contract->setRelation('unit', $unit);
+        $contract->setRelation('classPackageUnit', $packageUnit);
+
+        $html = View::make('student-contracts.contract', ['contract' => $contract])->render();
+
+        $this->assertStringNotContainsString('FONE RESIDENCIAL', $html);
+        $this->assertStringNotContainsString('COMERCIAL', $html);
+        $this->assertStringContainsString('Test Student', $html);
+    }
+}