AddressPostalUtilsTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Tests\Service\Core;
  3. use App\Entity\Core\AddressPostal;
  4. use App\Service\Core\AddressPostalUtils;
  5. use PHPUnit\Framework\TestCase;
  6. class TestableAddressPostalUtils extends AddressPostalUtils {
  7. // there's a bug when SUT has only one method,
  8. // it can't be mocked, so we add one method here in the meantime
  9. public function foo(): void {}
  10. }
  11. class AddressPostalUtilsTest extends TestCase
  12. {
  13. /**
  14. * @see AddressPostalUtils::getFullStreetAddress()
  15. */
  16. public function testGetFullStreetAddress(): void {
  17. $addressPostalUtils = $this->getMockBuilder(TestableAddressPostalUtils::class)
  18. ->setMethodsExcept(['getFullStreetAddress'])
  19. ->getMock();
  20. $addressPostal = $this->getMockBuilder(AddressPostal::class)->getMock();
  21. $addressPostal->method('getStreetAddress')->willReturn('Abc');
  22. $addressPostal->method('getStreetAddressSecond')->willReturn('Def ');
  23. $addressPostal->method('getStreetAddressThird')->willReturn(' Ghi ');
  24. $this->assertEqualsCanonicalizing(
  25. "Abc\nDef\nGhi",
  26. $addressPostalUtils->getFullStreetAddress($addressPostal)
  27. );
  28. $this->assertEqualsCanonicalizing(
  29. "Abc Def Ghi",
  30. $addressPostalUtils->getFullStreetAddress($addressPostal, ' ')
  31. );
  32. }
  33. /**
  34. * @see AddressPostalUtils::getFullStreetAddress()
  35. */
  36. public function testGetFullStreetAddressWithMissing(): void {
  37. $addressPostalUtils = $this->getMockBuilder(TestableAddressPostalUtils::class)
  38. ->setMethodsExcept(['getFullStreetAddress'])
  39. ->getMock();
  40. $addressPostal = $this->getMockBuilder(AddressPostal::class)->getMock();
  41. $addressPostal->method('getStreetAddress')->willReturn('Abc');
  42. $addressPostal->method('getStreetAddressSecond')->willReturn('');
  43. $addressPostal->method('getStreetAddressThird')->willReturn(' Def');
  44. $this->assertEqualsCanonicalizing(
  45. "Abc\nDef",
  46. $addressPostalUtils->getFullStreetAddress($addressPostal)
  47. );
  48. }
  49. }