public async Task TestLoadDirectory() { // arrange var mockFileSystem = new MockFileSystem(); var mockSerializer = new Mock<IDataSerializer>(); var options = Options.Create(new WorkspaceOptions()); var mockDbContextBuilder = new Mock<IAppDbContextOptionsBuilder>(); mockSerializer.Setup(x => x.Deserialize<PhotoDirectoryConfig>(It.IsAny<string>())) .Returns(new PhotoDirectoryConfig("asd")); mockFileSystem.AddFile("C:\\Pictures\\.photofolder.json", new MockFileData("test")); using (var connection = new SqliteConnection("DataSource=:memory:")) { connection.Open(); var builder = new DbContextOptionsBuilder<AppDbContext>(); builder.UseSqlite(connection); mockDbContextBuilder.Setup(x => x.Build(It.IsAny<string>())).Returns(builder.Options); var loader = new PhotoDirectoryLoader(mockFileSystem, mockSerializer.Object, mockDbContextBuilder.Object, options); // act var result = await loader.Load("C:\\Pictures"); // assert Assert.NotNull(result); } }
public async Task TestLoadDirectoryWhichDoesNotExist() { // arrange var mockFileSystem = new MockFileSystem(); var mockSerializer = new Mock<IDataSerializer>(); var options = Options.Create(new WorkspaceOptions()); var mockDbContextBuilder = new Mock<IAppDbContextOptionsBuilder>(); mockSerializer.Setup(x => x.Deserialize<PhotoDirectoryConfig>(It.IsAny<string>())) .Returns(new PhotoDirectoryConfig("asd")); var loader = new PhotoDirectoryLoader(mockFileSystem, mockSerializer.Object, mockDbContextBuilder.Object, options); // act/assert await Assert.ThrowsAsync<FileNotFoundException>(() => loader.Load("C:\\Pictures")); }