Browse Source

FakeItEasy for user tests.

pull/95/head
Sebastian Stehle 9 years ago
parent
commit
c4dcfc85e8
  1. 1
      tests/Squidex.Domain.Apps.Read.Tests/Squidex.Domain.Apps.Read.Tests.csproj
  2. 24
      tests/Squidex.Domain.Users.Tests/AssetUserPictureStoreTests.cs
  3. 2
      tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

1
tests/Squidex.Domain.Apps.Read.Tests/Squidex.Domain.Apps.Read.Tests.csproj

@ -21,7 +21,6 @@
<PackageReference Include="FluentAssertions" Version="4.19.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="MongoDB.Driver" Version="2.4.4" />
<PackageReference Include="Moq" Version="4.7.99" />
<PackageReference Include="System.ValueTuple" Version="4.3.1" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />

24
tests/Squidex.Domain.Users.Tests/AssetUserPictureStoreTests.cs

@ -9,7 +9,7 @@
using System;
using System.IO;
using System.Threading.Tasks;
using Moq;
using FakeItEasy;
using Squidex.Infrastructure.Assets;
using Squidex.Infrastructure.Tasks;
using Xunit;
@ -18,13 +18,13 @@ namespace Squidex.Domain.Users
{
public class AssetUserPictureStoreTests
{
private readonly Mock<IAssetStore> assetStore = new Mock<IAssetStore>();
private readonly IAssetStore assetStore = A.Fake<IAssetStore>();
private readonly AssetUserPictureStore sut;
private readonly string userId = Guid.NewGuid().ToString();
public AssetUserPictureStoreTests()
{
sut = new AssetUserPictureStore(assetStore.Object);
sut = new AssetUserPictureStore(assetStore);
}
[Fact]
@ -32,29 +32,29 @@ namespace Squidex.Domain.Users
{
var stream = new MemoryStream();
assetStore.Setup(x => x.UploadAsync(userId, 0, "picture", stream))
.Returns(TaskHelper.Done)
.Verifiable();
A.CallTo(() => assetStore.UploadAsync(userId, 0, "picture", stream))
.Returns(TaskHelper.Done);
await sut.UploadAsync(userId, stream);
assetStore.VerifyAll();
A.CallTo(() => assetStore.UploadAsync(userId, 0, "picture", stream)).MustHaveHappened();
}
[Fact]
public async Task Should_invoke_asset_store_to_download_picture()
{
assetStore.Setup(x => x.DownloadAsync(userId, 0, "picture", It.IsAny<Stream>()))
.Callback<string, long, string, Stream>((id, version, suffix, stream) => stream.Write(new byte[] { 1, 2, 3, 4 }, 0, 4 ))
.Returns(TaskHelper.Done)
.Verifiable();
A.CallTo(() => assetStore.DownloadAsync(userId, 0, "picture", A<Stream>.Ignored))
.Invokes(async (string id, long version, string suffix, Stream stream) =>
{
await stream.WriteAsync(new byte[] { 1, 2, 3, 4 }, 0, 4);
});
var result = await sut.DownloadAsync(userId);
Assert.Equal(0, result.Position);
Assert.Equal(4, result.Length);
assetStore.VerifyAll();
A.CallTo(() => assetStore.DownloadAsync(userId, 0, "picture", A<Stream>.Ignored)).MustHaveHappened();
}
}
}

2
tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

@ -12,9 +12,9 @@
<ProjectReference Include="..\..\src\Squidex.Shared\Squidex.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="4.0.0" />
<PackageReference Include="FluentAssertions" Version="4.19.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="Moq" Version="4.7.99" />
<PackageReference Include="System.ValueTuple" Version="4.3.1" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />

Loading…
Cancel
Save