/** * @covers ::getErrors */ public function testGetErrors() { $subject = (object) ['user_email' => '*****@*****.**', 'subscribe_url' => 'http://example.com', 'subscribe_ip' => '23.123.214.213']; $asserts = new Asserts(array(new Assert\Present('user_email'), new Assert\Email('user_email'), new Assert\URL('subscribe_url'), new Assert\IP('subscribe_ip'))); $errors = $asserts->getErrors($subject); $this->assertTrue($errors->isEmpty()); $subject = (object) ['user_email' => 'test', 'subscribe_url' => 'http:/', 'subscribe_ip' => '23.123']; $errors = $asserts->getErrors($subject); $this->assertContainsOnlyInstancesOf('Harp\\Validate\\Error', $errors); $expected = implode(', ', array('user_email should be a valid email', 'subscribe_url should be a valid URL address', 'subscribe_ip is invalid')); $this->assertEquals($expected, $errors->humanize()); }