Added a process command for recording processing on the RecordingCommand enum in the Commanding package target.
This commit is contained in:
@@ -4,4 +4,6 @@ public enum RecordingCommand: Equatable, Sendable {
|
|||||||
case toggle
|
case toggle
|
||||||
/// Discards the recording, like a press of the feature's discard button.
|
/// Discards the recording, like a press of the feature's discard button.
|
||||||
case discard
|
case discard
|
||||||
|
/// Sends the paused recording for processing, like a press of the feature's send button.
|
||||||
|
case process
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -436,6 +436,8 @@ private extension RecordingView.Model {
|
|||||||
pressedMain()
|
pressedMain()
|
||||||
case .discard:
|
case .discard:
|
||||||
pressedDiscard()
|
pressedDiscard()
|
||||||
|
case .process:
|
||||||
|
pressedSend()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -944,6 +944,25 @@ struct RecordingViewModelTests {
|
|||||||
#expect(model.elapsedSeconds == 0)
|
#expect(model.elapsedSeconds == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
func `a process command sends a paused recording for processing`() async throws {
|
||||||
|
let commander = RecordingCommander()
|
||||||
|
let model = Model(
|
||||||
|
transcribe: TranscribingMock(),
|
||||||
|
commander: commander
|
||||||
|
)
|
||||||
|
|
||||||
|
model.drive(to: .paused)
|
||||||
|
|
||||||
|
try await Task.sleep(for: .seconds(0.1))
|
||||||
|
|
||||||
|
commander.send(.process)
|
||||||
|
|
||||||
|
try await Task.sleep(for: .seconds(0.1))
|
||||||
|
|
||||||
|
#expect(model.state == .processing)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
func `commands are ignored before the first recording starts`() async throws {
|
func `commands are ignored before the first recording starts`() async throws {
|
||||||
let commander = RecordingCommander()
|
let commander = RecordingCommander()
|
||||||
|
|||||||
Reference in New Issue
Block a user