Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        /// <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;
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        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);
        }