public void VerifyThatCreateIterationCommandWorks() { this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); var viewmodel = new ModelBrowserViewModel(this.session.Object, this.session.Object.RetrieveSiteDirectory(), this.thingDialogNavigationService.Object, this.navigationService.Object, null, null); var model = new EngineeringModelSetup(Guid.NewGuid(), null, this.uri); model.StudyPhase = StudyPhaseKind.DESIGN_SESSION_PHASE; var participant = new Participant(Guid.NewGuid(), null, this.uri); participant.Person = new Person(Guid.NewGuid(), null, this.uri) { GivenName = "blabla", Surname = "blabla" }; model.Participant.Add(participant); model.IterationSetup.Add(new IterationSetup()); var domain = new DomainOfExpertise(); model.ActiveDomain.Add(domain); this.siteDirectory.Model.Add(model); revPropertyInfo.SetValue(this.siteDirectory, 50); CDPMessageBus.Current.SendObjectChangeEvent(this.siteDirectory, EventKind.Updated); var modelRow = viewmodel.ModelSetup.Single(); var iterationFolderRow = modelRow.ContainedRows.OfType <FolderRowViewModel>().Single(x => x.Name == "Iterations"); viewmodel.SelectedThing = iterationFolderRow; viewmodel.ComputePermission(); Assert.IsTrue(viewmodel.CanCreateParticipant); Assert.IsTrue(viewmodel.CanCreateIterationSetup); Assert.IsTrue(viewmodel.CanCreateEngineeringModelSetup); viewmodel.PopulateContextMenu(); Assert.AreEqual(2, viewmodel.ContextMenu.Count); viewmodel.CreateIterationSetupCommand.Execute(null); this.thingDialogNavigationService.Verify(x => x.Navigate(It.IsAny <IterationSetup>(), It.IsAny <IThingTransaction>(), this.session.Object, true, ThingDialogKind.Create, this.thingDialogNavigationService.Object, It.IsAny <EngineeringModelSetup>(), null)); }
public void VerifyThatSelectedModelSetupAreDisplayedInProperty() { var viewmodel = new ModelBrowserViewModel(this.session.Object, this.session.Object.RetrieveSiteDirectory(), null, this.navigationService.Object, null, null); var model = new EngineeringModelSetup(Guid.NewGuid(), null, this.uri); this.siteDirectory.Model.Add(model); revPropertyInfo.SetValue(this.siteDirectory, 50); CDPMessageBus.Current.SendObjectChangeEvent(this.siteDirectory, EventKind.Updated); var selectedThingChangedRaised = false; CDPMessageBus.Current.Listen <SelectedThingChangedEvent>().Subscribe(_ => selectedThingChangedRaised = true); viewmodel.SelectedThing = viewmodel.ModelSetup.First(); Assert.IsTrue(selectedThingChangedRaised); Assert.AreEqual("Engineering Model Setup", viewmodel.SelectedThingClassKindString); }
public void VerifyThatSelectedParticipantAreDisplayedInProperty() { var viewmodel = new ModelBrowserViewModel(this.session.Object, this.session.Object.RetrieveSiteDirectory(), null, this.navigationService.Object, null, null); var model = new EngineeringModelSetup(Guid.NewGuid(), null, this.uri); var testOrganization = new Organization(Guid.NewGuid(), null, this.uri) { Name = "RHEA" }; var testDomain = new DomainOfExpertise(Guid.NewGuid(), null, this.uri) { Name = "Thermal" }; var participant = new Participant(Guid.NewGuid(), null, this.uri); participant.Domain.Add(testDomain); participant.Person = new Person(Guid.NewGuid(), null, this.uri) { GivenName = "blabla", Surname = "blabla", Organization = testOrganization }; model.Participant.Add(participant); this.siteDirectory.Model.Add(model); revPropertyInfo.SetValue(this.siteDirectory, 50); CDPMessageBus.Current.SendObjectChangeEvent(this.siteDirectory, EventKind.Updated); var modelrow = viewmodel.ModelSetup.First(); var participantFolderRow = modelrow.ContainedRows.First(); viewmodel.SelectedThing = participantFolderRow.ContainedRows.First(); var participantRow = participantFolderRow.ContainedRows.First() as ModelParticipantRowViewModel; Assert.NotNull(participantRow); Assert.AreEqual("DoE: Thermal, Organization: RHEA", participantRow.Description); this.navigationService.Verify(x => x.Open(It.IsAny <Thing>(), this.session.Object)); }
/// <summary> /// Close all the panels and dispose of them /// </summary> private void CloseAll() { this.PanelNavigationService.Close(this.domainOfExpertiseBrowserViewModel, false); this.domainOfExpertiseBrowserViewModel = null; this.PanelNavigationService.Close(this.modelBrowserViewModel, false); this.modelBrowserViewModel = null; this.PanelNavigationService.Close(this.naturalLanguageBrowserViewModel, false); this.naturalLanguageBrowserViewModel = null; this.PanelNavigationService.Close(this.organizationBrowserViewModel, false); this.organizationBrowserViewModel = null; this.PanelNavigationService.Close(this.personBrowserViewModel, false); this.personBrowserViewModel = null; this.PanelNavigationService.Close(this.roleBrowserViewModel, false); this.roleBrowserViewModel = null; this.PanelNavigationService.Close(this.siteRdlBrowserViewModel, false); this.siteRdlBrowserViewModel = null; }
public void VerifyThatSelectedIterationSetupAreDisplayedInProperty() { var viewmodel = new ModelBrowserViewModel(this.session.Object, this.session.Object.RetrieveSiteDirectory(), null, this.navigationService.Object, null, null); var model = new EngineeringModelSetup(Guid.NewGuid(), null, this.uri); var iteration = new IterationSetup(Guid.NewGuid(), null, this.uri); model.IterationSetup.Add(iteration); this.siteDirectory.Model.Add(model); revPropertyInfo.SetValue(this.siteDirectory, 50); CDPMessageBus.Current.SendObjectChangeEvent(this.siteDirectory, EventKind.Updated); var modelrow = viewmodel.ModelSetup.First(); Assert.AreEqual("Phase: Preparation Phase, Kind: Study Model", modelrow.Description); var iterationFolderRow = modelrow.ContainedRows[1]; viewmodel.SelectedThing = iterationFolderRow.ContainedRows.First(); this.navigationService.Verify(x => x.Open(It.IsAny <Thing>(), this.session.Object)); Assert.AreEqual("IterationSetup", viewmodel.SelectedThing.Thing.ClassKind.ToString()); }
public void VerifyThatForSingleParticipantDeleteMenuIsNotShown() { this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); var viewmodel = new ModelBrowserViewModel(this.session.Object, this.session.Object.RetrieveSiteDirectory(), null, this.navigationService.Object, null, null); var model = new EngineeringModelSetup(Guid.NewGuid(), null, this.uri); model.StudyPhase = StudyPhaseKind.DESIGN_SESSION_PHASE; var participant = new Participant(Guid.NewGuid(), null, this.uri); participant.Person = new Person(Guid.NewGuid(), null, this.uri) { GivenName = "blabla", Surname = "blabla" }; model.Participant.Add(participant); model.IterationSetup.Add(new IterationSetup()); var domain = new DomainOfExpertise(); model.ActiveDomain.Add(domain); this.siteDirectory.Model.Add(model); revPropertyInfo.SetValue(this.siteDirectory, 50); CDPMessageBus.Current.SendObjectChangeEvent(this.siteDirectory, EventKind.Updated); viewmodel.ComputePermission(); Assert.IsFalse(viewmodel.CanCreateParticipant); Assert.IsFalse(viewmodel.CanCreateIterationSetup); var modelRow = viewmodel.ModelSetup.Single(); viewmodel.SelectedThing = modelRow; viewmodel.ComputePermission(); Assert.IsTrue(viewmodel.CanCreateParticipant); Assert.IsTrue(viewmodel.CanCreateIterationSetup); Assert.IsTrue(viewmodel.CanCreateEngineeringModelSetup); viewmodel.PopulateContextMenu(); Assert.AreEqual(7, viewmodel.ContextMenu.Count); var participantFolderRow = modelRow.ContainedRows.OfType <FolderRowViewModel>().Single(x => x.Name == "Participants"); var iterationFolderRow = modelRow.ContainedRows.OfType <FolderRowViewModel>().Single(x => x.Name == "Iterations"); viewmodel.SelectedThing = participantFolderRow; viewmodel.ComputePermission(); viewmodel.PopulateContextMenu(); Assert.AreEqual(2, viewmodel.ContextMenu.Count); viewmodel.SelectedThing = iterationFolderRow; viewmodel.ComputePermission(); viewmodel.PopulateContextMenu(); Assert.AreEqual(2, viewmodel.ContextMenu.Count); var participantRow = participantFolderRow.ContainedRows.OfType <ModelParticipantRowViewModel>().Single(x => x.Name == "blabla blabla"); viewmodel.SelectedThing = participantRow; viewmodel.ComputePermission(); viewmodel.PopulateContextMenu(); Assert.AreEqual(3, viewmodel.ContextMenu.Count); foreach (var conMenu in viewmodel.ContextMenu) { Assert.AreNotEqual("Delete this Participant", conMenu.Header); } var iterationRow = iterationFolderRow.ContainedRows.Single(); viewmodel.SelectedThing = iterationRow; viewmodel.ComputePermission(); viewmodel.PopulateContextMenu(); Assert.AreEqual(4, viewmodel.ContextMenu.Count); }