Exemplo n.º 1
0
 /**
  * @test
  * @covers SlimApp\Validator::unique
  * @param boolean|string $expectedResult The result returned by the function
  * @param boolean $ruleValue The value for the rule, stores in the rules property
  * @param mixed $value The value to validate
  * @param mixed $resultFindRow The result returned by findRow
  * @dataProvider provider_unique_returns_true_if_value_is_unique_error_message_otherwise
  */
 public function unique_returns_true_if_value_is_unique_error_message_otherwise($expectedResult, $ruleValue, $value, $resultFindRow)
 {
     $table = $this->getMockBuilder('SlimApp\\Db\\DbTable')->setMethods(['getTableName'])->getMock();
     $dbTable = new \SebastianBergmann\PeekAndPoke\Proxy($table);
     $model = $this->getMockBuilder('SlimApp\\Model')->setMockClassName('User')->getMock();
     $mapper = $this->getMockBuilder('SlimApp\\Db\\Mapper')->setMethods(['getDbTable', 'getModel', 'findRow'])->getMock();
     $mockMapper = $this->getMockBuilder('SlimApp\\Validator')->setConstructorArgs([$mapper])->getMockForAbstractClass();
     $mapper->method('getDbTable')->will($this->returnValue($dbTable));
     $dbTable->method('getTableName')->will($this->returnValue('Users'));
     $mapper->method('getModel')->will($this->returnValue($model));
     $mapper->method('findRow')->will($this->returnValue($resultFindRow));
     $validator = new \SebastianBergmann\PeekAndPoke\Proxy($mockMapper);
     $rules = ['fieldName' => ['unique' => $ruleValue]];
     $validator->rules = $rules;
     $result = $validator->unique($ruleValue, 'fieldName', $value);
     $this->assertEquals($expectedResult, $result);
 }