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); }
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); }
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)); }
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}")); }