Ejemplo n.º 1
0
        public void TransitionStateCSharp_New_to_Done_succeeded_via_InProgress()
        {
            string script = @"
            self.TransitionToState(""Done"", ""script test"");
            ";
            var repository = new WorkItemRepositoryMock();
            var logger = Substitute.For<ILogEvents>();
            repository.Logger = logger;
            var workItem = new WorkItemMock(repository);
            var workItemType = new WorkItemTypeMock()
            {
                Name = "Task",
                DocumentContent = TestHelpers.LoadTextFromEmbeddedResource("task.xml")
            };
            workItem.Id = 42;
            workItem.Type = workItemType;
            workItem.TypeName = workItemType.Name;
            ((FieldMock)workItem.Fields["State"]).OriginalValue = string.Empty;
            workItem.Fields["State"].Value = workItem.Fields["State"].OriginalValue;
            ((FieldMock)workItem.Fields["State"]).Status = Microsoft.TeamFoundation.WorkItemTracking.Client.FieldStatus.InvalidValueNotInOtherField;
            repository.SetWorkItems(new[] { workItem });

            var engine = new CSharpScriptEngine(repository, logger, false);
            engine.LoadAndRun("test", script, workItem);

            Assert.AreEqual("Done", workItem.Fields["State"].Value);
            Assert.AreEqual(2, workItem.InternalSaveCount);
        }
Ejemplo n.º 2
0
        public void TransitionState_to_non_existing()
        {
            var repository = new WorkItemRepositoryMock();
            repository.Logger = Substitute.For<ILogEvents>();
            var workItem = new WorkItemMock(repository);
            var workItemType = new WorkItemTypeMock()
            {
                Name = "Task",
                DocumentContent = TestHelpers.LoadTextFromEmbeddedResource("task.xml")
            };
            workItem.Id = 42;
            workItem.Type = workItemType;
            workItem.TypeName = workItemType.Name;
            workItem.Fields["State"].Value = string.Empty;
            ((FieldMock)workItem.Fields["State"]).OriginalValue = string.Empty;
            ((FieldMock)workItem.Fields["State"]).Status = Microsoft.TeamFoundation.WorkItemTracking.Client.FieldStatus.InvalidValueNotInOtherField;
            repository.SetWorkItems(new[] { workItem });
            string targetState = "DoesNotExists";

            workItem.TransitionToState(targetState, "test");

            Assert.AreNotEqual(targetState, workItem.Fields["State"].Value);
            Assert.AreEqual(workItem.Fields["State"].OriginalValue, workItem.Fields["State"].Value);
            Assert.IsFalse(workItem.InternalWasSaveCalled);
        }
Ejemplo n.º 3
0
        public void TransitionState_New_to_Done_succeeded_via_InProgress()
        {
            var repository = new WorkItemRepositoryMock();
            repository.Logger = Substitute.For<ILogEvents>();
            var workItem = new WorkItemMock(repository);
            var workItemType = new WorkItemTypeMock()
            {
                Name = "Task",
                DocumentContent = TestHelpers.LoadTextFromEmbeddedResource("task.xml")
            };
            workItem.Id = 42;
            workItem.Type = workItemType;
            workItem.TypeName = workItemType.Name;
            FieldMock mockedField = new FieldMock(workItem, "State");
            workItem.Fields[mockedField.Name] = mockedField;
            mockedField.OriginalValue = string.Empty;
            workItem.Fields["State"].Value = workItem.Fields["State"].OriginalValue;
            mockedField.Status = Microsoft.TeamFoundation.WorkItemTracking.Client.FieldStatus.InvalidValueNotInOtherField;
            repository.SetWorkItems(new[] { workItem });
            string targetState = "Done";

            workItem.TransitionToState(targetState, "test");

            Assert.AreEqual(targetState, workItem.Fields["State"].Value);
            Assert.AreEqual(2, workItem.InternalSaveCount);
        }