filtros de prueba en laravel 4

Soy nuevo en laravel. Estoy intentando probar que la autenticación funciona para mi sitio web y quiero probar el proceso de autenticación en un caso de prueba. Creo una base de datos sqlite en memoria, creo un nuevo usuario y uso ->save() método ->save() de eloquent para almacenarlo en la base de datos. Configuré un filtro de autenticación que busca el nombre de usuario en la base de datos y, dependiendo de eso, permite que el usuario inicie sesión o devuelve “credenciales no válidas”

// mi archivo UserTest.php:

 class UserTest extends TestCase { public function testUsernameIsNotRequired() { // Create a new User $user = new User; $user->username = "phil@ipbrown.com"; $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')); } } 

solo para informarle que el db en memoria se pierde una vez que se completa la prueba ya que se pierden todas las conexiones, así que quiero verificar que el usuario que guardé en mi db esté insertado correctamente y segundo quiero verificar si Puedo iniciar sesión en mi sitio web utilizando la información de este nuevo usuario.

// mi archivo 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; } }); 

Estaba intentando adjuntar un filtro a una ruta para poder redireccionar a la ruta durante mi prueba y que llama al filtro auth.basic para poder probar mi filtro, sé que estoy haciendo muchas cosas mal, así que no dude en corregir cualquier error que encuentre

mi archivo 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'); })); 

También tengo un controlador uri que tiene todas las páginas de mi sitio web

esto es lo que seguí para crear mi controlador uri por el momento

Necesito un caso de prueba que cree que un usuario lo almacena en la base de datos en memoria y luego se autentica usando esa información de los usuarios. Si alguien conoce las pruebas de Laravel para filtros, avíseme que busqué la documentación para probar los filtros, pero supongo que no está bien documentada.

gracias

Los filtros están deshabilitados en las pruebas en Laravel 4.

Puede usar Route::enableFilters() en su prueba para forzar los filtros.

Puede leer las diversas discusiones sobre por qué / por qué no probar los filtros;

Puede mantener la mayor parte de esto en la prueba unitaria.

 public function testMyFilter() { // Set up route with filter. Route::get('testFilter', ['before' => 'myfilter', function() { return 'Hello World'; }]); // Enable filters. Route::enableFilters(); // Be a user. $this->be($this->user); // Make a request that will use the filter. $response = $this->client->request('GET', 'testFilter'); // Check the response. $this->assertResponseOk(); }