ComponentParameterDatetimeTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace CMText\RichContent\Templates\Whatsapp;
  3. use PHPUnit\Framework\TestCase;
  4. class ComponentParameterDatetimeTest extends TestCase
  5. {
  6. public function test__construct()
  7. {
  8. $this->assertJson(
  9. json_encode(
  10. new ComponentParameterDatetime(
  11. 'right now',
  12. new \DateTime()
  13. )
  14. )
  15. );
  16. }
  17. public function testJsonSerialize()
  18. {
  19. $datetime = new \DateTimeImmutable();
  20. $componentParameter = new ComponentParameterDatetime(
  21. $datetime->format(DATE_COOKIE),
  22. $datetime
  23. );
  24. $this->assertInstanceOf(
  25. ComponentParameterBase::class,
  26. $componentParameter
  27. );
  28. $json = json_decode(json_encode($componentParameter));
  29. $this->assertObjectHasAttribute(
  30. 'date_time',
  31. $json
  32. );
  33. $this->assertObjectHasAttribute(
  34. 'fallback_value',
  35. $json->date_time
  36. );
  37. $this->assertObjectHasAttribute(
  38. 'timestamp',
  39. $json->date_time
  40. );
  41. $this->assertEquals(
  42. $datetime->getTimestamp(),
  43. $json->date_time->timestamp
  44. );
  45. }
  46. }