public void ExerciseCompositeViewModel_Calls_Add_On_Service_When_Exercise_Saved_AsNew() { var dialogService = new Mock <IDialogViewService>(); var exerciseService = new Mock <IExerciseService>(); var exercise = new Exercise { Id = 0, Title = "New Exercise" }; exerciseService.Setup(srv => srv.Get(It.IsAny <int>())) .Returns(exercise); var exerciseManagementViewModel = new ExerciseManagementViewModel(exerciseService.Object, dialogService.Object); var exerciseEditViewModel = new ExerciseEditViewModel(dialogService.Object); var viewModelFactory = new Mock <IViewModelFactory>(); var viewModel = new ExerciseCompositeViewModel(viewModelFactory.Object, exerciseService.Object, exerciseManagementViewModel, exerciseEditViewModel); exerciseEditViewModel.StartEdit(exercise); exerciseEditViewModel.SaveCommand.Execute(null); exerciseService.Verify(svc => svc.Add(It.IsAny <Exercise>()), Times.Once, "IExerciseService.Add was not called."); }
public MainWindowViewModel( ISettings settings, ExerciseCompositeViewModel exerciseCompositeViewModel, PracticeRoutineCompositeViewModel practiceRoutineSearchViewModel) { this.settings = settings ?? throw new ArgumentNullException("ISettings must be provided."); this.exerciseSearchViewModel = exerciseCompositeViewModel ?? throw new ArgumentException("ExerciseCompositeViewModel must be provided."); this.practiceRoutineSearchViewModel = practiceRoutineSearchViewModel ?? throw new ArgumentException("PracticeRoutineSearchViewModel must be provided."); NavigationCommand = new RelayCommand <string>(OnNavigation); OnNavigation("ExerciseSearch"); }