public void should_return_correct_values() { var creationInfo = new CreationInfo(); creationInfo.Parent = TestTools.GetIDataObjectMock(Guid.NewGuid()).Object; var viewModel = new SelectProjectTemplatePageViewModel(creationInfo, _dataObjectServiceMock.Object); var expected = "Шаг 1 из 4. Выберите элемент для использования в качестве шаблона"; var actual = viewModel.GetTitle(); Assert.AreEqual(expected, actual); expected = ""; actual = viewModel.GetTemplateName(); Assert.AreEqual(expected, actual); actual = viewModel.NextButtonCaption(); Assert.IsNull(actual); actual = viewModel.NextButtonCaption(); Assert.IsNull(actual); Assert.IsFalse(viewModel.CanGoBack()); Assert.IsFalse(viewModel.CanGoNext()); }
public void should_can_go_next_when_selected_project() { //Given var creationInfo = new CreationInfo(); var type = TestTools.GetITypeMock(); var parentType = TestTools.GetITypeMock(); parentType.Setup(t => t.Children).Returns(new ReadOnlyCollection <int>(new List <int>() { type.Object.Id })); var parent = TestTools.GetIDataObjectMock(parentType); creationInfo.Parent = parent.Object; var viewModel = new SelectProjectTemplatePageViewModel(creationInfo, _dataObjectServiceMock.Object); //Проект монтируется на диск type.Setup(t => t.IsMountable).Returns(true); var idataObjectMock = TestTools.GetIDataObjectMock(type); //when var node = TestTools.GetNodeViewModel(idataObjectMock, _dataObjectServiceMock); viewModel.ObjectsTreeViewModel.SelectedItem = node; //Then Assert.IsTrue(viewModel.CanGoNext()); }
public void should_not_can_go_next_when_selected_project() { //Given var creationInfo = new CreationInfo(); var viewModel = new SelectProjectTemplatePageViewModel(creationInfo, _dataObjectServiceMock.Object); var type = TestTools.GetITypeMock(); //Элемент не монтируется на диск type.Setup(t => t.IsMountable).Returns(false); var idataObjectMock = TestTools.GetIDataObjectMock(type); creationInfo.Parent = TestTools.GetIDataObjectMock(idataObjectMock.Object.ParentId).Object; //when var node = TestTools.GetNodeViewModel(idataObjectMock, _dataObjectServiceMock); viewModel.ObjectsTreeViewModel.SelectedItem = node; //Then Assert.IsFalse(viewModel.CanGoNext()); //Снимем селек в дереве viewModel.ObjectsTreeViewModel.SelectedItem = null; //Then Assert.IsFalse(viewModel.CanGoNext()); }
private void FillWizardPages(WizardControl view) { //Наполним визард страницами var isUpdateStruct = _creationInfo.Parent.Type.IsProject; //Страница выбора шаблона var filter = new ListViewFolderChildrenFilter(_repository); _dataObjectService = new DataObjectService(_repository, filter); var vm = new SelectProjectTemplatePageViewModel(_creationInfo, _dataObjectService); view.Pages.Add(new SelectProjectTemplatePage { DataContext = vm }); //Страница состав выбранного проекта var serviceFactory = new ListViewDataObjectServiceFactory(_repository); var vm2 = new ProjectCompositionPageViewModel(_creationInfo, serviceFactory); view.Pages.Add(new ProjectCompositionPage { DataContext = vm2 }); //Страница файлы и папки выбранного проекта var storageServiceFactory = new StorageDataObjectServiceFactory(_repository); var vm3 = new FilesAndFolderPageViewModel(_creationInfo, storageServiceFactory); view.Pages.Add(new FilesAndFolderPage { DataContext = vm3 }); //Страница карточки нового проекта if (!isUpdateStruct) { var vm4 = new ProjectCardPageViewModel(_creationInfo, _repository, _pilotDialogService, _attributeFormatParser); view.Pages.Add(new ProjectCardPage { DataContext = vm4 }); } //Страница процесс var processViewModel = isUpdateStruct ? new UpdateStructProcessPageViewModel(_creationInfo, _modifier, _repository, _fileProvider) : new ProcessPageViewModel(_creationInfo, _modifier, _repository, _fileProvider); view.Pages.Add(new ProcessPage { DataContext = processViewModel }); //Результат var vm5 = new FinishPageViewModel(_creationInfo); view.Pages.Add(new FinishPage { DataContext = vm5 }); }
public void should_load_tree() { //given var creationInfo = new CreationInfo(); var viewModel = new SelectProjectTemplatePageViewModel(creationInfo, _dataObjectServiceMock.Object); //when viewModel.Load(); //then _dataObjectServiceMock.Verify(d => d.Load(SystemObjectIds.RootObjectId, It.IsAny <Action>(), false), Times.Once); }
public void should_save_selected_project() { //Given var creationInfo = new CreationInfo(); var viewModel = new SelectProjectTemplatePageViewModel(creationInfo, _dataObjectServiceMock.Object); var type = TestTools.GetITypeMock(); //Элемент не монтируется на диск type.Setup(t => t.IsMountable).Returns(true); var idataObjectMock = TestTools.GetIDataObjectMock(type); //when var selectedNode = TestTools.GetNodeViewModel(idataObjectMock, _dataObjectServiceMock); viewModel.ObjectsTreeViewModel.SelectedItem = selectedNode; //then Assert.AreEqual(creationInfo.Template, selectedNode); }
public void should_update_state_when_select() { //Given var creationInfo = new CreationInfo(); var viewModel = new SelectProjectTemplatePageViewModel(creationInfo, _dataObjectServiceMock.Object); var type = TestTools.GetITypeMock(); var idataObjectMock = TestTools.GetIDataObjectMock(type); var selectedNode = TestTools.GetNodeViewModel(idataObjectMock, _dataObjectServiceMock); var isUpdateEventRaised = false; viewModel.UpdateState += (sender, args) => { isUpdateEventRaised = true; }; //when viewModel.ObjectsTreeViewModel.SelectedItem = selectedNode; //then Assert.IsTrue(isUpdateEventRaised); }