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>())); }
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>())); }