/** * @Then I should see the following locales: */ public function iShouldSeeTheFollowingLocales(TableNode $table) { foreach ($table->getHash() as $row) { Assertion::keyExists($this->result, $row['shortcut']); Assertion::eq($row['display_name'], $this->result[$row['shortcut']]); } Assertion::count(iterator_to_array($table), count($this->result)); }
public function __construct(string $xmlFolder, array $additionalTypes = [], CacheItemPoolInterface $cache = null) { if (!empty($additionalTypes)) { Assertion::count(array_filter($additionalTypes, function ($type) : bool { return !$type instanceof TypeInterface; }), 0, sprintf('At least one element in array is not an instance of %s', TypeInterface::class)); } $this->xmlFolder = $xmlFolder; $this->types = $additionalTypes + $this->createBuiltInTypes(); $this->cache = $cache ?: new VoidCachePool(); }
/** * @Then he should see the following data: * * @param TableNode $table */ public function heShouldSeeTheFollowingData(TableNode $table) { $hash = $table->getHash(); $em = $this->getEntityManager(); Assertion::count($this->response, count($hash)); foreach ($hash as $row) { $username = $row['username']; $isOnline = $row['is_online'] === 'true'; $userId = $em->getRepository('Account:User')->findOneBy(['username' => $username])->getId(); Assertion::keyExists($this->response, $userId); Assertion::same($isOnline, $this->response[$userId]); } }
/** * @Then I should have an activation email */ public function iShouldHaveAnActivationEmail() { $client = $this->recentClient; /** @var \Symfony\Bundle\SwiftMailerBundle\DataCollector\MessageDataCollector $mailCollector */ $mailCollector = $client->getProfile()->getCollector('swiftmailer'); Assertion::eq(1, $mailCollector->getMessageCount()); /** @var \Swift_Message $message */ $message = $mailCollector->getMessages()[0]; Assertion::eq($message->getSubject(), 'Sententiaregum Notifications'); Assertion::eq(key($message->getTo()), '*****@*****.**'); $crawler = new Crawler(); $crawler->addContent($message->getChildren()[1]->getBody()); Assertion::count($message->getChildren(), 2); Assertion::eq(1, $crawler->filter('#n-ac-l-p')->count()); Assertion::notEq(0, preg_match('/!\\/activate\\/(.*)/', $message->getChildren()[0]->getBody())); }
/** * @Then /^I should've gotten an email$/ */ public function checkEmail() { /** @var \Symfony\Bundle\SwiftmailerBundle\DataCollector\MessageDataCollector $profile */ $profile = $this->apiContext->getProfile()->getCollector('swiftmailer'); Assertion::eq(1, $profile->getMessageCount()); /** @var \Swift_Message $message */ $message = $profile->getMessages()[0]; // user registers as "de", so email should be in german Assertion::eq($message->getSubject(), 'Benachrichtigungen von Sententiaregum'); Assertion::eq(key($message->getTo()), '*****@*****.**'); $crawler = new Crawler(); $crawler->addContent($message->getChildren()[1]->getBody()); Assertion::count($message->getChildren(), 2); Assertion::eq(1, $crawler->filter('#n-ac-l-p')->count()); Assertion::notEq(0, preg_match('/\\/activate\\/(.*)/', $message->getChildren()[0]->getBody())); }
/** * @dataProvider dataInvalidCount */ public function testInvalidCount($countable, $count) { $this->setExpectedException('Assert\\AssertionFailedException', 'List does not contain exactly "' . $count . '" elements.', Assertion::INVALID_COUNT); Assertion::count($countable, $count); }
/** * @dataProvider dataInvalidCount */ public function testInvalidCount($countable, $count) { $this->setExpectedException('Assert\\AssertionFailedException', null, Assertion::INVALID_COUNT); Assertion::count($countable, $count); }
private function validateArray(array $array, string $expectedClassName) { Assertion::count(array_filter($array, function ($metadata) use($expectedClassName) : bool { return !$metadata instanceof $expectedClassName; }), 0, sprintf('At least one element in array is not an instance of %s', $expectedClassName)); }
/** * @Then I should get two ids */ public function iShouldGetTwoIds() { Assertion::count($this->followerIds, 2); }
/** * Resets the Temporal object to its initial value * * @return int Returns the initial value */ public function reset() { Assertion::notNull(self::$redis, "Redis connection hasn't been set"); // Remove each individual key $items = self::$redis->sMembers($this->identifier); foreach ($items as $i) { self::$redis->delete($i); } // Remove the set and check its emptiness self::$redis->delete($this->identifier); Assertion::count(self::$redis->sMembers($this->identifier), 0); return $this->initialNumber; }
/** * @Then I should see the following name suggestions: */ public function iShouldSeeTheFollowingNameSuggestions(TableNode $table) { Assertion::inArray($table->getRow(1)[0], $this->suggestions); Assertion::count($this->suggestions, 2); }
/** * @param int $successfulItems * @param int $failedItems * @param array $failedMessages * @param WorkflowMessage $originMessage * @return LogMessage */ public static function logItemsProcessingFailed($successfulItems, $failedItems, array $failedMessages, WorkflowMessage $originMessage) { Assertion::integer($successfulItems); Assertion::integer($failedItems); foreach ($failedMessages as $failedMsg) { Assertion::string($failedMsg); } Assertion::count($failedMessages, $failedItems, "Number of failed messages should be the same as number of failed items"); return new self($originMessage->target(), $originMessage->processTaskListPosition(), sprintf('Processing for %d of %d items failed', $failedItems, $successfulItems + $failedItems), self::ERROR_ITEMS_PROCESSING_FAILED, [self::MSG_PARAM_SUCCESSFUL_ITEMS => $successfulItems, self::MSG_PARAM_FAILED_ITEMS => $failedItems, self::MSG_PARAM_FAILED_MESSAGES => $failedMessages]); }
/** * @Then I should see the following names: * * @param TableNode $table */ public function validateNames(TableNode $table) { $list = array_column($table->getHash(), 'username'); Assertion::allInArray($this->filterResult, $list); Assertion::count($this->filterResult, count($list)); }