Fix CI build workflow, index casing, and test assertions
All checks were successful
Build / build (pull_request) Successful in 2m16s
All checks were successful
Build / build (pull_request) Successful in 2m16s
This commit is contained in:
@@ -117,7 +117,10 @@ public class GameServiceTests
|
||||
{
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db);
|
||||
var other = TestDbHelper.SeedUser(db, "other", "other@t.local");
|
||||
var (game, _) = TestDbHelper.SeedGame(db, host);
|
||||
db.Players.Add(new Player { UserId = other.Id, GameId = game.Id });
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var result = await _sut.StartGameAsync(game.Id);
|
||||
|
||||
@@ -216,7 +219,7 @@ public class GameServiceTests
|
||||
{
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db);
|
||||
var (game, hostPlayer) = TestDbHelper.SeedGame(db, host);
|
||||
var (game, hostPlayer) = TestDbHelper.SeedGame(db, host, GameStatus.InProgress);
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1, Status = RoundStatus.Active };
|
||||
db.GameRounds.Add(round);
|
||||
var phrase = TestDbHelper.SeedPhrases(db, 1).Single();
|
||||
@@ -234,7 +237,11 @@ public class GameServiceTests
|
||||
[Fact]
|
||||
public async Task SubmitSlipAsync_Throws_WhenCardNotFound()
|
||||
{
|
||||
await Assert.ThrowsAsync<InvalidOperationException>(() => _sut.SubmitSlipAsync(1, 1, 999));
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db);
|
||||
var (game, _) = TestDbHelper.SeedGame(db, host, GameStatus.InProgress);
|
||||
|
||||
await Assert.ThrowsAsync<InvalidOperationException>(() => _sut.SubmitSlipAsync(game.Id, 1, 999));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -243,7 +250,7 @@ public class GameServiceTests
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db, "host", "host@t.local");
|
||||
var other = TestDbHelper.SeedUser(db, "other", "other@t.local");
|
||||
var (game, hostPlayer) = TestDbHelper.SeedGame(db, host);
|
||||
var (game, hostPlayer) = TestDbHelper.SeedGame(db, host, GameStatus.InProgress);
|
||||
var otherPlayer = new Player { UserId = other.Id, GameId = game.Id };
|
||||
db.Players.Add(otherPlayer);
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1, Status = RoundStatus.Active };
|
||||
@@ -271,7 +278,7 @@ public class GameServiceTests
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1, Status = RoundStatus.Active };
|
||||
db.GameRounds.Add(round);
|
||||
var phrase = TestDbHelper.SeedPhrases(db, 1).Single();
|
||||
var card = new PlayerCard { PlayerId = otherPlayer.Id, PhraseId = phrase.Id, GameRoundId = round.Id };
|
||||
var card = new PlayerCard { PlayerId = otherPlayer.Id, PhraseId = phrase.Id, GameRoundId = round.Id, IsUsed = true };
|
||||
db.PlayerCards.Add(card);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
@@ -309,7 +316,7 @@ public class GameServiceTests
|
||||
// ---------- ResolveChallengeAsync ----------
|
||||
|
||||
[Fact]
|
||||
public async Task ResolveChallengeAsync_Approved_KeepsCardWithTargetPlayer()
|
||||
public async Task ResolveChallengeAsync_Approved_TransfersCardToChallenger()
|
||||
{
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db, "host", "host@t.local");
|
||||
@@ -320,7 +327,7 @@ public class GameServiceTests
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1, Status = RoundStatus.Active };
|
||||
db.GameRounds.Add(round);
|
||||
var phrase = TestDbHelper.SeedPhrases(db, 1).Single();
|
||||
var card = new PlayerCard { PlayerId = otherPlayer.Id, PhraseId = phrase.Id, GameRoundId = round.Id };
|
||||
var card = new PlayerCard { PlayerId = otherPlayer.Id, PhraseId = phrase.Id, GameRoundId = round.Id, IsUsed = true };
|
||||
db.PlayerCards.Add(card);
|
||||
var challenge = new SlipChallenge
|
||||
{
|
||||
@@ -337,13 +344,13 @@ public class GameServiceTests
|
||||
|
||||
Assert.Equal(ChallengeStatus.Approved, result.Status);
|
||||
Assert.NotNull(result.ResolvedAt);
|
||||
// Karte bleibt beim Beschuldigten
|
||||
// Berechtigte Beschuldigung: Karte geht an den Beschuldiger
|
||||
using var verify = _factory.CreateDbContext();
|
||||
Assert.Equal(otherPlayer.Id, verify.PlayerCards.Single(c => c.Id == card.Id).PlayerId);
|
||||
Assert.Equal(hostPlayer.Id, verify.PlayerCards.Single(c => c.Id == card.Id).PlayerId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ResolveChallengeAsync_Rejected_TransfersCardToChallenger()
|
||||
public async Task ResolveChallengeAsync_Rejected_KeepsCardWithTargetPlayer()
|
||||
{
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db, "host", "host@t.local");
|
||||
@@ -354,7 +361,7 @@ public class GameServiceTests
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1, Status = RoundStatus.Active };
|
||||
db.GameRounds.Add(round);
|
||||
var phrase = TestDbHelper.SeedPhrases(db, 1).Single();
|
||||
var card = new PlayerCard { PlayerId = otherPlayer.Id, PhraseId = phrase.Id, GameRoundId = round.Id };
|
||||
var card = new PlayerCard { PlayerId = otherPlayer.Id, PhraseId = phrase.Id, GameRoundId = round.Id, IsUsed = true };
|
||||
db.PlayerCards.Add(card);
|
||||
var challenge = new SlipChallenge
|
||||
{
|
||||
@@ -371,9 +378,9 @@ public class GameServiceTests
|
||||
|
||||
Assert.Equal(ChallengeStatus.Rejected, result.Status);
|
||||
Assert.NotNull(result.ResolvedAt);
|
||||
// Karte geht an den Beschuldiger
|
||||
// Falsche Beschuldigung: Karte bleibt beim Beschuldigten
|
||||
using var verify = _factory.CreateDbContext();
|
||||
Assert.Equal(hostPlayer.Id, verify.PlayerCards.Single(c => c.Id == card.Id).PlayerId);
|
||||
Assert.Equal(otherPlayer.Id, verify.PlayerCards.Single(c => c.Id == card.Id).PlayerId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -458,7 +465,7 @@ public class GameServiceTests
|
||||
using var db = _factory.CreateDbContext();
|
||||
var host = TestDbHelper.SeedUser(db);
|
||||
var (game, hostPlayer) = TestDbHelper.SeedGame(db, host);
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1 };
|
||||
var round = new GameRound { GameId = game.Id, RoundNumber = 1, Status = RoundStatus.Active };
|
||||
db.GameRounds.Add(round);
|
||||
var phrases = TestDbHelper.SeedPhrases(db, 2);
|
||||
db.PlayerCards.Add(new PlayerCard { PlayerId = hostPlayer.Id, PhraseId = phrases[0].Id, GameRoundId = round.Id });
|
||||
|
||||
Reference in New Issue
Block a user