Stabilizza diretta iOS e aggiunge test simulatore pre-release.
Corregge lifecycle RTMP/preview tra partite, reset tabellone, orientamento con debounce, condivisione su iPad e script test_ios_simulator per CI locale. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -3,6 +3,36 @@ import XCTest
|
||||
|
||||
@MainActor
|
||||
final class ScoreControllerTests: XCTestCase {
|
||||
func testBindNewSessionResetsScoreToZero() {
|
||||
let controller = ScoreController(
|
||||
scoreRepository: ScoreRepository(api: MatchLiveAPI()),
|
||||
sessionCable: SessionCableService()
|
||||
)
|
||||
var previous = ScoreState()
|
||||
previous.homePoints = 3
|
||||
previous.awayPoints = 3
|
||||
controller.bind(sessionId: "session-1", initial: previous)
|
||||
XCTAssertEqual(controller.score.homePoints, 3)
|
||||
|
||||
controller.bind(sessionId: "session-2", initial: nil)
|
||||
XCTAssertEqual(controller.score.homePoints, 0)
|
||||
XCTAssertEqual(controller.score.awayPoints, 0)
|
||||
}
|
||||
|
||||
func testBindNewSessionUsesServerInitialState() {
|
||||
let controller = ScoreController(
|
||||
scoreRepository: ScoreRepository(api: MatchLiveAPI()),
|
||||
sessionCable: SessionCableService()
|
||||
)
|
||||
controller.bind(sessionId: "session-1", initial: ScoreState(homePoints: 2, awayPoints: 1))
|
||||
var fresh = ScoreState()
|
||||
fresh.homePoints = 1
|
||||
fresh.awayPoints = 0
|
||||
controller.bind(sessionId: "session-2", initial: fresh)
|
||||
XCTAssertEqual(controller.score.homePoints, 1)
|
||||
XCTAssertEqual(controller.score.awayPoints, 0)
|
||||
}
|
||||
|
||||
func testIncrementHomeUpdatesPublishedScore() {
|
||||
let controller = ScoreController(
|
||||
scoreRepository: ScoreRepository(api: MatchLiveAPI()),
|
||||
|
||||
Reference in New Issue
Block a user