using System; using System.Linq; using System.Threading.Tasks; using Elsa.IntegrationTests.Scenarios.JsonObjectToObjectRemainsJsonObject.Workflows; using Elsa.Testing.Shared; using Elsa.Workflows.Contracts; using Microsoft.Extensions.DependencyInjection; using Xunit; using Xunit.Abstractions; namespace Elsa.IntegrationTests.Scenarios.JsonObjectToObjectRemainsJsonObject; public class JsonObjectJintTests { private readonly IWorkflowRunner _workflowRunner; private readonly CapturingTextWriter _capturingTextWriter = new(); private readonly IServiceProvider _services; public JsonObjectJintTests(ITestOutputHelper testOutputHelper) { _services = new TestApplicationBuilder(testOutputHelper).WithCapturingTextWriter(_capturingTextWriter).Build(); _services.GetRequiredService(); _workflowRunner = _services.GetRequiredService(); } [Fact(DisplayName = "The produced JsonObject remains JsonObject and does not become JsonElement (which does not support index notation)")] public async Task Test1() { await _services.PopulateRegistriesAsync(); await _workflowRunner.RunAsync(); var lines = _capturingTextWriter.Lines.ToList(); Assert.Equal(new[] { "Baz" }, lines); } }