Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import XCTest
|
||||
@testable import SharedCore
|
||||
|
||||
final class WorkoutValidationTests: XCTestCase {
|
||||
func testValidateSupersetsRejectsEmptyPayload() {
|
||||
let issues = WorkoutValidation.validateSupersets([])
|
||||
XCTAssertEqual(issues.first?.code, "empty_supersets")
|
||||
}
|
||||
|
||||
func testValidateSupersetsRejectsInvalidRoundsAndExercisePayload() {
|
||||
let supersets: [[String: Any]] = [
|
||||
[
|
||||
"rounds": 0,
|
||||
"exercises": [
|
||||
["reps": 0, "duration": 0]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
let issues = WorkoutValidation.validateSupersets(supersets)
|
||||
XCTAssertTrue(issues.contains(where: { $0.code == "invalid_rounds" }))
|
||||
XCTAssertTrue(issues.contains(where: { $0.code == "invalid_exercise_payload" }))
|
||||
}
|
||||
|
||||
func testValidateSupersetsAcceptsValidPayload() {
|
||||
let supersets: [[String: Any]] = [
|
||||
[
|
||||
"rounds": 3,
|
||||
"exercises": [
|
||||
["reps": 12, "duration": 0],
|
||||
["reps": 0, "duration": 30]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
let issues = WorkoutValidation.validateSupersets(supersets)
|
||||
XCTAssertTrue(issues.isEmpty)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user