Пример #1
0
        public async Task ConfirmEmailAsync_ShouldBeOkResult()
        {
            // Arrange
            var user = new User
            {
                Id             = Guid.NewGuid(),
                Email          = "*****@*****.**",
                EmailConfirmed = true
            };

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

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

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

            // Act
            var result = await controller.ConfirmEmailAsync(user.Id.ToString(), "code");

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

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

            TestMock.UserService.Verify(userManager => userManager.ConfirmEmailAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Once);
        }
Пример #2
0
        public void ConfirmEmailAsync_ShouldThrowInvalidOperationException()
        {
            // Arrange
            var user = new User
            {
                Id = Guid.NewGuid()
            };

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

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

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

            // Act
            var result = new Func <Task>(async() => await controller.ConfirmEmailAsync(Guid.NewGuid().ToString(), "code"));

            // Assert
            result.Should().Throw <InvalidOperationException>();

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

            TestMock.UserService.Verify(userManager => userManager.ConfirmEmailAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Once);
        }
Пример #3
0
        public async Task ConfirmEmailAsync_ShouldBeNotFoundObjectResult()
        {
            // Arrange
            TestMock.UserService.Setup(userManager => userManager.FindByIdAsync(It.IsAny <string>())).Verifiable();

            TestMock.UserService.Setup(userManager => userManager.ConfirmEmailAsync(It.IsAny <User>(), It.IsAny <string>())).Verifiable();

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

            // Act
            var result = await controller.ConfirmEmailAsync(Guid.NewGuid().ToString(), "code");

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

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

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