public async Task Handler_Returns_Next_Page_Of_Albums() { var expectedAlbum = _fixture .Build <AlbumRecord>() .With(album => album.Artist, "Black Sabbath") .With(album => album.Title, "Mob Rules") .With(album => album.User, _testQuery.User) .With(album => album.UserId, _testQuery.User.Id) .Create(); var unexpectedAlbum = _fixture .Build <AlbumRecord>() .With(album => album.Artist, "Black Sabbath") .With(album => album.Title, "Heaven and Hell") .With(album => album.User, _testQuery.User) .With(album => album.UserId, _testQuery.User.Id) .Create(); await _context.AlbumRecords.AddAsync(unexpectedAlbum); await _context.AlbumRecords.AddAsync(expectedAlbum); await _context.SaveChangesAsync(); var query = new AlbumListGetQuery(1, 1, _testQuery.SearchQuery, _testQuery.User); var result = await _handler.Handle(query); result.Albums.First().Title.Should().Be(expectedAlbum.Title); }
public async Task Handler_Returns_Total_Count() { await InitializeRecords(); var count = await _context.Albums.CountAsync(); var query = new AlbumListGetQuery(10, 0, _testQuery.SearchQuery, null); var result = await _handler.Handle(query); result.TotalCount.Should().Be(count); }
public async Task Handler_Returns_Requested_Count() { await _context.AlbumRecords.AddAsync(_testRecord); await InitializeRecords(); var request = new AlbumListGetQuery(1, 0, _testQuery.SearchQuery, _testQuery.User); var result = await _handler.Handle(request); result.Albums.Should().HaveCount(1); }
public async Task Handler_Returns_Records_When_Search_Query_Is_Empty() { await _context.AlbumRecords.AddAsync(_testRecord); await InitializeRecords(); var request = new AlbumListGetQuery(1, 0, string.Empty, _testQuery.User); var result = await _handler.Handle(request); result.Albums.Should().NotBeEmpty(); }
public async Task Handler_Returns_Record_With_Search_Query_For_Title() { var record = _fixture .Build <AlbumRecord>() .With(a => a.Title, "Heaven and Hell") .Create(); await _context.AlbumRecords.AddAsync(record); await InitializeRecords(); var request = new AlbumListGetQuery(1, 0, record.Title, null); var result = await _handler.Handle(request); result.Albums.Should().Contain(a => a.Title == record.Title); result.TotalCount.Should().Be(request.ItemCount); }
public AlbumListGetQueryHandlerTests() { _fixture = new Fixture(); _fixture.Behaviors.Add(new OmitOnRecursionBehavior()); _context = InitializeDatabase(); _testQuery = new AlbumListGetQuery(13, 0, string.Empty, _fixture.Create <ApplicationUser>()); _albumRecords = _fixture .Build <AlbumRecord>() .With(album => album.User, _testQuery.User) .With(album => album.UserId, _testQuery.User.Id) .CreateMany(); _testRecord = _fixture .Build <AlbumRecord>() .With(album => album.User, _testQuery.User) .With(album => album.UserId, _testQuery.User.Id) .Create(); _handler = new AlbumListGetQueryHandler(_context); }
public void Query_Sets_Default_Item_Count_For_Zero(string searchQuery) { var query = new AlbumListGetQuery(0, 1, searchQuery, _testUser); query.ItemCount.Should().BeGreaterThan(0); }