public async Task GetAvatarAsync_should_generate_avatar_if_none_found() { var fileSystem = new MockFileSystem(); _cache = new AvatarPersistentCache(_inner, _avatarGenerator, fileSystem); fileSystem.Directory.Exists(_folderPath).Should().BeFalse(); Assert.AreSame(_imgGenerated, await _cache.GetAvatarAsync(_emailMissing, _nameMissing, _size)); }
public async Task GetAvatarAsync_should_create_if_folder_absent() { var fileSystem = new MockFileSystem(); _cache = new AvatarPersistentCache(_inner, Substitute.For <IAvatarGenerator>(), fileSystem); fileSystem.Directory.Exists(_folderPath).Should().BeFalse(); Assert.AreSame(_img1, await _cache.GetAvatarAsync(_email1, _name1, _size)); fileSystem.Directory.Exists(_folderPath).Should().BeTrue(); }
public async Task GetAvatarAsync_should_create_image_from_stream() { var fileSystem = new MockFileSystem(); _cache = new AvatarPersistentCache(_inner, Substitute.For <IAvatarGenerator>(), fileSystem); fileSystem.Directory.Exists(_folderPath).Should().BeFalse(); Assert.AreSame(_img1, await _cache.GetAvatarAsync(_email1, _name1, _size)); fileSystem.Directory.Exists(_folderPath).Should().BeTrue(); fileSystem.File.Exists(Path.Combine(_folderPath, $"{_email1}.{_size}px.png")).Should().BeTrue(); }
public async Task ClearCacheAsync_should_remove_all() { var fileSystem = new MockFileSystem(); _cache = new AvatarPersistentCache(_inner, Substitute.For <IAvatarGenerator>(), fileSystem); fileSystem.AddFile(Path.Combine(_folderPath, "*****@*****.**"), new MockFileData("")); fileSystem.AddFile(Path.Combine(_folderPath, "*****@*****.**"), new MockFileData("")); fileSystem.AllFiles.Count().Should().Be(2); await _cache.ClearCacheAsync(); fileSystem.AllFiles.Count().Should().Be(0); }
public override void SetUp() { base.SetUp(); _fileSystem = Substitute.For <IFileSystem>(); _directory = Substitute.For <DirectoryBase>(); _fileSystem.Directory.Returns(_directory); _file = Substitute.For <FileBase>(); _fileSystem.File.Returns(_file); _fileInfo = Substitute.For <FileInfoBase>(); _fileInfo.Exists.Returns(true); _fileInfoFactory = Substitute.For <IFileInfoFactory>(); _fileInfoFactory.FromFileName(Arg.Any <string>()).Returns(_fileInfo); _fileSystem.FileInfo.Returns(_fileInfoFactory); _folderPath = AppSettings.AvatarImageCachePath; _cache = new AvatarPersistentCache(_inner, _fileSystem); }