Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }