public void Init()
        {
            _workStepRepository = new MemoryWorkStepRepository();
            _workItemRepository = new MemoryWorkItemRepository();
            _wp = new Workflow(new WorkflowRepository(_workItemRepository, _workStepRepository));

            _workStepRepository.Add(WorkStep.New("/analysis").UpdateOrdinal(1).UpdateType(WorkStepType.Begin).UpdateWorkItemClass("cr"));
            _workStepRepository.Add(WorkStep.New("/development").UpdateOrdinal(2).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("cr"));
            _workStepRepository.Add(WorkStep.New("/development/inprocess").UpdateOrdinal(1).UpdateType(WorkStepType.Expand).UpdateWorkItemClass("cr"));
            _workStepRepository.Add(WorkStep.New("/development/inprocess/tasks").UpdateOrdinal(1).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("task").UpdateTitle("Tasks"));
            _workStepRepository.Add(WorkStep.New("/development/inprocess/tasks/new").UpdateOrdinal(1).UpdateType(WorkStepType.Begin).UpdateWorkItemClass("task"));
            _workStepRepository.Add(WorkStep.New("/development/inprocess/tasks/inprocess").UpdateOrdinal(2).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("task"));
            _workStepRepository.Add(WorkStep.New("/development/inprocess/tasks/done").UpdateOrdinal(3).UpdateType(WorkStepType.End).UpdateWorkItemClass("task"));
            _workStepRepository.Add(WorkStep.New("/development/done").UpdateOrdinal(2).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("cr"));
            _workStepRepository.Add(WorkStep.New("/done").UpdateOrdinal(1).UpdateType(WorkStepType.End).UpdateWorkItemClass("cr"));
        }
Ejemplo n.º 2
0
        public void ShouldThrowExceptionIfWipLimitWillBeViolated()
        {
            var wipLimitChecker = _mocks.Stub <IWipLimitChecker>();

            _mover.WipLimitChecker = wipLimitChecker;

            var analysisStep = WorkStep.New("/analysis").UpdateOrdinal(1).UpdateType(WorkStepType.Begin).UpdateWorkItemClass("cr");
            var devStep      = WorkStep.New("/dev").UpdateOrdinal(2).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("cr");

            _workStepRepository.Add(analysisStep);
            _workStepRepository.Add(devStep);

            _workflow.CreateWorkItem(WorkItem.New("cr1", "/analysis"));
            var workItem = _workItemRepository.GetWorkItem("cr1");

            SetupResult.For(wipLimitChecker.CanAcceptWorkItem(null)).IgnoreArguments().Return(false);

            AssertUtils.AssertThrows <WipLimitViolationException>(
                () => _mover.MoveWorkItem(workItem, devStep)
                );
        }
Ejemplo n.º 3
0
        public void ShouldCreateWorkItemInBeginStep()
        {
            _workStepRepository.Add(WorkStep.New("/analysis").UpdateOrdinal(1).UpdateType(WorkStepType.Begin).UpdateWorkItemClass("cr"));
            _workStepRepository.Add(WorkStep.New("/development").UpdateOrdinal(2).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("cr"));

            _workflow.CreateWorkItem(WorkItem.New("cr1", "/analysis"));
            Assert.AreEqual("/analysis", _workItemRepository.GetWorkItem("cr1").Path);
        }
 public void ShouldGetAllSubsteps()
 {
     _workStepRepository.Add(WorkStep.New("/feedback").UpdateOrdinal(1).UpdateType(WorkStepType.Parallel).UpdateWorkItemClass("cr"));
     _workStepRepository.Add(WorkStep.New("/feedback/review").UpdateOrdinal(1).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("cr"));
     _workStepRepository.Add(WorkStep.New("/feedback/test").UpdateOrdinal(2).UpdateType(WorkStepType.Normal).UpdateWorkItemClass("cr"));
     Assert.AreEqual(2, _workStepRepository.GetChildWorkSteps("/feedback").Count());
 }
        public void ShouldRenderSingleStepWorkflow()
        {
            _workStepRepository.Add(WorkStep.New("/analysis").UpdateOrdinal(1).UpdateType(WorkStepType.Begin).UpdateWorkItemClass("cr"));

            var doc = GetDocument();

            Assert.IsNotNull(doc.SelectSingleNode("/html/body/ol/li[@id=\"analysis\"]"));
        }