public void ShouldRenderFromLeafStep()
        {
            _workStepRepository.Add(WorkStep.New("/scheduled").UpdateOrdinal(1).UpdateType(WorkStepType.Begin).UpdateWorkItemClass("cr"));
            _wp.CreateWorkItem(WorkItem.New("cr1", "/scheduled"));

            var doc = GetDocument(_workStepRepository.GetWorkStep("/scheduled"));

            Assert.IsNotNull(doc.SelectSingleNode("/html/body/ol/li[@id=\"cr1\"]"));
        }
예제 #2
0
        public void ShouldUpdateEmptyLeafStepToExpandStep()
        {
            _workStepRepository.CreateWorkStep(WorkStep.New("/analysis"));
            _updater.UpdateWorkStep(WorkStep.New("/analysis").UpdateType(WorkStepType.Expand));

            Assert.AreEqual(WorkStepType.Expand, _workStepRepository.GetWorkStep("/analysis").Type);
        }
        public void ShouldSplitWorkItem()
        {
            _workStepRepository.CreateSimpleParallelWorkflow();

            _wp.CreateWorkItem(WorkItem.New("cr1", "/development"));
            var item = _workItemRepository.GetWorkItem("cr1");

            var parallelStepHelper = new ParallelStepHelper(_workflowRepository);

            var feedbackStep = _workStepRepository.GetWorkStep("/feedback");

            var newWorkItems = parallelStepHelper.SplitForParallelism(item, feedbackStep);

            var reviewWorkItem = newWorkItems.ElementAt(0);
            var testWorkItem   = newWorkItems.ElementAt(1);

            Assert.IsNotNull(reviewWorkItem);
            Assert.AreEqual("/development", reviewWorkItem.Path);
            Assert.AreEqual("cr cr-review", reviewWorkItem.Classes.Join(' '));
            Assert.IsNotNull(testWorkItem);
            Assert.AreEqual("/development", testWorkItem.Path);
            Assert.AreEqual("cr cr-test", testWorkItem.Classes.Join(' '));
        }
        public void ShouldCreateTransientWorkStepsWhenWorkItemEnterExpandStep()
        {
            _wp.CreateWorkItem(WorkItem.New("cr1", "/analysis"));
            _wp.UpdateWorkItem(WorkItem.New("cr1", "/development"));

            Assert.AreEqual(WorkStepType.Transient, _workStepRepository.GetWorkStep("/development/inprocess/cr1").Type);
            Assert.AreEqual(WorkStepType.Normal,
                            _workStepRepository.GetWorkStep("/development/inprocess/cr1/tasks").Type);
            Assert.AreEqual(WorkStepType.Begin,
                            _workStepRepository.GetWorkStep("/development/inprocess/cr1/tasks/new").Type);
            Assert.AreEqual(WorkStepType.Normal,
                            _workStepRepository.GetWorkStep("/development/inprocess/cr1/tasks/inprocess").Type);
            Assert.AreEqual(WorkStepType.End,
                            _workStepRepository.GetWorkStep("/development/inprocess/cr1/tasks/done").Type);
        }
예제 #5
0
        public void ShouldCreateWorkStepWithSameWorkItemClassAsParentIfMissing()
        {
            _workStepRepository.CreateWorkStep(WorkStep.New("/analysis").UpdateWorkItemClass("class1"));

            Assert.AreEqual("class1", _workStepRepository.GetWorkStep("/analysis").WorkItemClass);
        }