Skip to content

Add an integration_test harness (fake Cosmos + bypassed sign-in) for end-to-end flows #28

Description

@yvanvds

Context

The repo has no integration_test/ directory and no integration_test dev dependency. Every user-visible change is currently verified at the widget level only (e.g. test/features/lesson_content/lesson_content_page_test.dart mounts the real page over real services backed by test/helpers/in_memory_cosmos.dart), because booting the real app requires an Entra sign-in and a live Cosmos endpoint.

Found while working #4 (orphaned lesson content reassign): the start-work test doctrine asks for an end-to-end test on user-visible changes, and there is no harness to write one against.

Proposal

  • Add integration_test/ with a Windows-desktop driver (flutter test integration_test/... -d windows).
  • Provide a boot path that bypasses Entra (inject a fixed AccountIdentity) and swaps CosmosPaths for an in-memory container (reuse/extend InMemoryCosmos).
  • Port the Content editor: reassign orphaned content items after goal re-import #4 reassign flow as the first e2e test: Doelen import (Replace) -> Lesinhoud shows orphan -> reassign -> subgoal shows content.
  • Wire it into CI (build.yml) behind a separate job so the unit suite stays fast.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions