public async Task Create_New_User() { UserManagerMock.SetupSequence(m => m.FindByEmailAsync(It.IsAny <string>())) .ReturnsAsync(value: null).ReturnsAsync(new IdentityUser()); UserManagerMock.Setup(m => m.CreateAsync(It.IsAny <IdentityUser>(), It.IsAny <string>())) .ReturnsAsync(IdentityResult.Success); UnitOfWorkMock.Setup(um => um.Customers.AddItem(It.IsAny <Customer>())).Verifiable(); UnitOfWorkMock.Setup(um => um.SaveChanges()).Verifiable(); var target = new UserController(UserManagerMock.Object, null, null, null, UnitOfWorkMock.Object, null); var resultAction = await target.Create(new UserInfoViewModel() { Customer = new Customer(), Email = "*****@*****.**", Password = "******", IsAdmin = false }) as RedirectToActionResult; Assert.NotNull(resultAction); UnitOfWorkMock.Verify(e => e.SaveChanges()); UnitOfWorkMock.Verify(e => e.Customers.AddItem(It.IsAny <Customer>())); }