- project.yml mit Bundle ev.mana.zitare + Widget + ShareExt-Targets - ManaSwiftCore (ManaCore + ManaTokens) + ManaSwiftUI (ManaAuthUI) als Package-Dependencies via path: - Pure SwiftUI für Native-Surfaces, WKWebView nur für Lese-Tabs (Hybrid-Sonderfall vs cards/memoro/manaspur, dokumentiert im Playbook ZITARE_NATIVE_GREENFIELD.md) - Theme: paper-Variant aus @mana/themes - ZitareAPI.healthCheck via direct URLSession (öffentlicher Endpoint, kein AuthenticatedTransport-Gate) - 6/6 AppConfigTests + 1/1 UI-Smoke grün auf iPhone 16e Simulator - Live: zitare-api.mana.how/healthz → HTTP/2 200 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
34 lines
1.1 KiB
Swift
34 lines
1.1 KiB
Swift
import XCTest
|
|
@testable import ZitareNative
|
|
|
|
/// Phase ζ-0 Basis-Tests: Konfigurations-Konstanten sind konsistent
|
|
/// mit dem mana-Plattform-Setup (Bundle-ID, Keychain-Service,
|
|
/// Endpoint-Domains).
|
|
final class AppConfigTests: XCTestCase {
|
|
func test_authBaseURL_pointsToManaAuth() {
|
|
XCTAssertEqual(
|
|
AppConfig.manaAppConfig.authBaseURL.absoluteString,
|
|
"https://auth.mana.how"
|
|
)
|
|
}
|
|
|
|
func test_keychainService_matchesBundle() {
|
|
XCTAssertEqual(AppConfig.manaAppConfig.keychainService, "ev.mana.zitare")
|
|
}
|
|
|
|
func test_apiBaseURL_pointsToZitareApi() {
|
|
XCTAssertEqual(AppConfig.apiBaseURL.absoluteString, "https://zitare-api.mana.how")
|
|
}
|
|
|
|
func test_webBaseURL_isPublicSurface() {
|
|
XCTAssertEqual(AppConfig.webBaseURL.absoluteString, "https://zitare.com")
|
|
}
|
|
|
|
func test_appBaseURL_isManaHowSurface() {
|
|
XCTAssertEqual(AppConfig.appBaseURL.absoluteString, "https://zitare.mana.how")
|
|
}
|
|
|
|
func test_appGroup_matchesEntitlement() {
|
|
XCTAssertEqual(AppConfig.appGroup, "group.ev.mana.zitare")
|
|
}
|
|
}
|