protected function setUp() { $serviceManager = new ServiceManager(); $serviceLocator = new FormElementManager(); $serviceLocator->setServiceLocator($serviceManager); $pAccounts = $this->getMock('Balance\\Model\\Persistence\\ValueOptionsInterface'); $pAccounts->method('getValueOptions')->will($this->returnValue([])); $serviceManager->setService('Balance\\Model\\Persistence\\Accounts', $pAccounts); $serviceLocator->setService('Currency', new CurrencyElement()); $view = new View(); $view->getEventManager()->attach(ViewEvent::EVENT_RENDERER, function () { $renderer = (new PhpRenderer())->setResolver(new TemplateMapResolver(['layout/page-header' => './module/Balance/view/layout/page-header.phtml', 'balance/postings/edit' => './module/Balance/view/balance/postings/edit.phtml', 'tests/postings/before-entries-a' => './module/Balance/test/BalanceTest/View/Scripts/postings-before-entries-a.phtml', 'tests/postings/before-entries-b' => './module/Balance/test/BalanceTest/View/Scripts/postings-before-entries-b.phtml'])); $helpers = $renderer->getHelperPluginManager(); $helpers->get('BasePath')->setBasePath('/'); $match = $this->getMockBuilder('Zend\\Mvc\\Router\\RouteMatch')->disableOriginalConstructor()->getMock(); $match->method('getMatchedRouteName')->will($this->returnValue('default')); $helpers->get('Url')->setRouter($this->getMock('Zend\\Mvc\\Router\\RouteStackInterface'))->setRouteMatch($match); $configs = new HelperConfig(); $configs->configureServiceManager($helpers); return $renderer; }); $form = new PostingsForm(); $form->setServiceLocator($serviceLocator); $model = (new ViewModel())->setTemplate('balance/postings/edit')->setVariable('form', $form)->setOption('has_parent', true); $form->init(); $this->view = $view; $this->model = $model; }
public function testCanCreateService() { $factory = new LoginControllerFactory(); $loginFormMock = $this->getMock('Zend\\Form\\FormInterface'); $formElementManager = new FormElementManager(); $formElementManager->setService('UghAuthentication\\Form\\Login', $loginFormMock); $moduleOptions = new ModuleOptions(array('login_redirect_route' => 'admin')); $serviceManager = new ServiceManager(); $serviceManager->setService('FormElementManager', $formElementManager); $serviceManager->setService('UghAuthentication\\Options\\ModuleOptions', $moduleOptions); $controllerServiceManager = new ControllerManager(); $controllerServiceManager->setServiceLocator($serviceManager); $loginController = $factory->createService($controllerServiceManager); $this->assertInstanceOf('UghAuthentication\\Controller\\LoginController', $loginController); }
public function testWindowsActionPostInvalid() { $postData = array('key' => 'entered_key'); // Again, just stub the pivotal methods $form = $this->getMockBuilder('Console\\Form\\ProductKey')->setMethods(array('isValid', 'prepare', 'setData'))->getMock(); $form->expects($this->once())->method('setData')->with($postData); $form->expects($this->once())->method('isValid')->will($this->returnValue(false)); $form->expects($this->once())->method('prepare'); $form->init(); $form->get('Key')->setMessages(array('message')); $this->_formManager = new \Zend\Form\FormElementManager(); $this->_formManager->setService('Console\\Form\\ProductKey', $form); $this->_softwareManager->expects($this->never())->method('setProductKey'); $this->dispatch('/console/client/windows/?id=1', 'POST', $postData); $this->assertResponseStatusCode(200); $this->assertXpathQuery('//*[@class="error"]//*[text()="message"]'); }
public function testFetchWithoutDatetime() { $model = new Balance(); $formElementManager = new FormElementManager(); $inputFilterManager = new InputFilterPluginManager(); $formElementManager->setService('datetime', new DateTime()); $serviceLocator = new ServiceManager(); $serviceLocator->setService('FormElementManager', $formElementManager)->setService('InputFilterManager', $inputFilterManager); $model->setServiceLocator($serviceLocator); $persistence = $this->getMock('Balance\\Model\\Persistence\\PersistenceInterface'); $persistence->expects($this->atLeastOnce())->method('fetch')->will($this->returnCallback(function ($params) { return isset($params['datetime']) ? array(array('one' => 'two')) : array(); })); $serviceLocator->setService('Balance\\Model\\Persistence\\Balance', $persistence); $result = $model->fetch(new Parameters()); $this->assertEquals(array(array('one' => 'two')), $result); }
public function testInit() { $form = new Postings(); // Localizador de Serviços Superior $serviceLocator = new ServiceManager(); // Gerenciador de Formulários $formElementManager = new FormElementManager(); // Dependência $formElementManager->setServiceLocator($serviceLocator); // Elementos $formElementManager->setService('Currency', new Currency()); // Configurar Localizador de Serviços Superior $form->setServiceLocator($formElementManager); // Camada de Modelo $persistence = $this->getMock('Balance\\Model\\Persistence\\ValueOptionsInterface'); // Carregar Valores $persistence->expects($this->atLeastOnce())->method('getValueOptions')->will($this->returnValue(array())); // Camada de Modelo de Contas $serviceLocator->setService('Balance\\Model\\Persistence\\Accounts', $persistence); $form->init(); $this->assertTrue($form->has('id')); $this->assertInstanceOf('Zend\\Form\\Element\\Hidden', $form->get('id')); $this->assertTrue($form->has('datetime')); $this->assertInstanceOf('Zend\\Form\\Element\\DateTime', $form->get('datetime')); $this->assertTrue($form->has('description')); $this->assertInstanceOf('Zend\\Form\\Element\\Textarea', $form->get('description')); $this->assertTrue($form->has('entries')); $this->assertInstanceOf('Zend\\Form\\Element\\Collection', $form->get('entries')); $this->assertInstanceOf('Zend\\Form\\Fieldset', $form->get('entries')->getTargetElement()); $this->assertEquals(2, $form->get('entries')->getCount()); $subform = $form->get('entries')->getTargetElement(); $this->assertTrue($subform->has('type')); $this->assertInstanceOf('Zend\\Form\\Element\\Select', $subform->get('type')); $this->assertEquals((new EntryType())->getDefinition(), $subform->get('type')->getValueOptions()); $this->assertTrue($subform->has('account_id')); $this->assertInstanceOf('Zend\\Form\\Element\\Select', $subform->get('account_id')); $this->assertTrue($subform->has('value')); $this->assertInstanceOf('Balance\\Form\\Element\\Currency', $subform->get('value')); }
public function testRegisteringInvalidElementRaisesException() { $this->setExpectedException('Zend\\Form\\Exception\\InvalidElementException'); $this->manager->setService('test', $this); }