test(apple): CoreGateway seam, XCTest suite, and CI

- Introduce a CoreGateway protocol so feature models depend on a seam
  (CoreRepository conforms); enables faking the core in tests
- Add a VniDropTests target with 42 tests mirroring the KMP suites:
  approval coordinator, send/receive/settings/app models, preferences,
  file previews, invitation decode, message queue, error mapping
- Add a fake gateway/file-system/device-info and fixtures
- Add .github/workflows/apple.yml: build the Rust core, generate the
  project, and run the tests on an iOS Simulator
This commit is contained in:
2026-07-19 23:48:11 +02:00
parent e35c8c840a
commit 17099d32f2
23 changed files with 771 additions and 20 deletions

View File

@@ -52,3 +52,29 @@ targets:
- sdk: SystemConfiguration.framework
- sdk: Security.framework
- sdk: libresolv.tbd
VniDropTests:
type: bundle.unit-test
supportedDestinations: [iOS, macOS]
sources:
- path: Tests
settings:
base:
GENERATE_INFOPLIST_FILE: YES
SWIFT_VERSION: "6.0"
SWIFT_STRICT_CONCURRENCY: complete
CODE_SIGN_STYLE: Automatic
dependencies:
- target: VniDrop
schemes:
VniDrop:
build:
targets:
VniDrop: all
run:
config: Debug
test:
config: Debug
targets:
- VniDropTests