/** * @param JobResult $jobResult * @return array */ protected function getErrors(JobResult $jobResult) { $context = $jobResult->getContext(); $contextErrors = []; if ($context) { $contextErrors = $context->getErrors(); } return array_slice(array_merge($jobResult->getFailureExceptions(), $contextErrors), 0, 100); }
/** * @param JobResult $jobResult * @return array */ protected function getValidationCounts(JobResult $jobResult) { $context = $jobResult->getContext(); $counts = []; $counts['errors'] = count($jobResult->getFailureExceptions()); if ($context) { $counts['process'] = 0; $counts['read'] = $context->getReadCount(); $counts['process'] += $counts['add'] = $context->getAddCount(); $counts['process'] += $counts['replace'] = $context->getReplaceCount(); $counts['process'] += $counts['update'] = $context->getUpdateCount(); $counts['process'] += $counts['delete'] = $context->getDeleteCount(); $counts['error_entries'] = $context->getErrorEntriesCount(); $counts['errors'] += count($context->getErrors()); return $counts; } return $counts; }
/** * @param JobResult $jobResult */ protected function assertDatabaseContent(JobResult $jobResult) { $fixtures = new \RecursiveDirectoryIterator(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Stub' . DIRECTORY_SEPARATOR . 'fixtures', \RecursiveDirectoryIterator::SKIP_DOTS); $campaignRepo = $this->getContainer()->get('doctrine')->getRepository('OroCRMMailChimpBundle:Campaign'); $repository = $this->getContainer()->get('doctrine')->getRepository('OroCRMMailChimpBundle:MemberActivity'); $addCount = 0; $fullCount = 0; foreach ($fixtures as $file) { $data = Yaml::parse($file->getPathName()); $addCount += $data['addCount']; $fullCount += $data['fullCount']; foreach ($data['database'] as $criteria) { $campaign = $campaignRepo->findOneBy(['originId' => $criteria['campaign']]); $criteria['campaign'] = $campaign->getId(); if (!empty($criteria['activityTime'])) { $criteria['activityTime'] = new \DateTime($criteria['activityTime'], new \DateTimeZone('UTC')); } $result = $repository->findBy($criteria); $this->assertCount(1, $result, $file->getFileName()); } } $this->assertEquals($addCount, $jobResult->getContext()->getAddCount()); $this->assertCount($fullCount, $repository->findAll()); }