Esempio n. 1
0
        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");
        }