public async Task ChangePhoneAsync_ShouldBeOkObjectResult() { // Arrange var user = TestData.FileStorage.GetUsers().First(); TestMock.UserService.Setup(userService => userService.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync(user).Verifiable(); TestMock.UserService.Setup(userService => userService.UpdatePhoneNumberAsync(It.IsAny <User>(), It.IsAny <string>())) .ReturnsAsync(IdentityResult.Success) .Verifiable(); var controller = new PhoneController(TestMock.UserService.Object, TestMapper); var request = new ChangePhoneRequest { Number = user.PhoneNumber }; // Act var result = await controller.ChangePhoneAsync(request); // Assert result.Should().BeOfType <OkObjectResult>(); result.As <OkObjectResult>().Value.Should().BeEquivalentTo(TestMapper.Map <PhoneDto>(user)); TestMock.UserService.Verify(userService => userService.GetUserAsync(It.IsAny <ClaimsPrincipal>()), Times.Once); TestMock.UserService.Verify(userService => userService.UpdatePhoneNumberAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Once); }