Parent Epic: #34 - Implement Create Environment Command
Depends On: #37 - CLI Presentation Layer
Estimated Time: 3-4 hours
Overview
Implement a true black-box end-to-end test for the create command that tests the production application as an external process. Unlike other E2E tests that mock parts of the system, this test exercises the complete application workflow from configuration file to persisted environment state.
Goals
Architecture Requirements
Test Type: Black Box E2E Test
Test Location: tests/e2e_create_command.rs (separate from existing E2E infrastructure)
Pattern: External Process Testing + Temporary Directory Isolation
Test Structure
tests/
├── e2e_create_command.rs # New black-box E2E test
└── support/ # Test support utilities
├── temp_workspace.rs # Temporary workspace management
├── process_runner.rs # External process execution
└── assertions.rs # Environment state assertions
Key Test Scenarios
- Happy Path: Create environment from valid config file with
--working-dir
- Invalid Config: Graceful failure with validation errors
- Missing Config File: Appropriate error when file not found
- Duplicate Detection: Error when environment already exists
- State Persistence: Verify complete environment state saved correctly
Acceptance Criteria
Implementation Notes
- Use
std::process::Command to run the production binary
- Create
TempWorkspace helper for managing temporary directories
- Build configuration files in temp workspace before running command
- Verify environment state by reading persisted JSON files
- Follow patterns from existing E2E tests for consistency
For detailed specification, see: docs/issues/epic-create-environment-command-subissue-4-e2e-black-box-test.md
Parent Epic: #34 - Implement Create Environment Command
Depends On: #37 - CLI Presentation Layer
Estimated Time: 3-4 hours
Overview
Implement a true black-box end-to-end test for the create command that tests the production application as an external process. Unlike other E2E tests that mock parts of the system, this test exercises the complete application workflow from configuration file to persisted environment state.
Goals
--working-diroptional argument to specify application working directoryArchitecture Requirements
Test Type: Black Box E2E Test
Test Location:
tests/e2e_create_command.rs(separate from existing E2E infrastructure)Pattern: External Process Testing + Temporary Directory Isolation
Test Structure
Key Test Scenarios
--working-dirAcceptance Criteria
TempDirfor complete isolation (no./dataor./buildinterference)--working-dirto application to specify temporary workspaceImplementation Notes
std::process::Commandto run the production binaryTempWorkspacehelper for managing temporary directoriesFor detailed specification, see: docs/issues/epic-create-environment-command-subissue-4-e2e-black-box-test.md