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 { $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?
$testUser = $repositoryUser->findOneBy(['email' => self::TEST_USER_LOGIN]); $client->loginUser($testUser); //dd($testUser); $this->assertResponseIsSuccessful(); } }
Mam prośbę o pomoc w wykonaniu testowania.