public function testApply() { $this->validatorValidation->addSourceConstraint('sourceField', new Email()); $this->validatorValidation->addTargetConstraint('targetField', new NotNull()); $expectedSourceFilter = new ValidatorFilter($this->validatorMock); $expectedSourceFilter->setAllowExtraFields(true); $expectedSourceFilter->add('sourceField', new Email()); $expectedTargetFilter = new ValidatorFilter($this->validatorMock); $expectedTargetFilter->setAllowExtraFields(true); $expectedTargetFilter->add('targetField', new NotNull()); $workflow = $this->getMockBuilder('Ddeboer\\DataImport\\Workflow')->disableOriginalConstructor()->getMock(); $workflow->expects($this->once())->method('addFilter')->with($expectedSourceFilter); $workflow->expects($this->once())->method('addFilterAfterConversion')->with($expectedTargetFilter); $this->validatorValidation->apply($workflow); }
/** * @medium */ public function test() { $data1 = [['foo' => 'bar1']]; $data2 = [['foo' => 'bar2']]; $targetData = array(); $targetStorage = new ArrayStorage($targetData); $validator = Validation::createValidator(); $validation = new ValidatorValidation($validator); $validation->addSourceConstraint('foo', new Choice(['choices' => ['a']])); $importer = Importer::build($targetStorage); $importer->validation($validation); $importRunner = ImportRunner::build(); $import = Import::build($importer, new ArrayStorage($data1)); $importRunner->dryRun($import); $this->assertEquals(1, count($importer->validation()->getViolations()['source'])); $import = Import::build($importer, new ArrayStorage($data2)); $importRunner->dryRun($import); $this->assertEquals(1, count($importer->validation()->getViolations()['source'])); }