feat: add setPlayMode SDK API with isActivated precondition

This commit is contained in:
km2023
2026-05-06 10:42:09 +08:00
parent 7aec09be2a
commit c3a726fc02
2 changed files with 72 additions and 0 deletions

View File

@@ -81,3 +81,25 @@ final class BindPayloadEncodingTests: XCTestCase {
XCTAssertEqual(dict["loop"] as? Int, 0)
}
}
final class SetPlayModeGuardTests: XCTestCase {
private func makeSDK() -> DuooomiBleSDK {
DuooomiBleSDK(config: DuooomiBleConfig(apiKey: "test"))
}
func testSetPlayModeFailsWhenNotConnected() {
let sdk = makeSDK()
let exp = expectation(description: "completion")
sdk.setPlayMode(.loop, userId: "u1") { result in
switch result {
case .success:
XCTFail("expected failure when not connected")
case .failure(let error):
XCTAssertTrue("\(error)".lowercased().contains("connect"),
"expected notConnected-style error, got \(error)")
}
exp.fulfill()
}
wait(for: [exp], timeout: 1.0)
}
}