Platform Feature Flow

Trace a file export feature from UI to platform.

Flow

Export button
  -> ExportViewModel.exportCsv()
  -> ExpensesRepository.loadForExport()
  -> CsvExporter.createFile()
  -> PlatformShareService.shareFile()
  -> plugin or platform channel
  -> Android/iOS/desktop/web implementation
  -> target smoke test

Test Points

PointTest
View modelExport command handles loading, success, and failure
RepositoryReturns correct rows and sort order
ExporterProduces stable CSV with escaping
Platform serviceFake in unit/widget tests
Plugin/channelIntegration or manual smoke on each target
ReleaseExport works from release artifact, not only debug

Unsupported Target Path

If web export is not supported by the chosen plugin, the app should show a clear fallback or hide the feature on web. Do not let a MissingPluginException be the user experience.