public async Task <IActionResult> UnapprovedSongs(int page = 1) { GetUnapprovedSongs getSongsQuery = new GetUnapprovedSongs() { PageInfo = new PageInfo(page, DefaultPageSize) }; IEnumerable <Song> unapprovedSongs = await this.getUnapprovedSongs.ExecuteAsync(getSongsQuery); GetSongsCount getSongsCountQuery = new GetSongsCount() { Approved = false, SearchInfo = new SearchInfo(null) }; int songsCount = await this.getSongsCount.ExecuteAsync(getSongsCountQuery); IEnumerable <SongListingViewModel> songsModel = Mapper.Map <IEnumerable <SongListingViewModel> >(unapprovedSongs); PaginatedViewModel <SongListingViewModel> model = ViewModelFactory.CreatePaginatedViewModel <SongListingViewModel>( songsModel, page, DefaultPageSize, songsCount); return(View(model)); }
public async Task ReturnsCorrectUnapprovedSongsWhenInvoked() { Song expectedSong = new Song { Id = "5" }; var songs = new[] { new Song { Id = "1" }, new Song { Id = "2" }, new Song { Id = "3" }, new Song { Id = "4" }, expectedSong } .AsQueryable() .BuildMock(); var songRepositoryStub = new Mock <IEfRepository <Song> >(); songRepositoryStub .Setup(x => x.All(It.IsAny <bool>())) .Returns(songs.Object); GetUnapprovedSongs query = new GetUnapprovedSongs() { PageInfo = new PageInfo(3, 2) }; // Arrange GetUnapprovedSongsQueryService sut = new GetUnapprovedSongsQueryService(songRepositoryStub.Object); // Act IEnumerable <Song> actualUnapprovedSongs = await sut.ExecuteAsync(query); // Assert Assert.AreEqual(1, actualUnapprovedSongs.Count()); CollectionAssert.Contains(actualUnapprovedSongs, expectedSong); }
public async Task ReturnsOnlyUnapprovedSongsWhenInvoked() { var songs = new[] { new Song { IsApproved = false }, new Song { IsApproved = true }, new Song { IsApproved = true }, new Song { IsApproved = false }, new Song { IsApproved = false }, } .AsQueryable() .BuildMock(); var songRepositoryStub = new Mock <IEfRepository <Song> >(); songRepositoryStub .Setup(x => x.All(It.IsAny <bool>())) .Returns(songs.Object); GetUnapprovedSongs query = new GetUnapprovedSongs() { PageInfo = new PageInfo(1, 5) }; // Arrange GetUnapprovedSongsQueryService sut = new GetUnapprovedSongsQueryService(songRepositoryStub.Object); // Act IEnumerable <Song> actualUnapprovedSongs = await sut.ExecuteAsync(query); // Assert Assert.That(actualUnapprovedSongs.All(s => s.IsApproved == false)); }