/** * @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())); }