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