protected function setUp()
 {
     parent::setUp();
     $this->routeGuardManager = new ServiceLocator();
     $this->routeGuardManager->set('AlwaysGrantedGuard', M::mock('\\Aeris\\ZfAuth\\Guard\\GuardInterface', ['isGranted' => true, 'setRules' => null]));
     $this->routeGuardManager->set('NeverGrantedGuard', M::mock('\\Aeris\\ZfAuth\\Guard\\GuardInterface', ['isGranted' => false, 'setRules' => null]));
 }
 public function testListeners()
 {
     $options = ['mail_listeners' => [new MailListenerMock(), 'mail_listener_service', 'AcMailerTest\\Event\\MailListenerMock']];
     $this->initServiceLocator($options);
     $this->serviceLocator->set('mail_listener_service', new MailListenerMock());
     /** @var EventManagerAwareInterface $mailService */
     $mailService = $this->mailServiceFactory->createServiceWithName($this->serviceLocator, 'acmailer.mailservice.default', '');
     $this->assertCount(3, $mailService->getEventManager()->getListeners(MailEvent::EVENT_MAIL_PRE_SEND));
 }
 public function testTemplateBody()
 {
     $options = array('template' => array('use_template' => true, 'path' => 'ac-mailer/mail-templates/layout', 'children' => array('content' => array('path' => 'ac-mailer/mail-templates/mail'))), 'body' => 'This body is not going to be used');
     $this->initServiceLocator($options);
     $resolver = new TemplatePathStack();
     $resolver->addPath(__DIR__ . '/../../view');
     $renderer = new PhpRenderer();
     $renderer->setResolver($resolver);
     $this->serviceLocator->set('mailviewrenderer', $renderer);
     $mailService = $this->mailServiceFactory->createService($this->serviceLocator);
     $this->assertNotEquals($options['body'], $mailService->getMessage()->getBody());
     $this->assertInstanceOf('Zend\\Mime\\Message', $mailService->getMessage()->getBody());
 }
 public function testListeners()
 {
     $options = ['mail_listeners' => [new MailListenerMock(), 'mail_listener_service', 'AcMailerTest\\Event\\MailListenerMock']];
     $this->initServiceLocator($options);
     $this->serviceLocator->set('mail_listener_service', new MailListenerMock());
     /** @var EventManagerAwareInterface $mailService */
     $mailService = $this->mailServiceFactory->__invoke($this->serviceLocator, 'acmailer.mailservice.default');
     // Make getListenersByEventName method public
     $em = $mailService->getEventManager();
     $refObject = new \ReflectionObject($em);
     $method = $refObject->getMethod('getListenersByEventName');
     $method->setAccessible(true);
     $this->assertCount(3, $method->invoke($em, MailEvent::EVENT_MAIL_PRE_SEND));
 }