WorkflowOnuTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace FTTHBundle\tests;
  3. use FTTHBundle\Entity\ONU;
  4. use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
  5. /**
  6. * @package FTTHBundle\tests
  7. */
  8. class WorkflowOnuTest extends KernelTestCase
  9. {
  10. protected function setUp()
  11. {
  12. self::bootKernel();
  13. $this->em = static::$kernel->getContainer()
  14. ->get('doctrine')
  15. ->getManager();
  16. $this->wr = static::$kernel->getContainer()
  17. ->get('workflow.registry');
  18. }
  19. public function testAdministrative()
  20. {
  21. $onu = new ONU;
  22. $onu->setPonSerialNumber("cafecafecafe");
  23. $onu->setClientId(1);
  24. $onu->setTenancyId(1);
  25. try {
  26. $this->em->persist($onu);
  27. $this->em->flush();
  28. } catch (\Exception $e) {
  29. }
  30. $this->assertEquals("active", $onu->getAdministrativeState());
  31. $wf = $this->wr->get($onu, "administrative_state");
  32. $wf->apply($onu, "suspend");
  33. $this->assertEquals("suspend", $onu->getAdministrativeState());
  34. $this->em->persist($onu);
  35. $this->em->flush();
  36. $newOnu = $this->em->getRepository("FTTHBundle\Entity\ONU")->findOneByPonSerialNumber("cafecafecafe");
  37. $this->assertEquals("suspend", $newOnu->getAdministrativeState());
  38. $wf->apply($newOnu, "active");
  39. $this->em->persist($newOnu);
  40. $this->em->flush();
  41. $newOnu = $this->em->getRepository("FTTHBundle\Entity\ONU")->findOneByPonSerialNumber("cafecafecafe");
  42. $this->assertEquals("active", $newOnu->getAdministrativeState());
  43. if ($newOnu) {
  44. $newOnu = $this->em->remove($newOnu);
  45. $this->em->flush();
  46. }
  47. }
  48. }