Complex ViewModel with Unit Tests