adding integration tests
This commit is contained in:
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,6 +8,8 @@
|
|||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
|
||||||
<PackageReference Include="xunit" Version="2.2.0" />
|
<PackageReference Include="xunit" Version="2.2.0" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
|
||||||
|
<PackageReference Include="Moq" Version="4.7.8" />
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user