# Test Infrastructure

**Task**: AZ-285_test_infrastructure
**Name**: Test Infrastructure: scaffold unit test project with mocks
**Description**: Scaffold the unit test project with proper mocking infrastructure for ISatelliteDownloader and all repository interfaces
**Complexity**: 3 points
**Dependencies**: None
**Component**: Blackbox Tests
**Tracker**: AZ-285
**Epic**: AZ-284

## Scope

- Replace DummyTest with actual test infrastructure in `SatelliteProvider.Tests`
- Add Moq package for interface mocking (ISatelliteDownloader, ITileRepository, IRegionRepository, IRouteRepository, IRegionRequestQueue)
- Add shared test fixtures with standard test coordinates (47.461747, 37.647063 for tiles; 48.276067, 37.384458 for routes)
- Verify existing docker-compose.tests.yml works as integration test environment
- Ensure FluentAssertions is available (already in project)

## Test Project Layout

Existing structure is sufficient — enhance `SatelliteProvider.Tests/`:
- Add `Fixtures/` for shared test data
- Add test classes per service (TileServiceTests, RegionServiceTests, RouteServiceTests)

## Acceptance Criteria

**AC-1**: Unit test project builds and all mock interfaces resolve
**AC-2**: `docker-compose -f docker-compose.yml -f docker-compose.tests.yml up --build --abort-on-container-exit` succeeds
**AC-3**: Test runner discovers and executes test classes
