Fix FurthestAncestorOrSelfDynamicRootQueryStep and FurthestDescendantOrSelfDynamicRootQueryStep (#15113)
* Rename FarthestDescendantOrSelfDynamicRootQueryStep to FurthestDescendantOrSelfDynamicRootQueryStep * Rename FarthestAncestorOrSelfDynamicRootQueryStep to FurthestAncestorOrSelfDynamicRootQueryStep * Update integration test and repo
This commit is contained in:
committed by
GitHub
parent
913f48806a
commit
c0ca4685e8
@@ -90,9 +90,9 @@ public static partial class UmbracoBuilderExtensions
|
||||
|
||||
builder.DynamicRootSteps()
|
||||
.Append<NearestAncestorOrSelfDynamicRootQueryStep>()
|
||||
.Append<FarthestAncestorOrSelfDynamicRootQueryStep>()
|
||||
.Append<FurthestAncestorOrSelfDynamicRootQueryStep>()
|
||||
.Append<NearestDescendantOrSelfDynamicRootQueryStep>()
|
||||
.Append<FarthestDescendantOrSelfDynamicRootQueryStep>();
|
||||
.Append<FurthestDescendantOrSelfDynamicRootQueryStep>();
|
||||
|
||||
builder.Components();
|
||||
// register core CMS dashboards and 3rd party types - will be ordered by weight attribute & merged with package.manifest dashboards
|
||||
|
||||
@@ -4,18 +4,18 @@ using Umbraco.Extensions;
|
||||
|
||||
namespace Umbraco.Cms.Core.DynamicRoot.QuerySteps;
|
||||
|
||||
public class FarthestAncestorOrSelfDynamicRootQueryStep : IDynamicRootQueryStep
|
||||
public class FurthestAncestorOrSelfDynamicRootQueryStep : IDynamicRootQueryStep
|
||||
{
|
||||
private readonly ICoreScopeProvider _scopeProvider;
|
||||
private readonly IDynamicRootRepository _nodeFilterRepository;
|
||||
|
||||
public FarthestAncestorOrSelfDynamicRootQueryStep(ICoreScopeProvider scopeProvider, IDynamicRootRepository nodeFilterRepository)
|
||||
public FurthestAncestorOrSelfDynamicRootQueryStep(ICoreScopeProvider scopeProvider, IDynamicRootRepository nodeFilterRepository)
|
||||
{
|
||||
_scopeProvider = scopeProvider;
|
||||
_nodeFilterRepository = nodeFilterRepository;
|
||||
}
|
||||
|
||||
protected virtual string SupportedDirectionAlias { get; set; } = "FarthestAncestorOrSelf";
|
||||
protected virtual string SupportedDirectionAlias { get; set; } = "FurthestAncestorOrSelf";
|
||||
|
||||
public async Task<Attempt<ICollection<Guid>>> ExecuteAsync(ICollection<Guid> origins, DynamicRootQueryStep filter)
|
||||
{
|
||||
@@ -30,7 +30,7 @@ public class FarthestAncestorOrSelfDynamicRootQueryStep : IDynamicRootQueryStep
|
||||
}
|
||||
|
||||
using ICoreScope scope = _scopeProvider.CreateCoreScope(autoComplete: true);
|
||||
var result = (await _nodeFilterRepository.FarthestAncestorOrSelfAsync(origins, filter))?.ToSingleItemCollection() ?? Array.Empty<Guid>();
|
||||
var result = (await _nodeFilterRepository.FurthestAncestorOrSelfAsync(origins, filter))?.ToSingleItemCollection() ?? Array.Empty<Guid>();
|
||||
|
||||
return Attempt<ICollection<Guid>>.Succeed(result);
|
||||
}
|
||||
@@ -2,18 +2,18 @@ using Umbraco.Cms.Core.Scoping;
|
||||
|
||||
namespace Umbraco.Cms.Core.DynamicRoot.QuerySteps;
|
||||
|
||||
public class FarthestDescendantOrSelfDynamicRootQueryStep : IDynamicRootQueryStep
|
||||
public class FurthestDescendantOrSelfDynamicRootQueryStep : IDynamicRootQueryStep
|
||||
{
|
||||
private readonly ICoreScopeProvider _scopeProvider;
|
||||
private readonly IDynamicRootRepository _nodeFilterRepository;
|
||||
|
||||
public FarthestDescendantOrSelfDynamicRootQueryStep(ICoreScopeProvider scopeProvider, IDynamicRootRepository nodeFilterRepository)
|
||||
public FurthestDescendantOrSelfDynamicRootQueryStep(ICoreScopeProvider scopeProvider, IDynamicRootRepository nodeFilterRepository)
|
||||
{
|
||||
_scopeProvider = scopeProvider;
|
||||
_nodeFilterRepository = nodeFilterRepository;
|
||||
}
|
||||
|
||||
protected virtual string SupportedDirectionAlias { get; set; } = "FarthestDescendantOrSelf";
|
||||
protected virtual string SupportedDirectionAlias { get; set; } = "FurthestDescendantOrSelf";
|
||||
|
||||
public async Task<Attempt<ICollection<Guid>>> ExecuteAsync(ICollection<Guid> origins, DynamicRootQueryStep filter)
|
||||
{
|
||||
@@ -28,7 +28,7 @@ public class FarthestDescendantOrSelfDynamicRootQueryStep : IDynamicRootQuerySte
|
||||
}
|
||||
|
||||
using ICoreScope scope = _scopeProvider.CreateCoreScope(autoComplete: true);
|
||||
var result = await _nodeFilterRepository.FarthestDescendantOrSelfAsync(origins, filter);
|
||||
var result = await _nodeFilterRepository.FurthestDescendantOrSelfAsync(origins, filter);
|
||||
|
||||
return Attempt<ICollection<Guid>>.Succeed(result);
|
||||
}
|
||||
@@ -4,9 +4,9 @@ public interface IDynamicRootRepository
|
||||
{
|
||||
Task<Guid?> NearestAncestorOrSelfAsync(IEnumerable<Guid> origins, DynamicRootQueryStep queryStep);
|
||||
|
||||
Task<Guid?> FarthestAncestorOrSelfAsync(IEnumerable<Guid> origins, DynamicRootQueryStep queryStep);
|
||||
Task<Guid?> FurthestAncestorOrSelfAsync(IEnumerable<Guid> origins, DynamicRootQueryStep queryStep);
|
||||
|
||||
Task<ICollection<Guid>> NearestDescendantOrSelfAsync(ICollection<Guid> origins, DynamicRootQueryStep queryStep);
|
||||
|
||||
Task<ICollection<Guid>> FarthestDescendantOrSelfAsync(ICollection<Guid> origins, DynamicRootQueryStep queryStep);
|
||||
Task<ICollection<Guid>> FurthestDescendantOrSelfAsync(ICollection<Guid> origins, DynamicRootQueryStep queryStep);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class DynamicRootRepository: IDynamicRootRepository
|
||||
return await Database.SingleOrDefaultAsync<Guid?>(query);
|
||||
}
|
||||
|
||||
public async Task<Guid?> FarthestAncestorOrSelfAsync(IEnumerable<Guid> origins, DynamicRootQueryStep filter) {
|
||||
public async Task<Guid?> FurthestAncestorOrSelfAsync(IEnumerable<Guid> origins, DynamicRootQueryStep filter) {
|
||||
Sql<ISqlContext> query = Database.SqlContext.SqlSyntax.SelectTop(
|
||||
GetAncestorOrSelfBaseQuery(origins, filter)
|
||||
.Append($"ORDER BY n.level ASC"),
|
||||
@@ -83,7 +83,7 @@ public class DynamicRootRepository: IDynamicRootRepository
|
||||
return await Database.FetchAsync<Guid>(query);
|
||||
}
|
||||
|
||||
public async Task<ICollection<Guid>> FarthestDescendantOrSelfAsync(ICollection<Guid> origins, DynamicRootQueryStep filter)
|
||||
public async Task<ICollection<Guid>> FurthestDescendantOrSelfAsync(ICollection<Guid> origins, DynamicRootQueryStep filter)
|
||||
{
|
||||
var level = Database.Single<int>(Database.SqlContext.Sql()
|
||||
.Select("COALESCE(MAX(n.level), 0)")
|
||||
|
||||
@@ -34,7 +34,7 @@ public class DynamicRootServiceTests : UmbracoIntegrationTest
|
||||
{
|
||||
NearestAncestorOrSelf,
|
||||
NearestDescendantOrSelf,
|
||||
FarthestDescendantOrSelf,
|
||||
FurthestDescendantOrSelf,
|
||||
}
|
||||
|
||||
protected IContentTypeService ContentTypeService => GetRequiredService<IContentTypeService>();
|
||||
@@ -240,7 +240,7 @@ public class DynamicRootServiceTests : UmbracoIntegrationTest
|
||||
|
||||
[Test]
|
||||
[TestCase(DynamicRootStepAlias.NearestDescendantOrSelf)]
|
||||
[TestCase(DynamicRootStepAlias.FarthestDescendantOrSelf)]
|
||||
[TestCase(DynamicRootStepAlias.FurthestDescendantOrSelf)]
|
||||
public async Task
|
||||
GetDynamicRoots__DescendantOrSelf_must_handle_when_there_is_not_found_any_and_level_becomes_impossible_to_get(
|
||||
DynamicRootStepAlias dynamicRootAlias)
|
||||
@@ -323,7 +323,7 @@ public class DynamicRootServiceTests : UmbracoIntegrationTest
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetDynamicRoots__FarthestDescendantOrSelf__has_to_find_only_the_farthest()
|
||||
public async Task GetDynamicRoots__FurthestDescendantOrSelf__has_to_find_only_the_furthest()
|
||||
{
|
||||
// Arrange
|
||||
|
||||
@@ -351,7 +351,7 @@ public class DynamicRootServiceTests : UmbracoIntegrationTest
|
||||
{
|
||||
new DynamicRootQueryStep()
|
||||
{
|
||||
Alias = DynamicRootStepAlias.FarthestDescendantOrSelf.ToString(),
|
||||
Alias = DynamicRootStepAlias.FurthestDescendantOrSelf.ToString(),
|
||||
AnyOfDocTypeKeys = new[] { ContentTypeActs.Key },
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user