Autenticar un usuario con hash y helper

tengo el siguiente código para autenticar a un usuario.

[HttpPost] [ValidateAntiForgeryToken]   public virtual async System.Threading.Tasks.Task<ActionResult> Index1(LoginViewModel model, string returnUrl)         {             string sql = @"SELECT COUNT(*)                       FROM USURAIO                       WHERE USUARIO_ACCESO = @usuario AND PASSWORD = @password";       using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))             {                 conn.Open();                  SqlCommand command = new SqlCommand(sql, conn);                 command.Parameters.AddWithValue("@nombre", model.Username);                  string hash = Helper.EncodePassword(string.Concat(model.Username, model.Password));                 command.Parameters.AddWithValue("@password", hash);                  int count = Convert.ToInt32(command.ExecuteScalar());                  if (count == 0)                     return Json(new { success = false, message = false }, JsonRequestBehavior.AllowGet);                 else                    return Json(new { success = true, message = true, url = Url.Action("Index", "Home") }, JsonRequestBehavior.AllowGet);              }         }

pero me sale un error en el helper dice que no existe en el contexto actual, tengo entendido que con un using debería funcionar, pero no se cual es ni como solucionarlo. Les agradezco si me pueden ayudar Este es el error que les comento.

Autenticar un usuario con hash y helper

tengo el siguiente código para autenticar a un usuario.

[HttpPost] [ValidateAntiForgeryToken]   public virtual async System.Threading.Tasks.Task<ActionResult> Index1(LoginViewModel model, string returnUrl)         {             string sql = @"SELECT COUNT(*)                       FROM USURAIO                       WHERE USUARIO_ACCESO = @usuario AND PASSWORD = @password";       using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))             {                 conn.Open();                  SqlCommand command = new SqlCommand(sql, conn);                 command.Parameters.AddWithValue("@nombre", model.Username);                  string hash = Helper.EncodePassword(string.Concat(model.Username, model.Password));                 command.Parameters.AddWithValue("@password", hash);                  int count = Convert.ToInt32(command.ExecuteScalar());                  if (count == 0)                     return Json(new { success = false, message = false }, JsonRequestBehavior.AllowGet);                 else                    return Json(new { success = true, message = true, url = Url.Action("Index", "Home") }, JsonRequestBehavior.AllowGet);              }         }

pero me sale un error en el helper dice que no existe en el contexto actual, tengo entendido que con un using debería funcionar, pero no se cual es ni como solucionarlo. Les agradezco si me pueden ayudar Este es el error que les comento.

Autenticar Usuario con Unit Test

tenia tiempo sin hacer alguna pregunta, pero me he visto en la necesidad ya que no consigo algo en la web (quizás estoy haciendo mal la búsqueda).

Bueno le comento de una vez, estoy haciendo pruebas unitarias en Laravel 5.7 y específicamente cuando hago el test para autenticar un usuario, la prueba nunca pasa, aquí mi código:

/** @test */ public function autenticandoUnUsuario() {      $  user = User::where('email', 'test@test.com')->first();     $  this->get('/login')->assertSee('Log in');     $  credentials = [         "email" => $  user->email,         "password" => $  user->password     ];      $  response = $  this->post('/login', $  credentials);     $  response->assertRedirect('/bienvenido');     $  this->assertCredentials($  credentials); } 

El error que me da PHPUnit es este:

F 1 / 1 (100%)

Time: 1.47 seconds, Memory: 16.00MB

There was 1 failure:

1) Tests\Unit\LoginTest::autenticandoUnUsuario Response status code [419] is not a redirect status code. Failed asserting that false is true.

/home/vagrant/Projects/mynewproject/vendor/laravel/framework/src/Illuminate/Foundation/T /home/vagrant/Projects/mynewproject/tests/Unit/LoginTest.php:40

FAILURES! Tests: 1, Assertions: 2, Failures: 1.

Las credenciales son la correctas, debería pasar la prueba. Cuando comento la linea 45 que seria esta:

$  response->assertRedirect('/bienvenido'); 

El error que muestra PHPUnit es otro:

F 1 / 1 (100%)

Time: 2.16 seconds, Memory: 16.00MB

There was 1 failure:

1) Tests\Unit\LoginTest::autenticandoUnUsuario The given credentials are invalid. Failed asserting that false is true.

/home/vagrant/Projects/mynewproject/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithAuthentication.php:114 /home/vagrant/Projects/mynewproject/tests/Unit/LoginTest.php:41

FAILURES! Tests: 1, Assertions: 2, Failures: 1.

Intenta validar pero dice que las credenciales no son validas cuando en realidad si lo son, inicio sesion y todo funciona ok.

Espero puedan iluminarme un poco ya que de verdad no se por no funciona.

Saludos

P.D.: Laravel 5.7 tiene 2 carpetas en /tests que son /Feature y /Unit mis pruebas se están guardando en Unit