public async Task <ActionResult <IList <PlantLogType> > > GetAll([FromQuery] GetAllPlantLogTypesRequest request) { var query = new GetAllPlantLogTypesQuery { NameFilter = request.NameFilter }; var response = await mediator.Send(query); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } var responseData = response.Data.Select(PlantLogType.FromCore); return(Ok(responseData)); }
public async Task QueryAllPlantLogType() { await using var context = DatabaseHelper.CreateInMemoryDatabaseContext(nameof(QueryAllPlantLogType)); var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var id3 = Guid.NewGuid(); var id4 = Guid.NewGuid(); var id5 = Guid.NewGuid(); var name1 = "Hello"; var name2 = "World"; var name3 = "ab"; var name4 = "world Hello abcdefgh"; var name5 = "Töster"; var plantLogType1 = new PlantLogType { Id = id1, Name = name1 }; var plantLogType2 = new PlantLogType { Id = id2, Name = name2 }; var plantLogType3 = new PlantLogType { Id = id3, Name = name3 }; var plantLogType4 = new PlantLogType { Id = id4, Name = name4 }; var plantLogType5 = new PlantLogType { Id = id5, Name = name5 }; await context.PlantLogTypes.AddRangeAsync(plantLogType1, plantLogType2, plantLogType3, plantLogType4, plantLogType5); await context.SaveChangesAsync(); var queryAll = new GetAllPlantLogTypesQuery(); var queryHandler = new GetAllPlantLogTypesQueryHandler(context); var result = await queryHandler.Handle(queryAll, CancellationToken.None); Assert.True(result.Success); Assert.Equal(5, result.Data.Count()); Assert.Contains(result.Data, dto => dto.Id.Equals(id1) && dto.Name.Equals(name1)); Assert.Contains(result.Data, dto => dto.Id.Equals(id2) && dto.Name.Equals(name2)); Assert.Contains(result.Data, dto => dto.Id.Equals(id3) && dto.Name.Equals(name3)); Assert.Contains(result.Data, dto => dto.Id.Equals(id4) && dto.Name.Equals(name4)); Assert.Contains(result.Data, dto => dto.Id.Equals(id5) && dto.Name.Equals(name5)); var queryAllHello = new GetAllPlantLogTypesQuery { NameFilter = "Hello" }; var resultAllHello = await queryHandler.Handle(queryAllHello, CancellationToken.None); Assert.True(resultAllHello.Success); Assert.Equal(2, resultAllHello.Data.Count()); Assert.Contains(resultAllHello.Data, dto => dto.Id.Equals(id1) && dto.Name.Equals(name1)); Assert.Contains(resultAllHello.Data, dto => dto.Id.Equals(id4) && dto.Name.Equals(name4)); var queryAllWorld = new GetAllPlantLogTypesQuery { NameFilter = "World" }; var resultAllWorld = await queryHandler.Handle(queryAllWorld, CancellationToken.None); Assert.True(resultAllWorld.Success); Assert.Single(resultAllWorld.Data); Assert.Contains(resultAllWorld.Data, dto => dto.Id.Equals(id2) && dto.Name.Equals(name2)); var queryAllHelloLc = new GetAllPlantLogTypesQuery { NameFilter = "hello" }; var resultAllHelloLc = await queryHandler.Handle(queryAllHelloLc, CancellationToken.None); Assert.True(resultAllHelloLc.Success); Assert.Empty(resultAllHelloLc.Data); var querySpecialChar = new GetAllPlantLogTypesQuery { NameFilter = "ö" }; var resultSpecialChar = await queryHandler.Handle(querySpecialChar, CancellationToken.None); Assert.True(resultSpecialChar.Success); Assert.Single(resultSpecialChar.Data); Assert.Contains(resultSpecialChar.Data, dto => dto.Id.Equals(id5) && dto.Name.Equals(name5)); }