NEO-146: use collection spread in EncounterProgressApi
Apply IDE0305 to defeated-target ordering, assert stable sort in API tests, and document sorted defeatedTargetIds in Bruno.pull/187/head
parent
b455ff5ad5
commit
e0877fea7f
|
|
@ -7,6 +7,7 @@ meta {
|
|||
docs {
|
||||
NEO-108: fresh player row before engagement — inactive with empty defeatedTargetIds.
|
||||
Pre-request uses combat-targets dev fixture (also clears encounter progress for dev-local-1).
|
||||
Non-empty defeatedTargetIds are returned in stable sorted order.
|
||||
}
|
||||
|
||||
script:pre-request {
|
||||
|
|
|
|||
|
|
@ -124,6 +124,8 @@ public sealed class EncounterProgressApiTests
|
|||
PrototypeNpcRegistry.PrototypeNpcRangedId,
|
||||
],
|
||||
row.DefeatedTargetIds);
|
||||
Assert.True(row.DefeatedTargetIds.SequenceEqual(
|
||||
row.DefeatedTargetIds.OrderBy(static id => id, StringComparer.Ordinal)));
|
||||
Assert.Null(row.CompletedAt);
|
||||
Assert.Null(row.RewardGrantSummary);
|
||||
var completionStore = factory.Services.GetRequiredService<IEncounterCompletionStore>();
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ public static class EncounterProgressApi
|
|||
{
|
||||
var hasProgress = progressStore.TryGetProgress(playerId, encounterId, out var progress);
|
||||
var defeatedTargetIds = hasProgress
|
||||
? progress.DefeatedNpcInstanceIds.OrderBy(static id => id, StringComparer.Ordinal).ToArray()
|
||||
? [.. progress.DefeatedNpcInstanceIds.OrderBy(static id => id, StringComparer.Ordinal)]
|
||||
: Array.Empty<string>();
|
||||
|
||||
if (completionStore.IsCompleted(playerId, encounterId))
|
||||
|
|
|
|||
Loading…
Reference in New Issue