/** * @test */ public function runFailedFieldValidation() { $bad_key = 'bad_comment'; $good_key = 'comment'; $data = [$bad_key => '<alert>The number 3</alert>', $good_key => '<h1>Heres a valid-enough comment</h1>']; $validator = new ValidatorService($data); $validator->setRule($bad_key, 'Bad comment', 'required|integer')->setRule($good_key, 'Good Comment', 'required|maxLength[800]'); $this->assertFalse($validator->run()); $this->assertTrue($validator->isFieldFailed($bad_key)); $this->assertFalse($validator->isFieldFailed($good_key)); $messages = $validator->getAllFieldErrorMessages(); $failed_fields = $validator->getFailedFields(); $this->assertArrayHasKey($bad_key, $messages); $this->assertContains($bad_key, $failed_fields); $this->assertArrayNotHasKey($good_key, $messages); $this->assertArrayNotHasKey($good_key, $failed_fields); }