Esempio n. 1
0
        public async Task ReturnDtoWithCorrectSongFileWhenTheSongExists()
        {
            byte[] expectedSongFile = new byte[128];

            var songProviderStub = new Mock <ISongProvider>();

            songProviderStub
            .Setup(x => x.GetAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(() => expectedSongFile);

            var songRepositoryStub = new Mock <IEfRepository <Song> >();

            songRepositoryStub
            .Setup(x => x.GetByIdAsync(It.IsAny <string>()))
            .ReturnsAsync(new Song());

            GetUnapprovedSongForPlaying query = new GetUnapprovedSongForPlaying();

            // Arrange
            GetUnapprovedSongForPlayingQueryService sut = new GetUnapprovedSongForPlayingQueryService(
                songProvider: songProviderStub.Object,
                songRepository: songRepositoryStub.Object);

            // Act
            byte[] actualSongFile = (await sut.ExecuteAsync(query)).File;

            // Assert
            Assert.AreSame(expectedSongFile, actualSongFile);
        }
Esempio n. 2
0
        public async Task ReturnDtoWithCorrectSongExtensionWhenTheSongExists()
        {
            string expectedSongExtension = ".mp3";

            var songProviderStub = new Mock <ISongProvider>();

            var songRepositoryStub = new Mock <IEfRepository <Song> >();

            songRepositoryStub
            .Setup(x => x.GetByIdAsync(It.IsAny <string>()))
            .ReturnsAsync(new Song()
            {
                FileExtension = expectedSongExtension
            });

            GetUnapprovedSongForPlaying query = new GetUnapprovedSongForPlaying();

            // Arrange
            GetUnapprovedSongForPlayingQueryService sut = new GetUnapprovedSongForPlayingQueryService(
                songProvider: songProviderStub.Object,
                songRepository: songRepositoryStub.Object);

            // Act
            string actualSongExtension = (await sut.ExecuteAsync(query)).FileExtension;

            // Assert
            Assert.AreSame(expectedSongExtension, actualSongExtension);
        }
Esempio n. 3
0
        public void ThrowsNotFoundExceptionWhenTheSongDoesNotExists()
        {
            var songProviderStub   = new Mock <ISongProvider>();
            var songRepositoryStub = new Mock <IEfRepository <Song> >();

            songRepositoryStub
            .Setup(x => x.GetByIdAsync(It.IsAny <string>()))
            .ReturnsAsync((Song)null);

            GetUnapprovedSongForPlaying query = new GetUnapprovedSongForPlaying();

            // Arrange
            GetUnapprovedSongForPlayingQueryService sut = new GetUnapprovedSongForPlayingQueryService(
                songProvider: songProviderStub.Object,
                songRepository: songRepositoryStub.Object);

            // Act && Assert
            Assert.ThrowsAsync <NotFoundException>(() => sut.ExecuteAsync(query));
        }
Esempio n. 4
0
        public async Task <IActionResult> PlayUnapproved(string id)
        {
            UnapprovedSongForPlayingDTO song  = null;
            GetUnapprovedSongForPlaying query = new GetUnapprovedSongForPlaying()
            {
                SongId = id
            };

            string message = await this.CallServiceAsync(
                async() => song = await this.getUnapprovedSong.ExecuteAsync(query));

            if (message != null)
            {
                return(View()
                       .WithErrorMessage(message));
            }

            MemoryStream ms = new MemoryStream(song.File);

            return(File(ms, $"audio/{song.FileExtension}"));
        }