/** * data must be an array containing: * - subject: string * - from: string * - body: string * - testTo: string/mail * * to must be an array containing list of email addresses. * * @param array $data * @return $this */ private function validate(array $data) { $dio = $this->dio = $this->factory->on($data); $dio->asText('subject')->required(); $dio->asText('body')->required(); $dio->asMail('from')->required(); $dio->asMail('testTo')->required(); $dio->asMail('mailTo')->required(); return $this; }
/** * @test */ function filter_min_value() { $factory = new ValidationFactory(); $v = $factory->on(['int' => '100', 'big' => '101', 'bad' => '12345678901234567890123456789012345678901234567890']); $v->asInteger('int')->min(101); $v->asInteger('big')->min(101); $value1 = $v->get('int'); $value2 = $v->get('big'); $this->assertEquals(false, $value1); $this->assertEquals('101', $value2); $this->assertEquals('below min value', $v->message('int')); }
/** * @test */ function test2() { $rule0 = $this->factory->rules()->withType('text'); $rule1 = $this->factory->rules()->withType('text'); $this->assertEquals($rule0, $rule1); $this->assertNotSame($rule0, $rule1); }
/** * @test */ function requiredIf_after_rule_is_applyed() { $input = ['flag' => 'A', 'done' => '']; $this->validate->source($input); $this->validate->asText('flag'); $this->validate->asText('done')->requiredIf('flag', ['a']); $this->assertEquals(true, $this->validate->passes()); $input = ['flag' => 'A', 'done' => '']; $validation = $this->factory->on($input); $validation->asText('flag')->string('lower'); $validation->asText('done')->requiredIf('flag', ['a']); $this->assertEquals(true, $validation->fails()); $this->assertEquals('required item', $validation->message('done')); }
/** * @test */ function closure_with_error() { /** * @param ValueTO $v */ $filter = function ($v) { $val = $v->getValue(); $val .= ':bad'; $v->setValue($val); $v->setError(__METHOD__); $v->setMessage('Closure with Error'); }; $found = $this->verify->is('test', $this->factory->rules()->withType('text')->custom($filter)); $this->assertEquals(false, $found); /** @var ValueTO $valTo */ $valTo = $this->verify->apply('test', $this->factory->rules()->withType('text')->custom($filter)); $this->assertTrue($valTo->fails()); $this->assertTrue($valTo->getBreak()); $this->assertEquals('test:bad', $valTo->getValue()); $this->assertEquals('Closure with Error', $valTo->message()); }
public function setUp() { $factory = new ValidationFactory(); $this->validate = $factory->verify(); }