public void HandleAsync_Return_Task_Of_IEnumerable_Of_Room() { //Arrange var type = typeof(Task <IEnumerable <Transfer.Objects.Room> >); var handler = Handler(); var providerMock = new Mock <IQueryDispatcher>(); var query = new RoomsByAccommodationIdAndLanguageIdQuery(providerMock.Object); //Act var result = handler.HandleAsync(query); //Assert Assert.IsInstanceOf(type, result); }
protected IQueryable <Transfer.Objects.Room> ProjectionToRooms(IQueryable <Room> typeOfRooms, RoomsByAccommodationIdAndLanguageIdQuery byAccommodationIdAndLanguageIdQuery) { var localizedTypesOfRooms = Source.SelectMany(p => p.LocalizedRooms) .Where(p => p.LanguageId == byAccommodationIdAndLanguageIdQuery.LanguageId); localizedTypesOfRooms = localizedTypesOfRooms.Include(p => p.Type) .Where(p => p.Type.RealEstateId == byAccommodationIdAndLanguageIdQuery.AccommodationId); return(ProjectTo <Transfer.Objects.Room>(localizedTypesOfRooms)); }
public override async Task <IEnumerable <Transfer.Objects.Room> > HandleAsync(RoomsByAccommodationIdAndLanguageIdQuery query, CancellationToken cancellationToken) { var projection = ProjectionToRooms(Source, query); return(await projection.ToArrayAsync(cancellationToken)); }