FindByEmailAsync renvoie null alors que l’utilisateur existe bien en base de test–asp.net core et Identity
By: Evan Boissonnot
A partager !
Nous sommes toujours dans notre phase de test d’intégration. Après créer la base de données de test (une base en mémoire), nous avons souhaité valider l’appel de connexion avec login et mot de passe.
Or, nous avons rencontré un roc : malgré notre utilisateur insérer en base manuellement : le test ne passait jamais !
Rappel du contexte
Nous en sommes à valider notre connexion avec Login et Mot de passe. L’idée ici, est de valider de bout en bout l’appel (test e2e).
Voici le code mise en place :
Et du côté de notre DataLayer :
Et malgré tout ça, notre retour est toujours NotSucceeded. Pourquoi ?
La faute à UserManager
Testons d’abord l’appel Entities suivant :
Devinez quoi ? On a bien un utilisateur de retourner dans testUser ! Piste intéressante, n’est ce pas ?
Puis, continuons avec un test depuis le UserManager, et non le SignInManager :
Et là, comme par “magie”, nous n’avons aucun utilisateur de retourner dans dataUser. Comment se fait-ce ? (parce que Cul répondrez vous ! )
Il se passe quelques chose dans le UserManager, assurément !