public Task <ItemsResult <WarehouseInfo> > Handle(GetAllWarehouses request, CancellationToken cancellationToken) { var entities = _dbContext.Warehouses .Include(x => x.Address) .ToList(); var items = _mapper.Map <List <WarehouseInfo> >(entities); var result = new ItemsResult <WarehouseInfo>() { Items = items }; return(Task.FromResult(result)); }
public async Task GetAllWarehouses_Should_ReturnAllWarehouses_When_DbTableNotEmpty() { #region Arrange var connection = DbConnectionFactory.CreateTransient(); var dbContext = new WarehouseDbContext(connection); var mapper = MapperFactory.CreateMapper(); var query = new GetAllWarehouses(); var handler = new GetAllWarehousesHandler(dbContext, mapper); //insert some objects to the database dbContext.Warehouses.Add(new DataAccess.Entities.Warehouse() { Address = new DataAccess.Entities.Address() { City = "Warsaw", Country = "Poland", Id = 1, PostalCode = "12345", Street = "Test 1/2" }, AddressId = 1, HazardousProducts = true, Id = 1, Name = "Warehouse 1", Size = 200 }); dbContext.Warehouses.Add(new DataAccess.Entities.Warehouse() { Address = new DataAccess.Entities.Address() { City = "London", Country = "UK", Id = 2, PostalCode = "23456", Street = "Test 2/3" }, AddressId = 2, HazardousProducts = false, Id = 2, Name = "Warehouse 2", Size = 150 }); dbContext.Warehouses.Add(new DataAccess.Entities.Warehouse() { Address = new DataAccess.Entities.Address() { City = "Oslo", Country = "Norway", Id = 3, PostalCode = "34567", Street = "Test 3/4" }, AddressId = 3, HazardousProducts = true, Id = 3, Name = "Warehouse 3", Size = 300 }); dbContext.SaveChanges(); #endregion #region Act ItemsResult <WarehouseInfo> result = await handler.Handle(query, CancellationToken.None); #endregion #region Assert result.ShouldNotBeNull(); result.Items.ShouldNotBeEmpty(); result.Items.Count.ShouldBe(3); #endregion }
public async Task <ItemsResult <WarehouseInfo> > GetAllWarehouses() { var query = new GetAllWarehouses(); return(await _mediator.Send(query)); }