StudentContractViewTest.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Tests\Unit;
  3. use App\Models\StudentContract;
  4. use App\Models\Student;
  5. use App\Models\Unit;
  6. use App\Models\ClassPackageUnit;
  7. use App\Models\ClassPackage;
  8. use Illuminate\Foundation\Testing\RefreshDatabase;
  9. use Illuminate\Support\Facades\View;
  10. use Tests\TestCase;
  11. class StudentContractViewTest extends TestCase
  12. {
  13. public function test_contract_pdf_view_does_not_contain_old_phone_fields(): void
  14. {
  15. $contract = new StudentContract();
  16. $contract->id = 1;
  17. $contract->signature_date = '2023-01-01';
  18. $contract->end_date = '2023-12-31';
  19. $student = new Student();
  20. $student->name = 'Test Student';
  21. $student->phone = '11999999999';
  22. $unit = new Unit();
  23. $unit->fantasy_name = 'Test Unit';
  24. $unit->city = clone (object)['name' => 'Test City'];
  25. $unit->state = clone (object)['code' => 'SP'];
  26. $packageUnit = new ClassPackageUnit();
  27. $package = new ClassPackage();
  28. $package->name = 'Test Package';
  29. $packageUnit->setRelation('classPackage', $package);
  30. $contract->setRelation('student', $student);
  31. $contract->setRelation('unit', $unit);
  32. $contract->setRelation('classPackageUnit', $packageUnit);
  33. $contract->setAttribute('installments', 1); // Attribute, not relation
  34. $html = View::make('student-contracts.contract', ['contract' => $contract])->render();
  35. $this->assertStringNotContainsString('FONE RESIDENCIAL', $html);
  36. $this->assertStringNotContainsString('COMERCIAL', $html);
  37. $this->assertStringContainsString('Test Student', $html);
  38. }
  39. }