예제 #1
0
        public void GetAllEmail()
        {
            var result = _emailController.Get();

            var okResult = result as Microsoft.AspNetCore.Mvc.OkObjectResult;

            Assert.AreEqual(okResult.StatusCode, 200);
        }
        public async Task Index_ReturnsAJsonResult_WithAListOfEmails()
        {
            //Arange
            var mediator = new Mock <IMediator>();

            var emailController = new EmailController(mediator.Object);

            var result = await emailController.Get();

            // Assert
            var okResult = Assert.IsType <OkObjectResult>(result);

            Assert.Equal(200, okResult.StatusCode);
        }
예제 #3
0
        public async void Get_Not_Exists()
        {
            EmailControllerMockFacade mock = new EmailControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiEmailServerResponseModel>(null));
            EmailController controller = new EmailController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(int));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
예제 #4
0
        public void GetItems_ReturnsSingleItem()
        {
            var builder = new DbContextOptionsBuilder <EmailDbContext>();

            builder.UseInMemoryDatabase <EmailDbContext>(Guid.NewGuid().ToString());
            var options = builder.Options;

            using (var context = new EmailDbContext(options))
            {
                var orders = new List <Email>
                {
                    new Email {
                        Id = 33, Subject = "Email Subject"
                    },
                };

                context.Emails.AddRange(orders);
                context.SaveChanges();
            }

            using (var context = new EmailDbContext(options))
            {
                var loggerMock   = new Mock <ILogger <EmailController> >();
                var config       = new MapperConfiguration(cfg => cfg.AddProfile <AutoMapping>());
                var mapper       = config.CreateMapper();
                var settingsMock = new Mock <IOptions <AppSettings> >();
                var controller   = new EmailController(loggerMock.Object, mapper, context, settingsMock.Object);
                var result       = controller.Get();

                var okResult = result as OkObjectResult;

                // assert
                Assert.NotNull(okResult);
                Assert.True(okResult is OkObjectResult);
                Assert.IsType <List <EmailDTO> >(okResult.Value);

                Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode);
                var collection = okResult.Value as List <EmailDTO>;
                Assert.Single(collection);
            }
        }
예제 #5
0
        public async Task WhenGetEmails_ThenGetSuccessful()
        {
            //?Given
            var emails   = new List <Email>();
            var expected = new List <EmailModel>();

            _mockManager.Setup(x => x.Get())
            .ReturnsAsync(emails)
            .Verifiable();

            _mockMapper.Setup(x => x.Map <IEnumerable <EmailModel> >(emails))
            .Returns(expected)
            .Verifiable();

            //?When
            var actual = await _emailController.Get();

            //?Then
            Assert.IsAssignableFrom <OkObjectResult>(actual.Result);
            Assert.Equal(((OkObjectResult)actual.Result).Value, expected);

            _mockManager.Verify();
            _mockMapper.Verify();
        }