public void PurgeAllItems_DeletesItems() { // arrange SetupMockControlFileFor2Podcasts(); var dir = SetupMockPurgerWithRealItems(); ViewModel.Initialise(); ViewModel.FindItemsToDelete(); // act ViewModel.PurgeAllItems(); // assert A.CallTo(() => MockFileUtilities.FileDelete(FILE_PATH)).MustHaveHappened(1, Times.Exactly); A.CallTo(() => MockEpisodePurger.PurgeFolder(dir)).MustHaveHappened(1, Times.Exactly); }
public void PurgeAllItems_RespectsSelectionDir() { // arrange SetupMockControlFileFor2Podcasts(); var dir = SetupMockPurgerWithRealItems(); ViewModel.Initialise(); ViewModel.FindItemsToDelete(); ObservedResults.LastPurgeItems[1].Selected = false; // act ViewModel.PurgeAllItems(); // assert A.CallTo(() => MockFileUtilities.FileDelete(FILE_PATH)).MustHaveHappened(1, Times.Exactly); A.CallTo(() => MockEpisodePurger.PurgeFolder(A <IDirectoryInfo> .Ignored)).MustNotHaveHappened(); }
private IDirectoryInfo SetupMockPurgerWithRealItems() { SystemFileInfoProvider fileProvider = new SystemFileInfoProvider(); A.CallTo(() => MockEpisodePurger.FindEpisodesToPurge(SOURCE_ROOT, podcast1Mocker.GetMockedPodcastInfo())) .Returns( new List <IFileInfo>() { fileProvider.GetFileInfo(FILE_PATH) } ); SystemDirectoryInfoProvider dirProvider = new SystemDirectoryInfoProvider(); var dir = dirProvider.GetDirectoryInfo(DIR_PATH); A.CallTo(() => MockEpisodePurger.FindEmptyFoldersToDelete(SOURCE_ROOT, podcast1Mocker.GetMockedPodcastInfo(), A <IList <IFileInfo> > .Ignored)) .Returns( new List <IDirectoryInfo>() { dir } ); return(dir); }