TraitUsageTest.php 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace Gedmo\Blameable;
  3. use Doctrine\Common\EventManager;
  4. use Tool\BaseTestCaseORM;
  5. use Blameable\Fixture\Entity\UsingTrait;
  6. /**
  7. * These are tests for Blameable behavior
  8. *
  9. * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
  10. * @package Gedmo.Blameable
  11. * @link http://www.gediminasm.org
  12. * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
  13. */
  14. class TraitUsageTest extends BaseTestCaseORM
  15. {
  16. const TARGET = "Blameable\\Fixture\\Entity\\UsingTrait";
  17. protected function setUp()
  18. {
  19. parent::setUp();
  20. if (version_compare(PHP_VERSION, '5.4.0') < 0) {
  21. $this->markTestSkipped('PHP >= 5.4 version required for this test.');
  22. }
  23. $listener = new BlameableListener;
  24. $listener->setUserValue('testuser');
  25. $evm = new EventManager;
  26. $evm->addEventSubscriber($listener);
  27. $this->getMockSqliteEntityManager($evm);
  28. }
  29. /**
  30. * @test
  31. */
  32. function shouldTimestampUsingTrait()
  33. {
  34. $sport = new UsingTrait;
  35. $sport->setTitle('Sport');
  36. $this->em->persist($sport);
  37. $this->em->flush();
  38. $this->assertNotNull($sport->getCreatedBy());
  39. $this->assertNotNull($sport->getUpdatedBy());
  40. }
  41. /**
  42. * @test
  43. */
  44. function traitMethodthShouldReturnObject()
  45. {
  46. $sport = new UsingTrait;
  47. $this->assertInstanceOf(self::TARGET, $sport->setCreatedBy('myuser'));
  48. $this->assertInstanceOf(self::TARGET, $sport->setUpdatedBy('myuser'));
  49. }
  50. protected function getUsedEntityFixtures()
  51. {
  52. return array(
  53. self::TARGET
  54. );
  55. }
  56. }