Browse Source

Tests fixed.

pull/478/head
Sebastian 6 years ago
parent
commit
1a5028b354
  1. 4
      backend/src/Squidex.Domain.Apps.Core.Operations/DefaultValues/DefaultValueFactory.cs
  2. 8
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/JsonValueConverter.cs
  3. 37
      backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs
  4. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/DefaultValues/DefaultValuesTests.cs
  5. 4
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/DateTimeFieldTests.cs
  6. 2
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/AssetCommandMiddlewareTests.cs
  7. 6
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveAssetsTests.cs
  8. 4
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveReferencesTests.cs

4
backend/src/Squidex.Domain.Apps.Core.Operations/DefaultValues/DefaultValueFactory.cs

@ -83,7 +83,7 @@ namespace Squidex.Domain.Apps.Core.DefaultValues
{ {
if (field.Properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Now) if (field.Properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Now)
{ {
return JsonValue.Create(now.ToString()); return JsonValue.Create(now);
} }
if (field.Properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Today) if (field.Properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Today)
@ -91,7 +91,7 @@ namespace Squidex.Domain.Apps.Core.DefaultValues
return JsonValue.Create($"{now.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)}T00:00:00Z"); return JsonValue.Create($"{now.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)}T00:00:00Z");
} }
return JsonValue.Create(field.Properties.DefaultValue?.ToString()); return JsonValue.Create(field.Properties.DefaultValue);
} }
} }
} }

8
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/JsonValueConverter.cs

@ -91,7 +91,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent
if (!parseResult.Success) if (!parseResult.Success)
{ {
throw parseResult.Exception; return (null, new JsonError(parseResult.Exception.Message));
} }
return (parseResult.Value, null); return (parseResult.Value, null);
@ -156,7 +156,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent
{ {
if (value is JsonArray array) if (value is JsonArray array)
{ {
var result = new List<Guid>(); var result = new List<Guid>(array.Count);
foreach (var item in array) foreach (var item in array)
{ {
@ -180,7 +180,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent
{ {
if (value is JsonArray array) if (value is JsonArray array)
{ {
var result = new List<string?>(); var result = new List<string?>(array.Count);
foreach (var item in array) foreach (var item in array)
{ {
@ -208,7 +208,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent
{ {
if (value is JsonArray array) if (value is JsonArray array)
{ {
var result = new List<JsonObject>(); var result = new List<JsonObject>(array.Count);
foreach (var item in array) foreach (var item in array)
{ {

37
backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs

@ -82,31 +82,41 @@ namespace Squidex.Infrastructure.Json.Objects
return Create(value.ToString()); return Create(value.ToString());
} }
public static IJsonValue Create(bool value) public static IJsonValue Create(Guid? value)
{ {
return value ? True : False; if (value == null)
{
return Null;
}
return Create(value.Value);
} }
public static IJsonValue Create(double value) public static IJsonValue Create(Instant value)
{ {
Guard.ValidNumber(value); return Create(value.ToString());
}
if (value == 0) public static IJsonValue Create(Instant? value)
{
if (value == null)
{ {
return Zero; return Null;
} }
return new JsonNumber(value); return Create(value.Value);
} }
public static IJsonValue Create(Instant? value) public static IJsonValue Create(double value)
{ {
if (value == null) Guard.ValidNumber(value);
if (value == 0)
{ {
return Null; return Zero;
} }
return Create(value.Value.ToString()); return new JsonNumber(value);
} }
public static IJsonValue Create(double? value) public static IJsonValue Create(double? value)
@ -119,6 +129,11 @@ namespace Squidex.Infrastructure.Json.Objects
return Create(value.Value); return Create(value.Value);
} }
public static IJsonValue Create(bool value)
{
return value ? True : False;
}
public static IJsonValue Create(bool? value) public static IJsonValue Create(bool? value)
{ {
if (value == null) if (value == null)

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/DefaultValues/DefaultValuesTests.cs

@ -107,7 +107,7 @@ namespace Squidex.Domain.Apps.Core.Operations.DefaultValues
Fields.DateTime(1, "1", Partitioning.Invariant, Fields.DateTime(1, "1", Partitioning.Invariant,
new DateTimeFieldProperties { DefaultValue = FutureDays(15) }); new DateTimeFieldProperties { DefaultValue = FutureDays(15) });
Assert.Equal(JsonValue.Create(FutureDays(15).ToString()), DefaultValueFactory.CreateDefaultValue(field, now)); Assert.Equal(JsonValue.Create(FutureDays(15)), DefaultValueFactory.CreateDefaultValue(field, now));
} }
[Fact] [Fact]

4
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/DateTimeFieldTests.cs

@ -79,7 +79,7 @@ namespace Squidex.Domain.Apps.Core.Operations.ValidateContent
await sut.ValidateAsync(JsonValue.Create("Invalid"), errors); await sut.ValidateAsync(JsonValue.Create("Invalid"), errors);
errors.Should().BeEquivalentTo( errors.Should().BeEquivalentTo(
new[] { "Not a valid value." }); new[] { "The value string does not match the required number from the format string \"uuuu\". Value being parsed: '^Invalid'. (^ indicates error position.)" });
} }
[Fact] [Fact]
@ -100,7 +100,7 @@ namespace Squidex.Domain.Apps.Core.Operations.ValidateContent
private static IJsonValue CreateValue(Instant v) private static IJsonValue CreateValue(Instant v)
{ {
return JsonValue.Create(v.ToString()); return JsonValue.Create(v);
} }
private static RootField<DateTimeFieldProperties> Field(DateTimeFieldProperties properties) private static RootField<DateTimeFieldProperties> Field(DateTimeFieldProperties properties)

2
backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/AssetCommandMiddlewareTests.cs

@ -301,7 +301,7 @@ namespace Squidex.Domain.Apps.Entities.Assets
FileSize = fileSize FileSize = fileSize
}; };
A.CallTo(() => assetQuery.QueryByHashAsync(A<Context>.That.Matches(x => x.ShouldEnrichAsset()), A<Guid>.Ignored, A<string>.Ignored)) A.CallTo(() => assetQuery.QueryByHashAsync(A<Context>.That.Matches(x => !x.ShouldEnrichAsset()), A<Guid>.Ignored, A<string>.Ignored))
.Returns(new List<IEnrichedAssetEntity> { duplicate }); .Returns(new List<IEnrichedAssetEntity> { duplicate });
} }

6
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveAssetsTests.cs

@ -26,8 +26,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
{ {
public class ResolveAssetsTests public class ResolveAssetsTests
{ {
private readonly IContentWorkflow contentWorkflow = A.Fake<IContentWorkflow>();
private readonly IContentQueryService contentQuery = A.Fake<IContentQueryService>();
private readonly IAssetQueryService assetQuery = A.Fake<IAssetQueryService>(); private readonly IAssetQueryService assetQuery = A.Fake<IAssetQueryService>();
private readonly IAssetUrlGenerator assetUrlGenerator = A.Fake<IAssetUrlGenerator>(); private readonly IAssetUrlGenerator assetUrlGenerator = A.Fake<IAssetUrlGenerator>();
private readonly NamedId<Guid> appId = NamedId.Of(Guid.NewGuid(), "my-app"); private readonly NamedId<Guid> appId = NamedId.Of(Guid.NewGuid(), "my-app");
@ -93,7 +91,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
new[] { document2.Id, image2.Id }) new[] { document2.Id, image2.Id })
}; };
A.CallTo(() => assetQuery.QueryAsync(A<Context>.That.Matches(x => x.ShouldEnrichAsset()), null, A<Q>.That.Matches(x => x.Ids.Count == 4))) A.CallTo(() => assetQuery.QueryAsync(A<Context>.That.Matches(x => !x.ShouldEnrichAsset()), null, A<Q>.That.Matches(x => x.Ids.Count == 4)))
.Returns(ResultList.CreateFrom(4, image1, image2, document1, document2)); .Returns(ResultList.CreateFrom(4, image1, image2, document1, document2));
await sut.EnrichAsync(requestContext, source, schemaProvider); await sut.EnrichAsync(requestContext, source, schemaProvider);
@ -128,7 +126,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
new[] { document2.Id, image2.Id }) new[] { document2.Id, image2.Id })
}; };
A.CallTo(() => assetQuery.QueryAsync(A<Context>.That.Matches(x => x.ShouldEnrichAsset()), null, A<Q>.That.Matches(x => x.Ids.Count == 4))) A.CallTo(() => assetQuery.QueryAsync(A<Context>.That.Matches(x => !x.ShouldEnrichAsset()), null, A<Q>.That.Matches(x => x.Ids.Count == 4)))
.Returns(ResultList.CreateFrom(4, image1, image2, document1, document2)); .Returns(ResultList.CreateFrom(4, image1, image2, document1, document2));
await sut.EnrichAsync(requestContext, source, schemaProvider); await sut.EnrichAsync(requestContext, source, schemaProvider);

4
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveReferencesTests.cs

@ -142,7 +142,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
CreateContent(new[] { ref1_2.Id }, new[] { ref2_2.Id }) CreateContent(new[] { ref1_2.Id }, new[] { ref2_2.Id })
}; };
A.CallTo(() => contentQuery.QueryAsync(A<Context>.That.Matches(x => x.ShouldEnrichContent()), A<IReadOnlyList<Guid>>.That.Matches(x => x.Count == 4))) A.CallTo(() => contentQuery.QueryAsync(A<Context>.That.Matches(x => !x.ShouldEnrichContent()), A<IReadOnlyList<Guid>>.That.Matches(x => x.Count == 4)))
.Returns(ResultList.CreateFrom(4, ref1_1, ref1_2, ref2_1, ref2_2)); .Returns(ResultList.CreateFrom(4, ref1_1, ref1_2, ref2_1, ref2_2));
await sut.EnrichAsync(requestContext, source, schemaProvider); await sut.EnrichAsync(requestContext, source, schemaProvider);
@ -194,7 +194,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
CreateContent(new[] { ref1_2.Id }, new[] { ref2_1.Id, ref2_2.Id }) CreateContent(new[] { ref1_2.Id }, new[] { ref2_1.Id, ref2_2.Id })
}; };
A.CallTo(() => contentQuery.QueryAsync(A<Context>.That.Matches(x => x.ShouldEnrichContent()), A<IReadOnlyList<Guid>>.That.Matches(x => x.Count == 4))) A.CallTo(() => contentQuery.QueryAsync(A<Context>.That.Matches(x => !x.ShouldEnrichContent()), A<IReadOnlyList<Guid>>.That.Matches(x => x.Count == 4)))
.Returns(ResultList.CreateFrom(4, ref1_1, ref1_2, ref2_1, ref2_2)); .Returns(ResultList.CreateFrom(4, ref1_1, ref1_2, ref2_1, ref2_2));
await sut.EnrichAsync(requestContext, source, schemaProvider); await sut.EnrichAsync(requestContext, source, schemaProvider);

Loading…
Cancel
Save