I keep getting the following error:
There was 1 error: 1) Caremonk\MainSiteBundle\Tests\Controller\SecurityControllerFunctionalTest::testIndex InvalidArgumentException: The current node list is empty.
But when I go to localhost / login, my form is populated with the right content. A line that says ...
$form = $crawler->selectButton('login')->form();
causes an error. What is wrong with my test?
Functional Test:
<?php namespace Caremonk\MainSiteBundle\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class SecurityControllerFunctionalTest extends WebTestCase { public function testIndex() { $client = static::createClient(); $crawler = $client->request('GET', '/login'); $form = $crawler->selectButton('login')->form(); $form['username'] = 'testActive'; $form['password'] = 'passwordActive'; } }
View Twig:
{# src/Acme/SecurityBundle/Resources/views/Security/login.html.twig #} {% if error %} <div>{{ error.message }}</div> {% endif %} <form action="{{ path('caremonk_mainsite_login_check') }}" method="post"> <label for="username">Username:</label> <input type="text" id="username" name="_username" value="{{ last_username }}" /> <label for="password">Password:</label> <input type="password" id="password" name="_password" /> {# If you want to control the URL the user is redirected to on success (more details below) <input type="hidden" name="_target_path" value="/account" /> #} <button type="submit">login</button> </form>
source share