Пример #1
0
        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));
        }
Пример #2
0
        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());
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }
Пример #6
0
        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));
        }