3 changed files with 49 additions and 0 deletions
Binary file not shown.
@ -0,0 +1,47 @@ |
|||
using Infrastructure.FileSystem; |
|||
using Microsoft.AspNetCore.Hosting; |
|||
using System.IO; |
|||
using Xunit; |
|||
using Moq; |
|||
|
|||
namespace IntegrationTests.Infrastructure.File |
|||
{ |
|||
public class LocalFileImageServiceGetImageBytesById |
|||
{ |
|||
private byte[] _testBytes = new byte[] { 0x01, 0x02, 0x03 }; |
|||
private readonly Mock<IHostingEnvironment> _mockEnvironment = new Mock<IHostingEnvironment>(); |
|||
private int _testImageId = 123; |
|||
private string _testFileName = "123.png"; |
|||
|
|||
public LocalFileImageServiceGetImageBytesById() |
|||
{ |
|||
// create folder if necessary
|
|||
Directory.CreateDirectory(Path.Combine(GetFileDirectory(), "Pics")); |
|||
|
|||
string filePath = GetFilePath(_testFileName); |
|||
System.IO.File.WriteAllBytes(filePath, _testBytes); |
|||
_mockEnvironment.SetupGet<string>(m => m.ContentRootPath).Returns(GetFileDirectory()); |
|||
} |
|||
|
|||
private string GetFilePath(string fileName) |
|||
{ |
|||
return Path.Combine(GetFileDirectory(), "Pics", fileName); |
|||
} |
|||
|
|||
private string GetFileDirectory() |
|||
{ |
|||
var location = System.Reflection.Assembly.GetEntryAssembly().Location; |
|||
return Path.GetDirectoryName(location); |
|||
} |
|||
|
|||
[Fact] |
|||
public void ReturnsFileContentResultGivenValidId() |
|||
{ |
|||
var fileService = new LocalFileImageService(_mockEnvironment.Object); |
|||
|
|||
var result = fileService.GetImageBytesById(_testImageId); |
|||
|
|||
Assert.Equal(_testBytes, result); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue