Handlebars.Net.Helpers.Humanizer (#617)

This commit is contained in:
Stef Heyenrath
2021-07-07 17:02:15 +02:00
committed by GitHub
parent 8a9ea1b843
commit 6f42aa99bc
3 changed files with 60 additions and 7 deletions

View File

@@ -4,7 +4,7 @@
</PropertyGroup>
<PropertyGroup>
<VersionPrefix>1.4.16</VersionPrefix>
<VersionPrefix>1.4.17</VersionPrefix>
<PackageReleaseNotes>See CHANGELOG.md</PackageReleaseNotes>
<PackageIconUrl>https://raw.githubusercontent.com/WireMock-Net/WireMock.Net/master/WireMock.Net-Logo.png</PackageIconUrl>
<PackageProjectUrl>https://github.com/WireMock-Net/WireMock.Net</PackageProjectUrl>

View File

@@ -121,13 +121,16 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Handlebars.Net.Helpers" Version="2.1.9" />
<PackageReference Include="Handlebars.Net.Helpers.DynamicLinq" Version="2.1.9" />
<PackageReference Include="Handlebars.Net.Helpers.Json" Version="2.1.9" />
<PackageReference Include="Handlebars.Net.Helpers.XPath" Version="2.1.9" />
<PackageReference Include="Handlebars.Net.Helpers.Xeger" Version="2.1.9" />
<PackageReference Include="Handlebars.Net.Helpers.Random" Version="2.1.9" />
<PackageReference Include="Handlebars.Net.Helpers" Version="2.2.0" />
<PackageReference Include="Handlebars.Net.Helpers.DynamicLinq" Version="2.2.0" />
<PackageReference Include="Handlebars.Net.Helpers.Humanizer" Version="2.2.0" />
<PackageReference Include="Handlebars.Net.Helpers.Json" Version="2.2.0" />
<PackageReference Include="Handlebars.Net.Helpers.XPath" Version="2.2.0" />
<PackageReference Include="Handlebars.Net.Helpers.Xeger" Version="2.2.0" />
<PackageReference Include="Handlebars.Net.Helpers.Random" Version="2.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,50 @@
using System;
using System.Threading.Tasks;
using Moq;
using Newtonsoft.Json.Linq;
using NFluent;
using WireMock.Handlers;
using WireMock.Models;
using WireMock.ResponseBuilders;
using WireMock.Settings;
using Xunit;
namespace WireMock.Net.Tests.ResponseBuilders
{
public class ResponseWithHandlebarsHumanizerTests
{
private const string ClientIp = "::1";
private readonly Mock<IFileSystemHandler> _filesystemHandlerMock;
private readonly WireMockServerSettings _settings = new WireMockServerSettings();
public ResponseWithHandlebarsHumanizerTests()
{
_filesystemHandlerMock = new Mock<IFileSystemHandler>(MockBehavior.Strict);
_filesystemHandlerMock.Setup(fs => fs.ReadResponseBodyAsString(It.IsAny<string>())).Returns("abc");
_settings.FileSystemHandler = _filesystemHandlerMock.Object;
}
[Fact]
public async Task Response_ProvideResponseAsync_Handlebars_Humanizer()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost:1234"), "GET", ClientIp);
var responseBuilder = Response.Create()
.WithBodyAsJson(new
{
DateTime = string.Format("{{{{[Humanizer.Humanize] \"{0}\" }}}}", DateTime.UtcNow.AddHours(-30).ToString("O"))
})
.WithTransformer();
// Act
var response = await responseBuilder.ProvideResponseAsync(request, _settings);
// Assert
JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson);
Check.That(j["DateTime"].Value<string>()).IsEqualTo("yesterday");
}
}
}