public void Should_ThrowMediaLibraryNotConnectedException_When_ContentDirectoryIsNull() { // Arrange IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); IFileOperations fileOperations = Substitute.For <IFileOperations>(); mediaPortalServices.GetServerConnectionManager().ContentDirectory.Returns(x => null); IMoverOperations operations = new MoverOperations(mediaPortalServices, fileOperations); // Act & Assert Assert.Throws <MediaLibraryNotConnectedException>(() => operations.BackupMovies(FakePath)); }
public void Should_BackupThreeMovies_When_FiveMoviesCollectedAndThreeWatched() { // Arrange IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); IContentDirectory contentDirectory = Substitute.For <IContentDirectory>(); IList <MediaItem> databaseMediaItems = new List <MediaItem> { new MockedDatabaseMovie(new MediaLibraryMovie { Imdb = "tt0268380", Title = "Title_1", Tmdb = 12345, Year = 2017 }, 100).Movie, new MockedDatabaseMovie(new MediaLibraryMovie { Imdb = "tt0034492", Title = "Title_2", Tmdb = 12111, Year = 2016 }, 100).Movie, new MockedDatabaseMovie(new MediaLibraryMovie { Imdb = "tt1355630", Title = "Title_3", Tmdb = 12388, Year = 2013 }, 100).Movie, new MockedDatabaseMovie(new MediaLibraryMovie { Imdb = "tt1599348", Title = "Title_4", Tmdb = 12100, Year = 2011 }, 10).Movie, new MockedDatabaseMovie(new MediaLibraryMovie { Imdb = "tt0457939", Title = "Title_5", Tmdb = 12144, Year = 2010 }, 0).Movie }; contentDirectory.SearchAsync(Arg.Any <MediaItemQuery>(), true, null, false).Returns(databaseMediaItems); mediaPortalServices.GetServerConnectionManager().ContentDirectory.Returns(contentDirectory); IFileOperations fileOperations = Substitute.For <IFileOperations>(); IMoverOperations operations = new MoverOperations(mediaPortalServices, fileOperations); // Act BackupResult result = operations.BackupMovies(FakePath); // Assert Assert.Equal(3, result.WatchedCount); Assert.Equal(5, result.CollectedCount); }