/** * save * * @param RedirectEntity $redirect * @return void */ public function save(\Rcm\Entity\Redirect $redirect) { /** @var \Rcm\Entity\Redirect $result */ $result = $this->findOneBy(['requestUrl' => $redirect->getRequestUrl(), 'redirectUrl' => $redirect->getRedirectUrl(), 'siteId' => $redirect->getSiteId()]); if (!empty($result) && $result->getRedirectId() !== $redirect->getRedirectId()) { throw new RedirectException('Duplicate redirects not allowed'); } if ($redirect->getSiteId() !== null) { $siteRepo = $this->getEntityManager()->getRepository('Rcm\\Entity\\Site'); $site = $siteRepo->find($redirect->getSiteId()); if (empty($site)) { throw new RedirectException('Valid site required'); } $redirect->setSite($site); } $this->getEntityManager()->persist($redirect); $this->getEntityManager()->flush($redirect); }
public function testToArray() { $unit = new Redirect(); $site = new Site(); $domain = new Domain(); $site->setSiteId(28); $domain->setDomainName('test.com'); $site->setDomain($domain); $unit->setSite($site); $result = $unit->toArray(); $this->assertEquals('test.com', $result['domain']); $this->assertEquals(28, $result['siteId']); }