refactor(battle-node): remove ScriptedBotParticipant and dev-affordance wiring
Deletes the scripted opponent and every entry point that created a BattleType.Scripted session (the ?scripted=1 query opt-in, the SoloDefaultsToScripted toggle, the resolver short-circuit, the WS handler case, the bridge validation arm). Real two-client PvP and the Bot matchmaking-timeout fallback are untouched. ResolveAsync drops its scriptedOptIn parameter. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -35,41 +35,6 @@ public class MatchingResolverTests
|
||||
CountryCode: "JP", UserName: $"P{vid}", SleeveId: "0",
|
||||
EmblemId: "0", DegreeId: "0", FieldId: 0, IsOfficial: 0, BattleType: 11));
|
||||
|
||||
[Test]
|
||||
public async Task When_scriptedOptIn_is_true_registers_Scripted_and_returns_3004()
|
||||
{
|
||||
var h = BuildHarness();
|
||||
var player = Player();
|
||||
h.Bridge.Setup(b => b.RegisterBattle(player, null, BattleType.Scripted))
|
||||
.Returns(new PendingMatch("bid-scripted", "node.local/socket.io/"));
|
||||
|
||||
var r = await h.Resolver.ResolveAsync("arena_two_pick_battle", player, scriptedOptIn: true, default);
|
||||
|
||||
Assert.That(r.MatchingState, Is.EqualTo(3004));
|
||||
Assert.That(r.BattleId, Is.EqualTo("bid-scripted"));
|
||||
Assert.That(r.NodeServerUrl, Is.EqualTo("node.local/socket.io/"));
|
||||
h.Bridge.VerifyAll();
|
||||
h.PairUp.Verify(p => p.TryPairAsync(It.IsAny<string>(), It.IsAny<BattlePlayer>(), It.IsAny<CancellationToken>()), Times.Never);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task When_options_SoloDefaultsToScripted_is_true_registers_Scripted_for_any_mode()
|
||||
{
|
||||
// Cross-family contract: the process-wide flag overrides pair-up for every mode,
|
||||
// not just TK2.
|
||||
var h = BuildHarness();
|
||||
h.Options.SoloDefaultsToScripted = true;
|
||||
var player = Player();
|
||||
h.Bridge.Setup(b => b.RegisterBattle(player, null, BattleType.Scripted))
|
||||
.Returns(new PendingMatch("bid-rank-scripted", "node.local/socket.io/"));
|
||||
|
||||
var r = await h.Resolver.ResolveAsync("rotation_rank_battle", player, scriptedOptIn: false, default);
|
||||
|
||||
Assert.That(r.MatchingState, Is.EqualTo(3004));
|
||||
Assert.That(r.BattleId, Is.EqualTo("bid-rank-scripted"));
|
||||
h.PairUp.Verify(p => p.TryPairAsync(It.IsAny<string>(), It.IsAny<BattlePlayer>(), It.IsAny<CancellationToken>()), Times.Never);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task When_neither_flag_set_calls_pairUp_and_parks_returns_3002_with_empty_url()
|
||||
{
|
||||
@@ -78,7 +43,7 @@ public class MatchingResolverTests
|
||||
h.PairUp.Setup(p => p.TryPairAsync("arena_two_pick_battle", player, It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync((PairUpResult?)null);
|
||||
|
||||
var r = await h.Resolver.ResolveAsync("arena_two_pick_battle", player, scriptedOptIn: false, default);
|
||||
var r = await h.Resolver.ResolveAsync("arena_two_pick_battle", player, default);
|
||||
|
||||
Assert.That(r.MatchingState, Is.EqualTo(3002));
|
||||
Assert.That(r.BattleId, Is.Null);
|
||||
@@ -94,7 +59,7 @@ public class MatchingResolverTests
|
||||
h.PairUp.Setup(p => p.TryPairAsync("rotation_rank_battle", player, It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(new PairUpResult(new PendingMatch("bid-x", "node.local/socket.io/"), IsOwner: true, IsAiFallback: false));
|
||||
|
||||
var r = await h.Resolver.ResolveAsync("rotation_rank_battle", player, scriptedOptIn: false, default);
|
||||
var r = await h.Resolver.ResolveAsync("rotation_rank_battle", player, default);
|
||||
|
||||
Assert.That(r.MatchingState, Is.EqualTo(3007));
|
||||
Assert.That(r.BattleId, Is.EqualTo("bid-x"));
|
||||
@@ -108,7 +73,7 @@ public class MatchingResolverTests
|
||||
h.PairUp.Setup(p => p.TryPairAsync("rotation_rank_battle", player, It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(new PairUpResult(new PendingMatch("bid-x", "node.local/socket.io/"), IsOwner: false, IsAiFallback: false));
|
||||
|
||||
var r = await h.Resolver.ResolveAsync("rotation_rank_battle", player, scriptedOptIn: false, default);
|
||||
var r = await h.Resolver.ResolveAsync("rotation_rank_battle", player, default);
|
||||
|
||||
Assert.That(r.MatchingState, Is.EqualTo(3004));
|
||||
}
|
||||
@@ -122,7 +87,7 @@ public class MatchingResolverTests
|
||||
h.PairUp.Setup(p => p.TryPairAsync("unlimited_rank_battle", player, It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(new PairUpResult(new PendingMatch("bid-ai", "node.local/socket.io/"), IsOwner: true, IsAiFallback: true));
|
||||
|
||||
var r = await h.Resolver.ResolveAsync("unlimited_rank_battle", player, scriptedOptIn: false, default);
|
||||
var r = await h.Resolver.ResolveAsync("unlimited_rank_battle", player, default);
|
||||
|
||||
Assert.That(r.MatchingState, Is.EqualTo(3011));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user