Exemple #1
0
        public async Task GetListReturnsOkResultWhenSuccessAnswerAsync()
        {
            // Arrange
            var appEntities = new List <Project>();
            var apiEntities = new List <ApiProject>();

            appEntities.AddRange(Enumerable.Range(0, 5)
                                 .Select(x => new Project()
            {
                Id = x.ToString()
            }));
            var query = new ApiProjectListQuery();

            apiEntities.AddRange(Enumerable.Range(0, 5)
                                 .Select(x => new ApiProject()
            {
                Id = x.ToString()
            }));
            var expectedAnswer = new ApiList <ApiProject>()
            {
                TotalCount = apiEntities.Count
            };

            expectedAnswer.Entities.AddRange(apiEntities);
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ProjectListQuery>(),
                                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(
                new ListResponse <Project>(appEntities, appEntities.Count))
            .Verifiable("Query was not sent.");
            var controller = BuildController(mediator);

            // Act
            var answer = await controller.Get(query);

            // Assert
            Assert.IsType <OkObjectResult>(answer);
            Assert.Equal(expectedAnswer.Entities.Select(x => x.Id),
                         (((OkObjectResult)answer).Value as ApiList <ApiProject>)
                         .Entities.Select(x => x.Id));
            mediator.Verify(x => x.Send(It.IsAny <ProjectListQuery>(),
                                        It.IsAny <CancellationToken>()));
        }
Exemple #2
0
        public async Task GetListReturnsBadResultWhenNotSuccessAnswerAsync()
        {
            // Arrange
            var query    = new ApiProjectListQuery();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.Send(It.IsAny <ProjectListQuery>(),
                                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(
                new ListResponse <Project>(new string[] { "Error answer" }))
            .Verifiable("Query was not sent.");
            var controller = BuildController(mediator);

            // Act
            var answer = await controller.Get(query);

            // Assert
            Assert.IsType <BadRequestResult>(answer);
            mediator.Verify(x => x.Send(It.IsAny <ProjectListQuery>(),
                                        It.IsAny <CancellationToken>()));
        }