Browse Source

Merge branch 'master' of github.com:Squidex/squidex

# Conflicts:
#	backend/Squidex.sln
#	backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj
#	backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj
#	backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
#	backend/src/Squidex/Squidex.csproj
#	backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/MongoQueryTests.cs
#	backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj
pull/1185/head
Sebastian Stehle 1 year ago
parent
commit
25e04d922b
  1. 19
      backend/Squidex.sln
  2. 10
      backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj
  3. 4
      backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj
  4. 14
      backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  5. 2
      backend/src/Squidex/Config/Domain/SerializationServices.cs
  6. 24
      backend/src/Squidex/Squidex.csproj
  7. 3
      backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/MongoQueryTests.cs
  8. 2
      backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj
  9. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
  10. 24
      backend/tests/Squidex.Domain.Apps.Core.Tests/TestHelpers/TestUtils.cs
  11. 1
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/GraphQLTestBase.cs
  12. 2
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
  13. 32
      backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/VerifySettings.cs
  14. 3
      backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
  15. 12
      backend/tests/Squidex.Infrastructure.Tests/EventSourcing/Consume/EventConsumerProcessorTests.cs
  16. 2
      backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
  17. 2
      backend/tests/Squidex.Infrastructure.Tests/TestHelpers/TestUtils.cs
  18. 2
      backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj
  19. 30
      tools/e2e/package-lock.json
  20. 2
      tools/e2e/package.json
  21. 2
      tools/e2e/tests/login-start.spec.ts
  22. 2
      tools/e2e/tests/login.spec.ts

19
backend/Squidex.sln

@ -22,8 +22,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Shared", "src\Squid
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users", "src\Squidex.Domain.Users\Squidex.Domain.Users.csproj", "{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users.MongoDb", "src\Squidex.Domain.Users.MongoDb\Squidex.Domain.Users.MongoDb.csproj", "{27CF800D-890F-4882-BF05-44EC3233537D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users.Tests", "tests\Squidex.Domain.Users.Tests\Squidex.Domain.Users.Tests.csproj", "{42184546-E3CB-4D4F-9495-43979B9C63B9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{360C300D-0F7E-439D-A437-714C959E3CAD}"
@ -54,9 +52,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Migrations", "src\Migration
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "data", "data", "{3378B841-53F8-48CC-87C1-1B30CF912BFD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Squidex.Data.MongoDb", "src\Squidex.Data.MongoDb\Squidex.Data.MongoDb.csproj", "{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.MongoDb", "src\Squidex.Data.MongoDb\Squidex.Data.MongoDb.csproj", "{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Squidex.Data.Tests", "tests\Squidex.Data.Tests\Squidex.Data.Tests.csproj", "{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.Tests", "tests\Squidex.Data.Tests\Squidex.Data.Tests.csproj", "{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -132,18 +130,6 @@ Global
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x64.Build.0 = Release|Any CPU
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x86.ActiveCfg = Release|Any CPU
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x86.Build.0 = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x64.ActiveCfg = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x64.Build.0 = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x86.ActiveCfg = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x86.Build.0 = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|Any CPU.Build.0 = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x64.ActiveCfg = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x64.Build.0 = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x86.ActiveCfg = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x86.Build.0 = Release|Any CPU
{42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -287,7 +273,6 @@ Global
{FD0AFD44-7A93-4F9E-B5ED-72582392E435} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{27CF800D-890F-4882-BF05-44EC3233537D} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{42184546-E3CB-4D4F-9495-43979B9C63B9} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{F0A83301-50A5-40EA-A1A2-07C7858F5A3F} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{6B3F75B6-5888-468E-BA4F-4FC725DAEF31} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}

10
backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj

@ -25,11 +25,11 @@
<PackageReference Include="MongoDB.Driver.Core.Extensions.DiagnosticSources" Version="1.5.0" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.30.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.AI.Mongo" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.Mongo" Version="6.26.0" />
<PackageReference Include="Squidex.Events.Mongo" Version="6.26.0" />
<PackageReference Include="Squidex.Hosting" Version="6.26.0" />
<PackageReference Include="Squidex.Messaging.Mongo" Version="6.26.0" />
<PackageReference Include="Squidex.AI.Mongo" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.Mongo" Version="6.28.0" />
<PackageReference Include="Squidex.Events.Mongo" Version="6.28.0" />
<PackageReference Include="Squidex.Hosting" Version="6.28.0" />
<PackageReference Include="Squidex.Messaging.Mongo" Version="6.28.0" />
<PackageReference Include="Squidex.OpenIddict.MongoDb" Version="5.8.1" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

4
backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj

@ -28,8 +28,8 @@
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.1" />
<PackageReference Include="NJsonSchema" Version="11.0.2" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.AI" Version="6.26.0" />
<PackageReference Include="Squidex.Messaging.Subscriptions" Version="6.26.0" />
<PackageReference Include="Squidex.AI" Version="6.28.0" />
<PackageReference Include="Squidex.Messaging.Subscriptions" Version="6.28.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
<PackageReference Include="System.Linq.Async" Version="6.0.1" />

14
backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -24,13 +24,13 @@
<PackageReference Include="NodaTime" Version="3.2.0" />
<PackageReference Include="OpenTelemetry.Api" Version="1.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.Assets" Version="6.26.0" />
<PackageReference Include="Squidex.Caching" Version="6.26.0" />
<PackageReference Include="Squidex.Events" Version="6.26.0" />
<PackageReference Include="Squidex.Hosting.Abstractions" Version="6.26.0" />
<PackageReference Include="Squidex.Log" Version="6.26.0" />
<PackageReference Include="Squidex.Messaging" Version="6.26.0" />
<PackageReference Include="Squidex.Text" Version="6.26.0" />
<PackageReference Include="Squidex.Assets" Version="6.28.0" />
<PackageReference Include="Squidex.Caching" Version="6.28.0" />
<PackageReference Include="Squidex.Events" Version="6.28.0" />
<PackageReference Include="Squidex.Hosting.Abstractions" Version="6.28.0" />
<PackageReference Include="Squidex.Log" Version="6.28.0" />
<PackageReference Include="Squidex.Messaging" Version="6.28.0" />
<PackageReference Include="Squidex.Text" Version="6.28.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />

2
backend/src/Squidex/Config/Domain/SerializationServices.cs

@ -26,6 +26,7 @@ using Squidex.Domain.Apps.Core.Rules.Json;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Core.Schemas.Json;
using Squidex.Domain.Apps.Events;
using Squidex.Events.Utils;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.EventSourcing;
@ -48,6 +49,7 @@ public static class SerializationServices
options.Converters.Add(new StringConverter<PropertyPath>(x => x));
options.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
options.Converters.Add(new HeaderValueConverter());
options.Converters.Add(new GeoJsonConverterFactory());
options.Converters.Add(new PolymorphicConverter<IEvent>(typeRegistry));
options.Converters.Add(new PolymorphicConverter<EnrichedEvent>(typeRegistry));

24
backend/src/Squidex/Squidex.csproj

@ -61,20 +61,18 @@
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="5.4.1" PrivateAssets="all" />
<PackageReference Include="Squidex.Assets.Azure" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.GoogleCloud" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.FTP" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.ImageMagick" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.ImageSharp" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.Mongo" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.S3" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.TusAdapter" Version="6.26.0" />
<PackageReference Include="Squidex.Assets.Azure" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.GoogleCloud" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.FTP" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.ImageMagick" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.ImageSharp" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.S3" Version="6.28.0" />
<PackageReference Include="Squidex.Assets.TusAdapter" Version="6.28.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="20.1.0" />
<PackageReference Include="Squidex.Events.GetEventStore" Version="6.26.0" />
<PackageReference Include="Squidex.Hosting" Version="6.26.0" />
<PackageReference Include="Squidex.Messaging.All" Version="6.26.0" />
<PackageReference Include="Squidex.Messaging.Subscriptions" Version="6.26.0" />
<PackageReference Include="Squidex.OpenIddict.MongoDb" Version="5.8.1" />
<PackageReference Include="Squidex.Events.GetEventStore" Version="6.28.0" />
<PackageReference Include="Squidex.Hosting" Version="6.28.0" />
<PackageReference Include="Squidex.Messaging.All" Version="6.28.0" />
<PackageReference Include="Squidex.Messaging.Subscriptions" Version="6.28.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="YDotNet" Version="0.4.1" />
<PackageReference Include="YDotNet.Native" Version="0.4.1" />

3
backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/MongoQueryTests.cs

@ -11,7 +11,6 @@ using NodaTime;
using NodaTime.Text;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.TestHelpers;
using Squidex.TestHelpers;
using ClrFilter = Squidex.Infrastructure.Queries.ClrFilter;
@ -19,7 +18,7 @@ namespace Squidex.MongoDb.Infrastructure;
public class MongoQueryTests
{
private sealed class TestEntity
public sealed class TestEntity
{
public DomainId Id { get; set; }

2
backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj

@ -17,7 +17,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="8.3.0" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
<PackageReference Include="Meziantou.Analyzer" Version="2.0.179">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj

@ -14,7 +14,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="8.3.0" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
<PackageReference Include="Meziantou.Analyzer" Version="2.0.179">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

24
backend/tests/Squidex.Domain.Apps.Core.Tests/TestHelpers/TestUtils.cs

@ -23,6 +23,7 @@ using Squidex.Domain.Apps.Core.Rules.Json;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Core.Schemas.Json;
using Squidex.Domain.Apps.Events;
using Squidex.Events.Utils;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.EventSourcing;
@ -80,13 +81,23 @@ public static class TestUtils
options.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
options.Converters.Add(new GeoJsonConverterFactory());
options.Converters.Add(new PolymorphicConverter<IEvent>(TypeRegistry));
options.Converters.Add(new HeaderValueConverter());
options.Converters.Add(new JsonValueConverter());
options.Converters.Add(new PolymorphicConverter<FieldProperties>(TypeRegistry));
options.Converters.Add(new PolymorphicConverter<IEvent>(TypeRegistry));
options.Converters.Add(new PolymorphicConverter<RuleAction>(TypeRegistry));
options.Converters.Add(new PolymorphicConverter<RuleTrigger>(TypeRegistry));
options.Converters.Add(new JsonValueConverter());
options.Converters.Add(new ReadonlyDictionaryConverterFactory());
options.Converters.Add(new ReadonlyListConverterFactory());
options.Converters.Add(new StringConverter<CompareOperator>());
options.Converters.Add(new StringConverter<DomainId>());
options.Converters.Add(new StringConverter<Language>());
options.Converters.Add(new StringConverter<NamedId<DomainId>>());
options.Converters.Add(new StringConverter<NamedId<Guid>>());
options.Converters.Add(new StringConverter<NamedId<long>>());
options.Converters.Add(new StringConverter<NamedId<string>>());
options.Converters.Add(new StringConverter<RefToken>());
options.Converters.Add(new StringConverter<Status>());
options.Converters.Add(new SurrogateJsonConverter<ClaimsPrincipal, ClaimsPrincipalSurrogate>());
options.Converters.Add(new SurrogateJsonConverter<FieldCollection<RootField>, FieldsSurrogate>());
options.Converters.Add(new SurrogateJsonConverter<FilterNode<JsonValue>, JsonFilterSurrogate>());
@ -97,15 +108,6 @@ public static class TestUtils
options.Converters.Add(new SurrogateJsonConverter<Schema, SchemaSurrogate>());
options.Converters.Add(new SurrogateJsonConverter<WorkflowStep, WorkflowStepSurrogate>());
options.Converters.Add(new SurrogateJsonConverter<WorkflowTransition, WorkflowTransitionSurrogate>());
options.Converters.Add(new StringConverter<CompareOperator>());
options.Converters.Add(new StringConverter<DomainId>());
options.Converters.Add(new StringConverter<NamedId<DomainId>>());
options.Converters.Add(new StringConverter<NamedId<Guid>>());
options.Converters.Add(new StringConverter<NamedId<long>>());
options.Converters.Add(new StringConverter<NamedId<string>>());
options.Converters.Add(new StringConverter<Language>());
options.Converters.Add(new StringConverter<RefToken>());
options.Converters.Add(new StringConverter<Status>());
options.Converters.Add(new JsonStringEnumConverter());
options.IncludeFields = true;
options.TypeInfoResolver = new DefaultJsonTypeInfoResolver()

1
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/GraphQLTestBase.cs

@ -118,6 +118,7 @@ public abstract class GraphQLTestBase : IClassFixture<TranslationsFixture>
var serviceProvider =
new ServiceCollection()
.AddSingleton(TimeProvider.System)
.AddLogging(options =>
{
options.AddDebug();

2
backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj

@ -21,7 +21,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="8.3.0" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
<PackageReference Include="GraphQL" Version="8.2.1" />
<PackageReference Include="GraphQL.SystemTextJson" Version="8.2.1" />
<PackageReference Include="Lorem.Universal.Net" Version="4.0.80" />

32
backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/VerifySettings.cs

@ -9,6 +9,7 @@ using System.Runtime.CompilerServices;
using Argon;
using NodaTime;
using NodaTime.Text;
using Squidex.Events;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Json.Objects;
@ -47,6 +48,28 @@ public static partial class VerifySettings
}
}
private sealed class HeaderValueConverter : WriteOnlyJsonConverter<HeaderValue>
{
public override void Write(VerifyJsonWriter writer, HeaderValue value)
{
switch (value.Value)
{
case string s:
writer.WriteValue(s);
break;
case double n:
writer.WriteValue(n);
break;
case bool b:
writer.WriteValue(b);
break;
case null:
writer.WriteNull();
break;
}
}
}
private sealed class JsonValueConverter : WriteOnlyJsonConverter<JsonValue>
{
public override void Write(VerifyJsonWriter writer, JsonValue value)
@ -128,15 +151,22 @@ public static partial class VerifySettings
VerifierSettings.AddExtraSettings(s =>
{
s.Converters.Add(new HeaderValueConverter());
s.Converters.Add(new JsonArrayConverter());
s.Converters.Add(new JsonObjectConverter());
s.Converters.Add(new JsonValueConverter());
s.ContractResolver = new ContractResolver(s.ContractResolver!);
});
static bool IsDateTime(object? value)
{
return value is string s && InstantPattern.ExtendedIso.Parse(s).Success;
}
VerifierSettings.ScrubInlineGuids();
VerifierSettings.IgnoreMembersWithType<Instant>();
VerifierSettings.IgnoreInstance<JsonValue>(x => x.Type == JsonValueType.String && InstantPattern.ExtendedIso.Parse(x.ToString()).Success);
VerifierSettings.IgnoreInstance<HeaderValue>(x => IsDateTime(x.Value));
VerifierSettings.IgnoreInstance<JsonValue>(x => IsDateTime(x.Value));
VerifierSettings.IgnoreMember("Secret");
}
}

3
backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

@ -8,14 +8,13 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Squidex.Domain.Users.MongoDb\Squidex.Domain.Users.MongoDb.csproj" />
<ProjectReference Include="..\..\src\Squidex.Domain.Users\Squidex.Domain.Users.csproj" />
<ProjectReference Include="..\..\src\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
<ProjectReference Include="..\..\src\Squidex.Shared\Squidex.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="8.3.0" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
<PackageReference Include="Meziantou.Analyzer" Version="2.0.179">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

12
backend/tests/Squidex.Infrastructure.Tests/EventSourcing/Consume/EventConsumerProcessorTests.cs

@ -59,7 +59,7 @@ public class EventConsumerProcessorTests
}
};
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<string>._))
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<StreamPosition>._))
.Returns(eventSubscription);
A.CallTo(() => eventConsumer.Name)
@ -128,7 +128,7 @@ public class EventConsumerProcessorTests
AssertGrainState(isStopped: true, position: initialPosition);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<string>._))
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<StreamPosition>._))
.MustNotHaveHappened();
}
@ -142,7 +142,7 @@ public class EventConsumerProcessorTests
AssertGrainState(isStopped: false, position: initialPosition);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<string>._))
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<StreamPosition>._))
.MustHaveHappenedOnceExactly();
}
@ -158,7 +158,7 @@ public class EventConsumerProcessorTests
AssertGrainState(isStopped: false, position: initialPosition);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<string>._))
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<StreamPosition>._))
.MustHaveHappenedOnceExactly();
}
@ -172,7 +172,7 @@ public class EventConsumerProcessorTests
AssertGrainState(isStopped: false, position: initialPosition);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<string>._))
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<StreamPosition>._))
.MustHaveHappenedOnceExactly();
}
@ -529,7 +529,7 @@ public class EventConsumerProcessorTests
A.CallTo(() => eventSubscription.Dispose())
.MustHaveHappenedOnceExactly();
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<string>._))
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber<StoredEvent>>._, A<StreamFilter>._, A<StreamPosition>._))
.MustHaveHappened(2, Times.Exactly);
}

2
backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj

@ -13,7 +13,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="8.3.0" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
<PackageReference Include="Meziantou.Analyzer" Version="2.0.179">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

2
backend/tests/Squidex.Infrastructure.Tests/TestHelpers/TestUtils.cs

@ -10,6 +10,7 @@ using System.Text.Json;
using System.Text.Json.Serialization;
using NodaTime;
using NodaTime.Serialization.SystemTextJson;
using Squidex.Events.Utils;
using Squidex.Infrastructure.Json;
using Squidex.Infrastructure.Json.Objects;
using Squidex.Infrastructure.Json.System;
@ -47,6 +48,7 @@ public static class TestUtils
options.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
options.Converters.Add(new JsonValueConverter());
options.Converters.Add(new HeaderValueConverter());
options.Converters.Add(new ReadonlyDictionaryConverterFactory());
options.Converters.Add(new ReadonlyListConverterFactory());
options.Converters.Add(new SurrogateJsonConverter<ClaimsPrincipal, ClaimsPrincipalSurrogate>());

2
backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj

@ -15,7 +15,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="8.3.0" />
<PackageReference Include="FluentAssertions" Version="6.12.2" />
<PackageReference Include="FluentAssertions" Version="[7.0.0]" />
<PackageReference Include="Meziantou.Analyzer" Version="2.0.179">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

30
tools/e2e/package-lock.json

@ -12,7 +12,7 @@
"uuid": "^10.0.0"
},
"devDependencies": {
"@playwright/test": "^1.40.0",
"@playwright/test": "^1.49.1",
"@types/node": "^20.9.3",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^6.12.0",
@ -157,18 +157,18 @@
}
},
"node_modules/@playwright/test": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.0.tgz",
"integrity": "sha512-PdW+kn4eV99iP5gxWNSDQCbhMaDVej+RXL5xr6t04nbKLCBwYtA046t7ofoczHOm8u6c+45hpDKQVZqtqwkeQg==",
"version": "1.49.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz",
"integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==",
"dev": true,
"dependencies": {
"playwright": "1.40.0"
"playwright": "1.49.1"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=16"
"node": ">=18"
}
},
"node_modules/@types/json-schema": {
@ -2267,33 +2267,33 @@
}
},
"node_modules/playwright": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.0.tgz",
"integrity": "sha512-gyHAgQjiDf1m34Xpwzaqb76KgfzYrhK7iih+2IzcOCoZWr/8ZqmdBw+t0RU85ZmfJMgtgAiNtBQ/KS2325INXw==",
"version": "1.49.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",
"integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==",
"dev": true,
"dependencies": {
"playwright-core": "1.40.0"
"playwright-core": "1.49.1"
},
"bin": {
"playwright": "cli.js"
},
"engines": {
"node": ">=16"
"node": ">=18"
},
"optionalDependencies": {
"fsevents": "2.3.2"
}
},
"node_modules/playwright-core": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.0.tgz",
"integrity": "sha512-fvKewVJpGeca8t0ipM56jkVSU6Eo0RmFvQ/MaCQNDYm+sdvKkMBBWTE1FdeMqIdumRaXXjZChWHvIzCGM/tA/Q==",
"version": "1.49.1",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",
"integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==",
"dev": true,
"bin": {
"playwright-core": "cli.js"
},
"engines": {
"node": ">=16"
"node": ">=18"
}
},
"node_modules/prelude-ls": {

2
tools/e2e/package.json

@ -12,7 +12,7 @@
"author": "Sebastian",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.40.0",
"@playwright/test": "^1.49.1",
"@types/node": "^20.9.3",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^6.12.0",

2
tools/e2e/tests/login-start.spec.ts

@ -16,5 +16,5 @@ test('has title', async ({ page }) => {
});
test('visual test', async ({ page }) => {
await expect(page).toHaveScreenshot();
await expect(page).toHaveScreenshot({ maxDiffPixelRatio: 0.05 });
});

2
tools/e2e/tests/login.spec.ts

@ -25,5 +25,5 @@ test('login', async ({ page, loginPage }) => {
test('visual test', async ({ loginPage }) => {
const popup = await loginPage.openPopup();
await expect(popup.root).toHaveScreenshot({ fullPage: true });
await expect(popup.root).toHaveScreenshot({ maxDiffPixelRatio: 0.05, fullPage: true });
});
Loading…
Cancel
Save