/** * @expectedException \InvalidArgumentException */ public function testValueValidatorException() { $p = new Parameter('test'); $this->assertEquals(null, $p->getValue()); $p->setValue('test'); $this->assertEquals('test', $p->getValue()); $validatorMock = $this->getMock('\\hergot\\databroker\\DataAdapter\\ValidatorInterface'); $validatorMock->expects($this->once())->method('isValid')->will($this->returnCallback(function ($value) { $this->assertEquals('test', $value); return false; })); $p->setValidator($validatorMock); $p->setValue('test'); }
/** * @expectedException \hergot\databroker\DataBrokerException * @expectedExceptionCode \hergot\databroker\DataBrokerException::INVALID_PARAMETER_VALUE */ public function testExecuteDataAdapterParameterValidator() { $adapterMock = $this->getMock('\\hergot\\databroker\\DataAdapter\\DataAdapterInterface', array('getParameters', 'fetch')); $adapterMock->expects($this->once())->method('getParameters')->will($this->returnCallback(function (ParameterCollection $parameterCollection) { $validatorMock = $this->getMock('\\hergot\\databroker\\DataAdapter\\ValidatorInterface'); $validatorMock->expects($this->once())->method('isValid')->will($this->returnValue(false)); $parameter = new Parameter('parameter'); $parameter->setValidator($validatorMock); $parameterCollection->addParameter($parameter); })); $adapterMock->expects($this->never())->method('fetch'); $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; })); $databroker = new DataBroker($loaderMock); $databroker->execute('testAdapter', array()); }