/** * Test that only a invited user have access to the registration form * User should follow link in her Invitation Email, who contain a security token for registration * * @dataProvider userProvider * @param $invitationEmail * @param $expectedStatusCode * @param $message */ public function testRegistrationAccessForm($invitationEmail, $expectedStatusCode, $message) { $client = static::createClient(); $em = $client->getContainer()->get('doctrine')->getManager(); /** @var Invitation $invitation */ $invitation = $em->getRepository('GPCoreBundle:Invitation')->findOneByEmail($invitationEmail); // They are no invitation found for '*****@*****.**' if (!$invitation) { // We set a fake token to test invalid access $invitation = new Invitation(); $invitation->setConfirmationToken('toto'); } $url = $this->generateRoute('register', array('token' => $invitation->getConfirmationToken())); $client->request('GET', $url); $this->assertStatusCode($expectedStatusCode, $client, $message); }