public async Task TestNoFilter() { var queryAll = new GetAllPlantLogsQuery(); var result = await queryHandler.Handle(queryAll, CancellationToken.None); Assert.True(result.Success); Assert.Equal(5, result.Data.Count()); Assert.Contains(result.Data, x => x.Id.Equals(plantLog1.Id)); Assert.Contains(result.Data, x => x.Id.Equals(plantLog2.Id)); Assert.Contains(result.Data, x => x.Id.Equals(plantLog3.Id)); Assert.Contains(result.Data, x => x.Id.Equals(plantLog4.Id)); Assert.Contains(result.Data, x => x.Id.Equals(plantLog5.Id)); }
public async Task TestLogFilter() { var queryAllHello = new GetAllPlantLogsQuery { LogFilter = "Hello" }; var resultAllHello = await queryHandler.Handle(queryAllHello, CancellationToken.None); Assert.Equal(2, resultAllHello.Data.Count()); Assert.Contains(resultAllHello.Data, x => x.Id.Equals(plantLog1.Id)); Assert.Contains(resultAllHello.Data, x => x.Id.Equals(plantLog4.Id)); var queryAllTöster = new GetAllPlantLogsQuery { LogFilter = "Töster" }; var resultAllTöster = await queryHandler.Handle(queryAllTöster, CancellationToken.None); Assert.Single(resultAllTöster.Data); AssertDaoEqualDto(plantLog5, resultAllTöster.Data.First()); }
public async Task TestPlantFilter() { var queryPlant1 = new GetAllPlantLogsQuery { PlantId = plant1.Id }; var resultPlant1 = await queryHandler.Handle(queryPlant1, CancellationToken.None); Assert.Equal(2, resultPlant1.Data.Count()); Assert.Contains(resultPlant1.Data, x => x.Id.Equals(plantLog1.Id)); Assert.Contains(resultPlant1.Data, x => x.Id.Equals(plantLog2.Id)); var queryPlant2 = new GetAllPlantLogsQuery { PlantId = plant2.Id }; var resultPlant2 = await queryHandler.Handle(queryPlant2, CancellationToken.None); Assert.Equal(3, resultPlant2.Data.Count()); Assert.Contains(resultPlant2.Data, x => x.Id.Equals(plantLog3.Id)); Assert.Contains(resultPlant2.Data, x => x.Id.Equals(plantLog4.Id)); Assert.Contains(resultPlant2.Data, x => x.Id.Equals(plantLog5.Id)); }
public async Task TestLogTypeFilter() { var queryLogType1 = new GetAllPlantLogsQuery { PlantLogTypes = new[] { logType1.Id } }; var resultsLogType1 = await queryHandler.Handle(queryLogType1, CancellationToken.None); Assert.Equal(3, resultsLogType1.Data.Count()); Assert.Contains(resultsLogType1.Data, x => x.Id.Equals(plantLog1.Id)); Assert.Contains(resultsLogType1.Data, x => x.Id.Equals(plantLog2.Id)); Assert.Contains(resultsLogType1.Data, x => x.Id.Equals(plantLog5.Id)); var queryLogType1AndInexistent = new GetAllPlantLogsQuery { PlantLogTypes = new[] { logType1.Id, Guid.NewGuid() } }; var resultLogType1AndInexistent = await queryHandler.Handle(queryLogType1AndInexistent, CancellationToken.None); Assert.Equal(3, resultLogType1AndInexistent.Data.Count()); Assert.Contains(resultLogType1AndInexistent.Data, x => x.Id.Equals(plantLog1.Id)); Assert.Contains(resultLogType1AndInexistent.Data, x => x.Id.Equals(plantLog2.Id)); Assert.Contains(resultLogType1AndInexistent.Data, x => x.Id.Equals(plantLog5.Id)); }
public async Task TestDateTimeFilter() { var from2019Query = new GetAllPlantLogsQuery { FromDateTime = new DateTime(2019, 01, 01), ToDateTime = new DateTime(2019, 12, 31, 23, 59, 59, 999) }; var resultsFrom2019 = await queryHandler.Handle(from2019Query, CancellationToken.None); Assert.Single(resultsFrom2019.Data); var resultFrom2019Entry = resultsFrom2019.Data.First(); AssertDaoEqualDto(plantLog5, resultFrom2019Entry); var january2020Query = new GetAllPlantLogsQuery { FromDateTime = new DateTime(2020, 01, 01), ToDateTime = new DateTime(2020, 01, 31, 23, 59, 59, 999) }; var resultJanuary2020 = await queryHandler.Handle(january2020Query, CancellationToken.None); Assert.Equal(3, resultJanuary2020.Data.Count()); Assert.Contains(resultJanuary2020.Data, x => x.Id.Equals(plantLog1.Id)); Assert.Contains(resultJanuary2020.Data, x => x.Id.Equals(plantLog2.Id)); Assert.Contains(resultJanuary2020.Data, x => x.Id.Equals(plantLog3.Id)); }
public async Task <ActionResult <IList <PlantLog> > > GetAllPlantLogs(Guid plantId, [FromQuery] GetAllPlantLogsForPlantRequest forPlantRequest) { var query = new GetAllPlantLogsQuery { PlantId = plantId }; if (null != forPlantRequest.PlantLogTypes) { query.PlantLogTypes = forPlantRequest.PlantLogTypes; } if (null != forPlantRequest.FromDateTime) { query.FromDateTime = forPlantRequest.FromDateTime.Value; } if (null != forPlantRequest.ToDateTime) { query.ToDateTime = forPlantRequest.ToDateTime.Value; } if (!string.IsNullOrWhiteSpace(forPlantRequest.LogFilter)) { query.LogFilter = forPlantRequest.LogFilter; } var response = await mediator.Send(query); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } var responseData = response.Data.Select(PlantLog.FromCore); return(Ok(responseData)); }