public async void AddAsync_ShouldCallFileCreateMethod() { var fileServiceMock = new Mock <IFileService>(); var settingsProviderMock = new Mock <ISettingsProviderService>(); var libraryFileServiceMock = new Mock <ILibraryFileService>(); var settings = new Settings() { ImportedLibraries = new List <string>() }; settingsProviderMock.Setup(x => x.Settings) .Returns(settings); var library = GetLibrary(); fileServiceMock.Setup(x => x.Create(library.FullName)) .Verifiable(); var repository = new LocalLibraryRepositoryStrategy(fileServiceMock.Object, settingsProviderMock.Object, libraryFileServiceMock.Object); await repository.AddAsync(library); fileServiceMock.Verify(x => x.Create(library.FullName)); }
public async void AddAsync_ShouldCallOpenFileMethod_ForPreviouslyCreatedFile() { var fileServiceMock = new Mock <IFileService>(); var settingsProviderMock = new Mock <ISettingsProviderService>(); var libraryFileServiceMock = new Mock <ILibraryFileService>(); var settings = new Settings() { ImportedLibraries = new List <string>() }; settingsProviderMock.Setup(x => x.Settings) .Returns(settings); var library = GetLibrary(); fileServiceMock.Setup(x => x.OpenFile(library.FullName, It.IsAny <FileMode>(), It.IsAny <FileAccess>(), It.IsAny <FileShare>())) .Verifiable(); var repository = new LocalLibraryRepositoryStrategy(fileServiceMock.Object, settingsProviderMock.Object, libraryFileServiceMock.Object); await repository.AddAsync(library); fileServiceMock.Verify(x => x.OpenFile(library.FullName, It.IsAny <FileMode>(), It.IsAny <FileAccess>(), It.IsAny <FileShare>())); }
public async void AddAsync_ShouldAddLibraryFullNameToSettings_AndSaveSettings() { var fileServiceMock = new Mock <IFileService>(); var settingsProviderMock = new Mock <ISettingsProviderService>(); var libraryFileServiceMock = new Mock <ILibraryFileService>(); var settings = new Settings() { ImportedLibraries = new List <string>() }; settingsProviderMock.Setup(x => x.Settings) .Returns(settings); settingsProviderMock.Setup(x => x.SaveSettingsAsync()) .Verifiable(); var library = GetLibrary(); var repository = new LocalLibraryRepositoryStrategy(fileServiceMock.Object, settingsProviderMock.Object, libraryFileServiceMock.Object); await repository.AddAsync(library); Assert.Contains(library.FullName, settings.ImportedLibraries); settingsProviderMock.Verify(x => x.SaveSettingsAsync()); }