public async Task Should_Throw_NotFoundException_In_Update_User_Profile_When_User_Not_Found() { //Arrange Mock <IUserManagerService> userManagerService = new Mock <IUserManagerService>(); Mock <IIdentityDataContext> identityDataContext = new Mock <IIdentityDataContext>(); var message = new UpdateUserInfoCommand( id: 1, firstName: "Test2", lastName: "Test2" ); var applicationUser = new ApplicationUser() { Email = String.Empty, UserName = String.Empty, FirstName = "Test", LastName = "Test", Id = 1, PasswordHash = String.Empty }; userManagerService.Setup(r => r.GetUserById(It.Is <int>(id => id == message.Id))) .Returns(Task.FromResult(applicationUser)); userManagerService.Setup(r => r.UpdateProfile(It.IsAny <int>(), It.IsAny <String>(), It.IsAny <String>())) .Throws <NotFoundException>(); var sut = new UpdateUserInfoCommandHandler(identityDataContext.Object, userManagerService.Object); //Act/Assert await Assert.ThrowsAsync <NotFoundException>(async() => { await sut.Handle(message, default); }); }
public async Task Should_Update_User_Profile() { //Arrange Mock <IUserManagerService> userManagerService = new Mock <IUserManagerService>(); Mock <IIdentityDataContext> identityDataContext = new Mock <IIdentityDataContext>(); var message = new UpdateUserInfoCommand( id: 1, firstName: "Test", lastName: "Test" ); var applicationUser = new ApplicationUser() { Email = String.Empty, UserName = String.Empty, FirstName = String.Empty, LastName = String.Empty, Id = 1, PasswordHash = String.Empty }; userManagerService.Setup(r => r.GetUserById(It.Is <int>(id => id == message.Id))) .Returns(Task.FromResult(applicationUser)); userManagerService.Setup(r => r.UpdateProfile(It.IsAny <int>(), It.IsAny <String>(), It.IsAny <String>())) .Returns((int id, string firstName, string lastName) => { applicationUser.FirstName = firstName; applicationUser.LastName = lastName; return(Task.FromResult(applicationUser)); }); var sut = new UpdateUserInfoCommandHandler(identityDataContext.Object, userManagerService.Object); //Act var result = await sut.Handle(message, default); //Assert result.ShouldNotBeNull(); result.ShouldBeOfType <Unit>(); applicationUser.FirstName.ShouldBe(message.FirstName); applicationUser.LastName.ShouldBe(message.LastName); }