public void CompareLinesInDatabaseTest() { var options = new DbContextOptionsBuilder <SqlApplicationDbContext>() .UseInMemoryDatabase(databaseName: "CompareLinesInDatabaseTest") .Options; using (SqlApplicationDbContext context = new SqlApplicationDbContext(options)) { //Arrange var hashtag = new HashTagWord("microsoft"); var handler = new EfMessagesGetQueryHandler(context); var query = new MessagesQuery { HashTag = hashtag }; var mapper = new EntityToMessagesResultMapper(); var data = GetData(hashtag); InsertData(data, context); context.SaveChanges(); //Act var result = handler.Handle(query); MessagesQueryResult mappedResult = mapper.MapBunch(data, hashtag); //Assert Assert.Equal(mappedResult.Messages, result.Result.Messages); } }
public async Task <MessagesQueryResult> Handle(MessagesQuery query) { var mapper = new EntityToMessagesResultMapper(); var messages = await Context.Messages .Where( message => message.MessageHashTagRelations.Any( rel => rel.HashTagEntity.HashTag == query.HashTag.TagWithHash) ) .ToListAsync(); return(mapper.MapBunch(messages, query.HashTag)); }