Jestem nowy w laravel. Próbuję przetestować, że uwierzytelnianie działa dla mojej witryny i chcę przetestować proces uwierzytelniania w przypadku testowym. Tworzę bazę danych sqlite w pamięci, tworzę nowego użytkownika i używam metody wymownej do przechowywania jej w bazie danych. Mam skonfigurować połączenie filtra uwierzytelniania, który sprawdza, czy nazwa użytkownika w bazie danych i zależności, że albo pozwala użytkownikowi zalogować lub zwraca „nieprawidłowych poświadczeń”testowanie filtrów w laravel 4
// mój plik UserTest.php:
class UserTest extends TestCase {
public function testUsernameIsNotRequired()
{
// Create a new User
$user = new User;
$user->username = "[email protected]";
$user->password = "123456";
//$user->password_confirmation = "password";
// User should save
$this->assertTrue($user->save());
// Save the errors
$password = $user->getAuthPassword();
// There should be 0 error
$this->assertEquals("123456",$password);
$this->seed();
$this->be($user);
$this->assertTrue(Redirect::route('authFilter'));
}
}
tylko po to, aby poinformować, że db w bazie danych zostanie utracony po zakończeniu testu, ponieważ wszystkie połączenia z nim są tracone, więc chcę sprawdzić, czy użytkownik, który zapisałem w swoim db, jest poprawnie wstawiony, a następnie chcę sprawdzić, czy Mogę zalogować się na mojej stronie internetowej, korzystając z informacji tego nowego użytkownika.
// mój plik filters.php:
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::guest('login');
});
Route::filter('auth.basic', function()
{
return Auth::basic('username');
});
Route::filter('guest', function()
{
if (Auth::check()) return Redirect::to('/');
});
Route::filter('csrf', function()
{
if (Session::token() != Input::get('_token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
Próbowałem podłączyć filtr na trasie tak, że mogę skierować do trasy podczas mojego testu i która wywołuje filtr auth.basic więc można przetestować filtr, wiem, że robię wiele rzeczy źle więc prosimy, aby skorygować ewentualne błędy, które się spotkałem
mój plik routes.php:>
Route::get('/', function()
{
return View::make('hello');
});
Route::get('/authtest', array('as'=>'/authtest','before' => 'auth.basic', function()
{
return View::make('hello');
}));
Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function()
{
Route::resource('url', 'UrlController');
});
Route::get('authFilter', array('as'=>'authFilter','before' => 'auth.basic', function()
{
return Auth::basic('username');
}));
mam też au Kontroler ri która ma wszystkie strony na mojej stronie
this jest to, co następnie utworzyć mój uri kontroler do momentu
muszę przypadek testowy, który tworzy użytkowników zapisuje je do bazy danych w pamięci, a następnie uwierzytelnia się, wykorzystując informacje o użytkownikach. Jeśli ktoś zna testy laravel dla filtrów, proszę dać mi znać, że sprawdziłem dokumentację do testowania filtrów, ale myślę, że nie jest dobrze udokumentowana.
dziękuję
jakie błędy dostałeś? –
F Czas: 0 sekund, Pamięć: 13.00Mb Było 1 awaria: 1) UserTest :: testUsernameIsNotRequired Failed twierdząc, że Illuminate \ http \ RedirectResponse Object ( 'żądanie' => Illuminate \ http \ Obiekt żądania ( ........ AWARIE! Testy: 1, twierdzenia: 3, błędy: 1. – tanzeelrana