From b45564a2912b42904e24136dd1589c3dd03b82dd Mon Sep 17 00:00:00 2001 From: Alexandre SPIESER Date: Sun, 17 May 2020 17:36:26 +0100 Subject: [PATCH] added test to validate that updates works --- .../UserStoreTest.cs | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/AspNetCore.Identity.MongoDbCore.IntegrationTests/AspNetCore.Identity.MongoDbCore.Test/UserStoreTest.cs b/test/AspNetCore.Identity.MongoDbCore.IntegrationTests/AspNetCore.Identity.MongoDbCore.Test/UserStoreTest.cs index 5f43b6a..6d73b95 100644 --- a/test/AspNetCore.Identity.MongoDbCore.IntegrationTests/AspNetCore.Identity.MongoDbCore.Test/UserStoreTest.cs +++ b/test/AspNetCore.Identity.MongoDbCore.IntegrationTests/AspNetCore.Identity.MongoDbCore.Test/UserStoreTest.cs @@ -303,6 +303,34 @@ namespace AspNetCore.Identity.MongoDbCore.Test IdentityResultAssert.IsFailure(await manager2.DeleteAsync(role2), new IdentityErrorDescriber().ConcurrencyFailure()); } + [Fact] + public async Task CorrectlyUpdatesUser() + { + // Arrange + const string originalEmail = "original@email.com"; + const string newEmail = "new@email.com"; + var user = CreateTestUser(); + user.Email = originalEmail; + var manager = CreateManager(); + IdentityResultAssert.IsSuccess(await manager.CreateAsync(user)); + var userToUpdate = await manager.FindByIdAsync(user.Id); + Assert.NotNull(user); + Assert.Equal(originalEmail, userToUpdate.Email); + + // Act + // change the email to the new value + userToUpdate.Email = newEmail; + userToUpdate.UserName = newEmail; + var updateResult = await manager.UpdateAsync(userToUpdate); + Assert.True(updateResult.Succeeded); + + // Assert + var updatedUser = await manager.FindByIdAsync(user.Id); + Assert.NotNull(updatedUser); + Assert.Equal(newEmail, updatedUser.Email); + Assert.Equal(newEmail, updatedUser.UserName); + } + protected override MongoDbIdentityUser CreateTestUser(string namePrefix = "", string email = "", string phoneNumber = "", bool lockoutEnabled = false, DateTimeOffset? lockoutEnd = default(DateTimeOffset?), bool useNamePrefixAsUserName = false) {