Beispiel #1
0
        public async Task ResetPasswordAsync_WhenUserNotFound_ShouldBeOkResult()
        {
            // Arrange
            TestMock.UserService.Setup(userManager => userManager.FindByIdAsync(It.IsAny <string>())).Verifiable();

            TestMock.UserService.Setup(userManager => userManager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(
                IdentityResult.Failed(
                    new IdentityError
            {
                Code        = "code",
                Description = "description"
            }))
            .Verifiable();

            var controller = new PasswordController(TestMock.UserService.Object, TestMock.ServiceBusPublisher.Object);

            // Act
            var result = await controller.ResetPasswordAsync(
                new ResetPasswordRequest
            {
                UserId   = new UserId(),
                Password = "******",
                Code     = "Code"
            });

            // Assert
            result.Should().BeOfType <OkResult>();

            TestMock.UserService.Verify(userManager => userManager.FindByIdAsync(It.IsAny <string>()), Times.Once);

            TestMock.UserService.Verify(userManager => userManager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
Beispiel #2
0
        public async Task ResetPasswordAsync_ShouldBeOkResult()
        {
            // Arrange
            var user = new User
            {
                Id = new UserId()
            };

            TestMock.UserService.Setup(userManager => userManager.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(user).Verifiable();

            TestMock.UserService.Setup(userManager => userManager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(IdentityResult.Success)
            .Verifiable();

            var controller = new PasswordController(TestMock.UserService.Object, TestMock.ServiceBusPublisher.Object);

            // Act
            var result = await controller.ResetPasswordAsync(
                new ResetPasswordRequest
            {
                UserId   = new UserId(),
                Password = "******",
                Code     = "Code"
            });

            // Assert
            result.Should().BeOfType <OkResult>();

            TestMock.UserService.Verify(userManager => userManager.FindByIdAsync(It.IsAny <string>()), Times.Once);

            TestMock.UserService.Verify(userManager => userManager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once);
        }