Sto cercando di prendere in giro il metodo CreateAsync
di UserStore per disporre di un archivio utente in memoria.Come simulare l'identità di Asp.net Il metodo CreateAsync di UserManager
public void Can_Create_User()
{
//Arrange
var dummyUser = new ApplicationUser() { UserName = "PinkWarrior", Email = "[email protected]" };
var mockStore = new Mock<IUserStore<ApplicationUser>>();
var userManager = new UserManager<ApplicationUser>(mockStore.Object);
mockStore.Setup(x => x.CreateAsync(dummyUser))
.Returns(Task.FromResult(IdentityResult.Success));
//Act
Task<IdentityResult> tt = (Task<IdentityResult>)mockStore.Object.CreateAsync(dummyUser);
var user = userManager.FindByName("PinkWarrior");
//Assert
Assert.AreEqual("PinkWarrior", user.UserName);
}
Il user
sopra è sempre nullo, perché non sono mai di inserirlo. Quindi il problema che ho è come posso rendere userManager, che non è un mock restituire un utente dal mio negozio finto?
This answer era un po 'simile ma non risponde alla mia domanda qui.
Qualsiasi aiuto molto apprezzato
Grazie, il tuo codice ha funzionato e il test passa ora, quindi ottieni i punti di merito :) yayy. Capisco che testare UserManager sia inutile, ma inizialmente avevo intenzione di deriderlo senza riflettere troppo. –