|
|
@ -17,10 +17,8 @@ using Newtonsoft.Json.Linq; |
|
|
using NodaTime; |
|
|
using NodaTime; |
|
|
using Squidex.Domain.Apps.Core.Contents; |
|
|
using Squidex.Domain.Apps.Core.Contents; |
|
|
using Squidex.Domain.Apps.Core.HandleRules; |
|
|
using Squidex.Domain.Apps.Core.HandleRules; |
|
|
using Squidex.Domain.Apps.Events; |
|
|
using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; |
|
|
using Squidex.Domain.Apps.Events.Contents; |
|
|
|
|
|
using Squidex.Infrastructure; |
|
|
using Squidex.Infrastructure; |
|
|
using Squidex.Infrastructure.EventSourcing; |
|
|
|
|
|
using Squidex.Shared.Identity; |
|
|
using Squidex.Shared.Identity; |
|
|
using Squidex.Shared.Users; |
|
|
using Squidex.Shared.Users; |
|
|
using Xunit; |
|
|
using Xunit; |
|
|
@ -53,7 +51,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Should_serialize_object_to_json() |
|
|
public void Should_serialize_object_to_json() |
|
|
{ |
|
|
{ |
|
|
var result = sut.ToRouteData(new { Value = 1 }); |
|
|
var result = sut.ToPayload(new { Value = 1 }); |
|
|
|
|
|
|
|
|
Assert.True(result is JObject); |
|
|
Assert.True(result is JObject); |
|
|
} |
|
|
} |
|
|
@ -61,9 +59,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Should_create_route_data() |
|
|
public void Should_create_route_data() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated { AppId = appId }; |
|
|
var @event = new EnrichedContentEvent { AppId = appId }; |
|
|
|
|
|
|
|
|
var result = sut.ToRouteData(AsEnvelope(@event)); |
|
|
var result = sut.ToPayload(@event); |
|
|
|
|
|
|
|
|
Assert.True(result is JObject); |
|
|
Assert.True(result is JObject); |
|
|
} |
|
|
} |
|
|
@ -71,9 +69,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Should_create_route_data_from_event() |
|
|
public void Should_create_route_data_from_event() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated { AppId = appId }; |
|
|
var @event = new EnrichedContentEvent { AppId = appId, Name = "MyEventName" }; |
|
|
|
|
|
|
|
|
var result = sut.ToRouteData(AsEnvelope(@event), "MyEventName"); |
|
|
var result = sut.ToPayload(@event); |
|
|
|
|
|
|
|
|
Assert.Equal("MyEventName", result["type"]); |
|
|
Assert.Equal("MyEventName", result["type"]); |
|
|
} |
|
|
} |
|
|
@ -81,9 +79,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_replace_app_information_from_event() |
|
|
public async Task Should_replace_app_information_from_event() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated { AppId = appId }; |
|
|
var @event = new EnrichedContentEvent { AppId = appId }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("Name $APP_NAME has id $APP_ID", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("Name $APP_NAME has id $APP_ID", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"Name my-app has id {appId.Id}", result); |
|
|
Assert.Equal($"Name my-app has id {appId.Id}", result); |
|
|
} |
|
|
} |
|
|
@ -91,9 +89,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_replace_schema_information_from_event() |
|
|
public async Task Should_replace_schema_information_from_event() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated { SchemaId = schemaId }; |
|
|
var @event = new EnrichedContentEvent { SchemaId = schemaId }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("Name $SCHEMA_NAME has id $SCHEMA_ID", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("Name $SCHEMA_NAME has id $SCHEMA_ID", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"Name my-schema has id {schemaId.Id}", result); |
|
|
Assert.Equal($"Name my-schema has id {schemaId.Id}", result); |
|
|
} |
|
|
} |
|
|
@ -103,7 +101,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
{ |
|
|
{ |
|
|
var now = DateTime.UtcNow; |
|
|
var now = DateTime.UtcNow; |
|
|
|
|
|
|
|
|
var envelope = AsEnvelope(new ContentCreated()).SetTimestamp(Instant.FromDateTimeUtc(now)); |
|
|
var envelope = new EnrichedContentEvent { Timestamp = Instant.FromDateTimeUtc(now) }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("Date: $TIMESTAMP_DATE, Full: $TIMESTAMP_DATETIME", envelope); |
|
|
var result = await sut.FormatStringAsync("Date: $TIMESTAMP_DATE, Full: $TIMESTAMP_DATETIME", envelope); |
|
|
|
|
|
|
|
|
@ -116,9 +114,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
A.CallTo(() => userResolver.FindByIdOrEmailAsync("123")) |
|
|
A.CallTo(() => userResolver.FindByIdOrEmailAsync("123")) |
|
|
.Returns(user); |
|
|
.Returns(user); |
|
|
|
|
|
|
|
|
var @event = new ContentCreated { Actor = new RefToken("subject", "123") }; |
|
|
var @event = new EnrichedContentEvent { Actor = new RefToken("subject", "123") }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"From me (me@email.com)", result); |
|
|
Assert.Equal($"From me (me@email.com)", result); |
|
|
} |
|
|
} |
|
|
@ -129,9 +127,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
A.CallTo(() => userResolver.FindByIdOrEmailAsync("123")) |
|
|
A.CallTo(() => userResolver.FindByIdOrEmailAsync("123")) |
|
|
.Returns(Task.FromResult<IUser>(null)); |
|
|
.Returns(Task.FromResult<IUser>(null)); |
|
|
|
|
|
|
|
|
var @event = new ContentCreated { Actor = new RefToken("subject", "123") }; |
|
|
var @event = new EnrichedContentEvent { Actor = new RefToken("subject", "123") }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"From UNDEFINED (UNDEFINED)", result); |
|
|
Assert.Equal($"From UNDEFINED (UNDEFINED)", result); |
|
|
} |
|
|
} |
|
|
@ -142,9 +140,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
A.CallTo(() => userResolver.FindByIdOrEmailAsync("123")) |
|
|
A.CallTo(() => userResolver.FindByIdOrEmailAsync("123")) |
|
|
.Throws(new InvalidOperationException()); |
|
|
.Throws(new InvalidOperationException()); |
|
|
|
|
|
|
|
|
var @event = new ContentCreated { Actor = new RefToken("subject", "123") }; |
|
|
var @event = new EnrichedContentEvent { Actor = new RefToken("subject", "123") }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"From UNDEFINED (UNDEFINED)", result); |
|
|
Assert.Equal($"From UNDEFINED (UNDEFINED)", result); |
|
|
} |
|
|
} |
|
|
@ -152,9 +150,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_format_email_and_display_name_from_client() |
|
|
public async Task Should_format_email_and_display_name_from_client() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated { Actor = new RefToken("client", "android") }; |
|
|
var @event = new EnrichedContentEvent { Actor = new RefToken("client", "android") }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("From $USER_NAME ($USER_EMAIL)", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"From client:android (client:android)", result); |
|
|
Assert.Equal($"From client:android (client:android)", result); |
|
|
} |
|
|
} |
|
|
@ -167,9 +165,9 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
A.CallTo(() => urlGenerator.GenerateContentUIUrl(appId, schemaId, contentId)) |
|
|
A.CallTo(() => urlGenerator.GenerateContentUIUrl(appId, schemaId, contentId)) |
|
|
.Returns(url); |
|
|
.Returns(url); |
|
|
|
|
|
|
|
|
var @event = new ContentCreated { AppId = appId, ContentId = contentId, SchemaId = schemaId }; |
|
|
var @event = new EnrichedContentEvent { AppId = appId, Id = contentId, SchemaId = schemaId }; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("Go to $CONTENT_URL", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("Go to $CONTENT_URL", @event); |
|
|
|
|
|
|
|
|
Assert.Equal($"Go to {url}", result); |
|
|
Assert.Equal($"Go to {url}", result); |
|
|
} |
|
|
} |
|
|
@ -177,7 +175,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_undefined_when_field_not_found() |
|
|
public async Task Should_return_undefined_when_field_not_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -186,7 +184,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", "Berlin")) |
|
|
.AddValue("iv", "Berlin")) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.country.iv", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.country.iv", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("UNDEFINED", result); |
|
|
Assert.Equal("UNDEFINED", result); |
|
|
} |
|
|
} |
|
|
@ -194,7 +192,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_undefined_when_partition_not_found() |
|
|
public async Task Should_return_undefined_when_partition_not_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -203,7 +201,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", "Berlin")) |
|
|
.AddValue("iv", "Berlin")) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.de", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.de", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("UNDEFINED", result); |
|
|
Assert.Equal("UNDEFINED", result); |
|
|
} |
|
|
} |
|
|
@ -211,7 +209,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_undefined_when_array_item_not_found() |
|
|
public async Task Should_return_undefined_when_array_item_not_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -220,7 +218,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", new JArray())) |
|
|
.AddValue("iv", new JArray())) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.de.10", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.de.10", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("UNDEFINED", result); |
|
|
Assert.Equal("UNDEFINED", result); |
|
|
} |
|
|
} |
|
|
@ -228,7 +226,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_undefined_when_property_not_found() |
|
|
public async Task Should_return_undefined_when_property_not_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -238,7 +236,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
new JProperty("name", "Berlin")))) |
|
|
new JProperty("name", "Berlin")))) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.de.Name", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.de.Name", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("UNDEFINED", result); |
|
|
Assert.Equal("UNDEFINED", result); |
|
|
} |
|
|
} |
|
|
@ -246,7 +244,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_plain_value_when_found() |
|
|
public async Task Should_return_plain_value_when_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -255,7 +253,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", "Berlin")) |
|
|
.AddValue("iv", "Berlin")) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("Berlin", result); |
|
|
Assert.Equal("Berlin", result); |
|
|
} |
|
|
} |
|
|
@ -263,7 +261,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_plain_value_when_found_from_update_event() |
|
|
public async Task Should_return_plain_value_when_found_from_update_event() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentUpdated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -272,7 +270,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", "Berlin")) |
|
|
.AddValue("iv", "Berlin")) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("Berlin", result); |
|
|
Assert.Equal("Berlin", result); |
|
|
} |
|
|
} |
|
|
@ -280,7 +278,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_undefined_when_null() |
|
|
public async Task Should_return_undefined_when_null() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -289,7 +287,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", JValue.CreateNull())) |
|
|
.AddValue("iv", JValue.CreateNull())) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("UNDEFINED", result); |
|
|
Assert.Equal("UNDEFINED", result); |
|
|
} |
|
|
} |
|
|
@ -297,7 +295,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_undefined_when_undefined() |
|
|
public async Task Should_return_undefined_when_undefined() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -306,7 +304,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
.AddValue("iv", JValue.CreateUndefined())) |
|
|
.AddValue("iv", JValue.CreateUndefined())) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("UNDEFINED", result); |
|
|
Assert.Equal("UNDEFINED", result); |
|
|
} |
|
|
} |
|
|
@ -314,7 +312,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_string_when_object() |
|
|
public async Task Should_return_string_when_object() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -324,7 +322,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
new JProperty("name", "Berlin")))) |
|
|
new JProperty("name", "Berlin")))) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv", @event); |
|
|
|
|
|
|
|
|
Assert.Equal(JObject.FromObject(new { name = "Berlin" }).ToString(Formatting.Indented), result); |
|
|
Assert.Equal(JObject.FromObject(new { name = "Berlin" }).ToString(Formatting.Indented), result); |
|
|
} |
|
|
} |
|
|
@ -332,7 +330,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_plain_value_from_array_when_found() |
|
|
public async Task Should_return_plain_value_from_array_when_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -342,7 +340,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
"Berlin"))) |
|
|
"Berlin"))) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv.0", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv.0", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("Berlin", result); |
|
|
Assert.Equal("Berlin", result); |
|
|
} |
|
|
} |
|
|
@ -350,7 +348,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_return_plain_value_from_object_when_found() |
|
|
public async Task Should_return_plain_value_from_object_when_found() |
|
|
{ |
|
|
{ |
|
|
var @event = new ContentCreated |
|
|
var @event = new EnrichedContentEvent |
|
|
{ |
|
|
{ |
|
|
Data = |
|
|
Data = |
|
|
new NamedContentData() |
|
|
new NamedContentData() |
|
|
@ -360,7 +358,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
new JProperty("name", "Berlin")))) |
|
|
new JProperty("name", "Berlin")))) |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv.name", AsEnvelope(@event)); |
|
|
var result = await sut.FormatStringAsync("$CONTENT_DATA.city.iv.name", @event); |
|
|
|
|
|
|
|
|
Assert.Equal("Berlin", result); |
|
|
Assert.Equal("Berlin", result); |
|
|
} |
|
|
} |
|
|
@ -368,16 +366,10 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules |
|
|
[Fact] |
|
|
[Fact] |
|
|
public async Task Should_format_content_actions_when_found() |
|
|
public async Task Should_format_content_actions_when_found() |
|
|
{ |
|
|
{ |
|
|
Assert.Equal("created", await sut.FormatStringAsync("$CONTENT_ACTION", AsEnvelope(new ContentCreated()))); |
|
|
Assert.Equal("created", await sut.FormatStringAsync("$CONTENT_ACTION", new EnrichedContentEvent { Action = EnrichedContentEventAction.Created })); |
|
|
Assert.Equal("updated", await sut.FormatStringAsync("$CONTENT_ACTION", AsEnvelope(new ContentUpdated()))); |
|
|
Assert.Equal("updated", await sut.FormatStringAsync("$CONTENT_ACTION", new EnrichedContentEvent { Action = EnrichedContentEventAction.Updated })); |
|
|
Assert.Equal("deleted", await sut.FormatStringAsync("$CONTENT_ACTION", AsEnvelope(new ContentDeleted()))); |
|
|
Assert.Equal("deleted", await sut.FormatStringAsync("$CONTENT_ACTION", new EnrichedContentEvent { Action = EnrichedContentEventAction.Deleted })); |
|
|
|
|
|
Assert.Equal("archived", await sut.FormatStringAsync("$CONTENT_ACTION", new EnrichedContentEvent { Action = EnrichedContentEventAction.Archived })); |
|
|
Assert.Equal("set to archived", await sut.FormatStringAsync("$CONTENT_ACTION", AsEnvelope(new ContentStatusChanged { Status = Status.Archived }))); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static Envelope<AppEvent> AsEnvelope<T>(T @event) where T : AppEvent |
|
|
|
|
|
{ |
|
|
|
|
|
return Envelope.Create<AppEvent>(@event).To<AppEvent>(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|