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() { IsApproved = true }); GetSongForPlaying query = new GetSongForPlaying(); // Arrange GetSongForPlayingQueryService sut = new GetSongForPlayingQueryService( songProvider: songProviderStub.Object, songRepository: songRepositoryStub.Object); // Act byte[] actualSongFile = (await sut.ExecuteAsync(query)).File; // Assert Assert.AreEqual(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() { IsApproved = true, FileExtension = expectedSongExtension }); GetSongForPlaying query = new GetSongForPlaying(); // Arrange GetSongForPlayingQueryService sut = new GetSongForPlayingQueryService( songProvider: songProviderStub.Object, songRepository: songRepositoryStub.Object); // Act string actualSongExtension = (await sut.ExecuteAsync(query)).FileExtension; // Assert Assert.AreEqual(expectedSongExtension, actualSongExtension); }
public async Task ReturnDtoWithCorrectSongWhenTheSongExists() { Song expectedSong = new Song() { Title = "Unit Test", IsApproved = true }; var songProviderStub = new Mock <ISongProvider>(); var songRepositoryStub = new Mock <IEfRepository <Song> >(); songRepositoryStub .Setup(x => x.GetByIdAsync(It.IsAny <string>())) .ReturnsAsync(expectedSong); GetSongForPlaying query = new GetSongForPlaying(); // Arrange GetSongForPlayingQueryService sut = new GetSongForPlayingQueryService( songProvider: songProviderStub.Object, songRepository: songRepositoryStub.Object); // Act SongForPlayingDTO actualSongDTO = await sut.ExecuteAsync(query); // Assert StringAssert.Contains(expectedSong.Title, actualSongDTO.HeadingText); }
public void ThrowsNotFoundExceptionWhenSongIsNotApprovedExists() { var songProviderStub = new Mock <ISongProvider>(); var songRepositoryStub = new Mock <IEfRepository <Song> >(); songRepositoryStub .Setup(x => x.GetByIdAsync(It.IsAny <string>())) .ReturnsAsync(new Song() { Id = "1", IsApproved = false }); GetSongForPlaying query = new GetSongForPlaying() { SongId = "1" }; // Arrange GetSongForPlayingQueryService sut = new GetSongForPlayingQueryService( songProvider: songProviderStub.Object, songRepository: songRepositoryStub.Object); // Act && Assert Assert.ThrowsAsync <NotFoundException>(() => sut.ExecuteAsync(query)); }
public void SavePassedSongRepositoryWhenIsNotNull() { var songProviderStub = new Mock <ISongProvider>(); var songRepositoryStub = new Mock <IEfRepository <Song> >(); // Arrange && Act GetSongForPlayingQueryService sut = new GetSongForPlayingQueryService( songProvider: songProviderStub.Object, songRepository: songRepositoryStub.Object); // Assert var actualSongRepository = sut.GetType() .GetFields(BindingFlags.Instance | BindingFlags.NonPublic) .First(fi => fi.FieldType == typeof(IEfRepository <Song>)) .GetValue(sut); Assert.AreSame(songRepositoryStub.Object, actualSongRepository); }