public function testDefaultValue() { $p = new Parameter('test'); $this->assertEquals(null, $p->getDefaultValue()); $p->setDefaultValue('test'); $this->assertEquals('test', $p->getDefaultValue()); }
public function testExecutePlugin() { $adapterMock = $this->getMock('\\hergot\\databroker\\DataAdapter\\DataAdapterInterface', array('fetch', 'getParameters')); $adapterMock->expects($this->once())->method('getParameters')->will($this->returnCallback(function (ParameterCollection $parameterCollection) { $parameter = new Parameter('parameter'); $parameter->setDefaultValue('test'); $parameterCollection->addParameter($parameter); })); $loaderMock = $this->getMock('\\hergot\\databroker\\DataAdapter\\DataAdapterLoaderInterface', array('instantiate')); $loaderMock->expects($this->once())->method('instantiate')->will($this->returnCallback(function ($name) use($adapterMock) { $this->assertEquals('testAdapter', $name); return $adapterMock; })); $pluginMock = $this->getMock('\\hergot\\databroker\\Plugin\\PluginInterface'); $pluginMock->expects($this->once())->method('runBeforeExecute')->will($this->returnCallback(function (DataAdapterInterface $dataAdapter, array $parameters, $result) use($adapterMock) { $this->assertEquals($adapterMock, $dataAdapter); $this->assertEquals(array('parameter' => 'test'), $parameters); $this->assertEquals(null, $result); return 'test'; })); $pluginMock->expects($this->once())->method('runAfterExecute')->will($this->returnCallback(function (DataAdapterInterface $dataAdapter, array $parameters, $result, \Exception $exception = null) use($adapterMock) { $this->assertEquals($adapterMock, $dataAdapter); $this->assertEquals(array('parameter' => 'test'), $parameters); $this->assertEquals('test', $result); $this->assertEquals(null, $exception); return 'test2'; })); $databroker = new DataBroker($loaderMock); $databroker->addPlugin($pluginMock); $this->assertEquals('test2', $databroker->execute('testAdapter', array('parameter' => 'test'))); }