public function testBuildActionPostValidSuccess() { $postData = array('Name' => 'packageName'); $fileSpec = array('name' => 'file_name', 'tmp_name' => 'file_tmp_name', 'type' => 'file_type'); $packageData = array('Name' => 'packageName', 'File' => array('name' => 'file_name', 'tmp_name' => 'file_tmp_name', 'type' => 'file_type'), 'FileName' => 'file_name', 'FileLocation' => 'file_tmp_name'); $this->getRequest()->getFiles()->set('File', $fileSpec); $formData = $postData + array('File' => $fileSpec); $this->_buildForm->expects($this->once())->method('setData')->with($formData); $this->_buildForm->expects($this->once())->method('getData')->willReturn($formData); $this->_buildForm->expects($this->once())->method('isValid')->willReturn(true); $this->_buildForm->expects($this->never())->method('render'); $this->_testBuildPackage('/console/package/build', $postData, $packageData, true); $this->assertRedirectTo('/console/package/index/'); }
public function testBuildActionPostValidError() { $postData = array('Name' => 'packageName'); $fileSpec = array('name' => 'file_name', 'tmp_name' => 'file_tmp_name', 'type' => 'file_type'); $packageData = array('Name' => 'packageName', 'File' => array('name' => 'file_name', 'tmp_name' => 'file_tmp_name', 'type' => 'file_type'), 'FileName' => 'file_name', 'FileLocation' => 'file_tmp_name'); $formData = $postData + array('File' => $fileSpec); $this->getRequest()->getFiles()->set('File', $fileSpec); $this->_buildForm->expects($this->once())->method('setData')->with($formData); $this->_buildForm->expects($this->once())->method('getData')->willReturn($formData); $this->_buildForm->expects($this->once())->method('isValid')->willReturn(true); $this->_buildForm->expects($this->never())->method('render'); $this->_packageManager->expects($this->once())->method('buildPackage')->with($packageData, true)->willThrowException(new \Model\Package\RuntimeException('build error')); $this->dispatch('/console/package/build', 'POST', $postData); $this->assertRedirectTo('/console/package/index/'); $flashMessenger = $this->_getControllerPlugin('FlashMessenger'); $this->assertEquals(array(), $flashMessenger->getCurrentSuccessMessages()); $this->assertEquals(array('build error'), $flashMessenger->getCurrentErrorMessages()); $this->assertEquals(array(), $flashMessenger->getCurrentMessagesFromNamespace('packageName')); }