Cześć,
chciałbym wykonać testowanie rejestracji i logowania w Symfony.
Symfony -> w katalogu tests/Controller/ utworzyłem plik SecurityControllerTest.php (test logowania),
gdzie chciałbym uzupełnic formularz danymi i zalogować użytkownika, następnie sprawdzić, czy jest zalogowany.
Napisałem taki kod, ale ciągle sypie errorami (coś tu rzeźbię)?
<?php
declare(strict_types=1);
namespace App\Tests\Controller;
use App\Repository\UserRepository;
use App\Tests\Integration\AbstractIntegrationWebTestCase;
class SecurityControllerTest extends AbstractIntegrationWebTestCase
{
public const TEST_USER_LOGIN = 'test@domain.com';
public const TEST_USER_PASSWORD = 'test123';
public function testLogin(): void
{
$client = static::createClient(); $crawler = $client->request('GET', '/login');
// Uzupelnij formularz danymi i zaloguj
$dataLogin = [
'email' => self::TEST_USER_LOGIN,
'password' => self::TEST_USER_PASSWORD,
//'submit' => 'Login',
];
//$formLogin = $crawler->filter('form')->form();
$formLogin = $crawler->selectButton('Login')->form();
//$formLogin['email']->setValue(self::TEST_USER_LOGIN);
//$formLogin['password']->setValue(self::TEST_USER_PASSWORD);
//$formLogin['submit']->setValue('Login');
// OFF $formLogin['_csrf_token"'] = 'It is generated automatically!';
//$client->submit($formLogin, $dataLogin);
//dd($client->getRequest()->request);
// Sprawdz, czy zalogowany -> sprawdza tylko czy email jest w bazie ? $repositoryUser = static::getContainer()->get(UserRepository
::class); $testUser = $repositoryUser->findOneBy(['email' => self::TEST_USER_LOGIN]);
$client->loginUser($testUser);
//dd($testUser);
$this->assertResponseIsSuccessful();
}
}
Mam prośbę o pomoc w wykonaniu testowania.