Fix regia basket e stabilità diretta iOS.

La regia remota non va più in 500 su basket/timed; iOS gestisce chiusura set, riconnessione RTMP e avanzamento quarti in modo affidabile.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Emiliano Frascaro
2026-06-20 12:30:34 +02:00
parent 731b43ea88
commit 270bf680a4
16 changed files with 665 additions and 441 deletions

View File

@@ -55,4 +55,30 @@ final class ScoreControllerTests: XCTestCase {
controller.applyAction("home_point")
XCTAssertEqual(controller.score.homePoints, 1)
}
func testAdvancePeriodOptimisticUpdatesQuarter() {
let controller = ScoreController(
scoreRepository: ScoreRepository(api: MatchLiveAPI()),
sessionCable: SessionCableService()
)
var initial = ScoreState()
initial.boardType = "basket"
initial.period = 1
initial.periodLabel = "Q1"
controller.bind(sessionId: "session-1", initial: initial)
controller.applyAction("advance_period")
XCTAssertEqual(controller.score.period, 2)
XCTAssertEqual(controller.score.periodLabel, "Q2")
XCTAssertFalse(controller.score.clockRunning)
}
func testProgressKeyChangesWhenPeriodAdvances() {
var q1 = ScoreState(boardType: "basket", period: 1, periodLabel: "Q1", clockSecs: 600)
var q2 = ScoreState(boardType: "basket", period: 2, periodLabel: "Q2", clockSecs: 600)
q1.homePoints = 10
q1.awayPoints = 8
q2.homePoints = 10
q2.awayPoints = 8
XCTAssertGreaterThan(q2.progressKey(), q1.progressKey())
}
}