CrudKitTests\ArrayDataProviderFactory::defaultArrayDataProviderWithEmailValidator PHP Method

defaultArrayDataProviderWithEmailValidator() public static method

    public static function defaultArrayDataProviderWithEmailValidator()
    {
        $schema = static::$defaultArrayProvider['schema'];
        $schema['Email']['options']['validator'] = 'validate_email';
        $data = static::generateDataForArrayProvider(0);
        return static::arrayDataProvider($schema, static::$defaultArrayProvider['summary_cols'], $data);
    }

Usage Example

 /** @test */
 public function it_validates_a_row_of_data_using_a_custom_validator()
 {
     $validData = ['FirstName' => 'Luís', 'LastName' => 'Gonçalves', 'City' => 'São José dos Campos', 'Email' => '*****@*****.**'];
     $invalidData = ['FirstName' => 'Luís', 'LastName' => 'Gonçalves', 'City' => 'São José dos Campos', 'Email' => 'I feel this particular string does not conform to the required email format'];
     $provider = ArrayDataProviderFactory::defaultArrayDataProviderWithEmailValidator();
     $failuresForValidData = $provider->validateRow($validData);
     $failuresForInvalidData = $provider->validateRow($invalidData);
     $this->assertEmpty($failuresForValidData);
     $this->assertArrayHasKey('Email', $failuresForInvalidData);
     $this->assertEquals($invalidData['Email'], $failuresForInvalidData['Email']);
 }