Add AI request error states

This commit is contained in:
diyaa
2026-09-15 12:36:41 +02:00
parent f42d782629
commit f199bcf114
3 changed files with 62 additions and 1 deletions
@@ -0,0 +1,15 @@
import MusicAssistantCore
import XCTest
final class AIRequestStateTests: XCTestCase {
func testPresenterMapsOfflineAndProviderFailures() {
let presenter = AIProviderErrorPresenter()
XCTAssertEqual(presenter.state(for: URLError(.notConnectedToInternet)), .offline)
XCTAssertEqual(presenter.state(for: OpenAIClientError.missingAPIKey), .missingConfiguration)
XCTAssertEqual(presenter.state(for: OpenAIClientError.rateLimited(retryAfter: 30)), .rateLimited(retryAfter: 30))
XCTAssertEqual(presenter.state(for: OpenAIClientError.serverError(503)), .unavailable)
XCTAssertEqual(presenter.state(for: OpenAIClientError.invalidResponse), .invalidResponse)
XCTAssertEqual(presenter.state(for: AIServiceCapabilityError.discussionNotSupported), .unsupportedCapability)
}
}