UnitTest.php 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace Muzich\CoreBundle\lib;
  3. require_once(__DIR__ . "/../../../../app/AppKernel.php");
  4. use Muzich\CoreBundle\Entity\Element;
  5. use Muzich\CoreBundle\Managers\ElementManager;
  6. class UnitTest extends \PHPUnit_Framework_TestCase
  7. {
  8. protected $_container;
  9. public function __construct()
  10. {
  11. $kernel = new \AppKernel("test", true);
  12. $kernel->boot();
  13. $this->_container = $kernel->getContainer();
  14. parent::__construct();
  15. }
  16. protected function get($service)
  17. {
  18. return $this->_container->get($service);
  19. }
  20. /**
  21. *
  22. * @return \Symfony\Bundle\DoctrineBundle\Registry
  23. */
  24. protected function getDoctrine()
  25. {
  26. return $this->get('doctrine');
  27. }
  28. protected function getParam($param)
  29. {
  30. return $this->_container->getParameter($param);
  31. }
  32. protected function proceed_elementAndFill($user, $name, $url, $tag_ids, $final_embed)
  33. {
  34. $youtube_width = '590';
  35. $youtube_height = '300';
  36. $element = new Element();
  37. $element->setName($name);
  38. $element->setTags(json_encode($tag_ids));
  39. $element->setUrl($url);
  40. $factory = new ElementManager(
  41. $element,
  42. $this->getDoctrine()->getEntityManager(),
  43. $this->_container
  44. );
  45. $factory->proceedFill($user);
  46. $this->assertEquals($element->getName(), $name);
  47. $this->assertEquals($element->getUrl(), $url);
  48. // check tags
  49. $element_tag_ids = array();
  50. foreach ($element->getTags() as $tag)
  51. {
  52. $element_tag_ids[] = $tag->getId();
  53. }
  54. $this->assertEquals($element_tag_ids, $tag_ids);
  55. $this->assertEquals($element->getEmbed(), $final_embed);
  56. }
  57. protected function getUser($username)
  58. {
  59. return $this->getDoctrine()->getRepository('MuzichCoreBundle:User')
  60. ->findOneByUsername($username)
  61. ;
  62. }
  63. }