public async Task Execute_WithUserId_FiltersToUser() { const int USER_ID = 3; var mediaApi = MockMediaRepository.CreateWithData( DEFAULT_NUM_ALBUMS, DEFAULT_NUM_USERS, DEFAULT_PHOTOS_PER_ALBUM ); var query = new SearchAlbumsQuery() { UserId = USER_ID }; var handler = new SearchAlbumsQueryHandler(mediaApi, NullLogger <SearchAlbumsQueryHandler> .Instance); var result = await handler.ExecuteAsync(query); var albumsPerUser = result.GroupBy(a => a.UserId); var firstGroup = albumsPerUser.FirstOrDefault(); Assert.NotNull(firstGroup); Assert.Single(albumsPerUser); Assert.Equal(USER_ID, firstGroup.Key); }
public async Task Execute_WhenEmptyQuery_ReturnsAllAlbums() { var mediaApi = MockMediaRepository.CreateWithData( DEFAULT_NUM_ALBUMS, DEFAULT_NUM_USERS, DEFAULT_PHOTOS_PER_ALBUM ); var query = new SearchAlbumsQuery(); var handler = new SearchAlbumsQueryHandler(mediaApi, NullLogger <SearchAlbumsQueryHandler> .Instance); var result = await handler.ExecuteAsync(query); Assert.Equal(DEFAULT_NUM_ALBUMS, result.Count); }
public async Task Execute_WhenEmptyQuery_MapsPhotosToAlbums() { var mediaApi = MockMediaRepository.CreateWithData( DEFAULT_NUM_ALBUMS, DEFAULT_NUM_USERS, DEFAULT_PHOTOS_PER_ALBUM ); var query = new SearchAlbumsQuery(); var handler = new SearchAlbumsQueryHandler(mediaApi, NullLogger <SearchAlbumsQueryHandler> .Instance); var result = await handler.ExecuteAsync(query); var albumsWithCorrectNumberOfPhotos = result .Where(a => a.Photos.Count == DEFAULT_PHOTOS_PER_ALBUM); Assert.Equal(DEFAULT_NUM_ALBUMS, albumsWithCorrectNumberOfPhotos.Count()); }