TimelineHelperTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace Tools\TestCase\View\Helper;
  3. use Cake\Core\Configure;
  4. use Cake\View\View;
  5. use DateTime;
  6. use Tools\TestSuite\TestCase;
  7. use Tools\View\Helper\TimelineHelper;
  8. /**
  9. * Timeline Helper Test Case
  10. */
  11. class TimelineHelperTest extends TestCase {
  12. /**
  13. * @var \Tools\View\Helper\TimelineHelper
  14. */
  15. public $Timeline;
  16. /**
  17. * TimelineHelperTest::setUp()
  18. *
  19. * @return void
  20. */
  21. public function setUp() {
  22. parent::setUp();
  23. $this->Timeline = new TimelineTestHelper(new View(null));
  24. }
  25. /**
  26. * @return void
  27. */
  28. public function testAddItem() {
  29. $data = [
  30. 'start' => null,
  31. 'content' => '',
  32. ];
  33. $this->Timeline->addItem($data);
  34. $items = $this->Timeline->items();
  35. $this->assertSame(1, count($items));
  36. $data = [
  37. [
  38. 'start' => null,
  39. 'content' => '',
  40. ],
  41. [
  42. 'start' => null,
  43. 'content' => '',
  44. ]
  45. ];
  46. $this->Timeline->addItems($data);
  47. $items = $this->Timeline->items();
  48. $this->assertSame(3, count($items));
  49. }
  50. /**
  51. * @return void
  52. */
  53. public function testFinalize() {
  54. $this->testAddItem();
  55. $data = [
  56. 'start' => new DateTime(),
  57. 'content' => '',
  58. ];
  59. $this->Timeline->addItem($data);
  60. $data = [
  61. 'start' => new DateTime(date(FORMAT_DB_DATE)),
  62. 'content' => '',
  63. ];
  64. $this->Timeline->addItem($data);
  65. $result = $this->Timeline->finalize(true);
  66. $this->assertContains('\'start\': new Date(', $result);
  67. }
  68. public function tearDown() {
  69. parent::tearDown();
  70. unset($this->Timeline);
  71. }
  72. }
  73. class TimelineTestHelper extends TimelineHelper {
  74. /**
  75. * @return array
  76. */
  77. public function items() {
  78. return $this->_items;
  79. }
  80. }