Пример #1
0
        public IField this[string name]
        {
            get
            {
                if (!this.fields.ContainsKey(name))
                {
                    IField field = new FieldMock(this.workItemMock, name);
                    this.fields.Add(name, new DoubleFixFieldDecorator(field));
                }

                return(this.fields[name]);
            }

            set
            {
                this.fields[name] = value;
            }
        }
        public IField this[string name]
        {
            get
            {
                if (!this.fields.ContainsKey(name))
                {
                    IField field = new FieldMock(this.workItemMock, name);
                    this.fields.Add(name, new DoubleFixFieldDecorator(field));
                }

                return this.fields[name];
            }

            set
            {
                this.fields[name] = value;
            }
        }
Пример #3
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 mockedField = new FieldMock(workItem, "State");
            workItem.Fields[mockedField.Name] = mockedField;
            mockedField.OriginalValue = string.Empty;
            mockedField.Value = mockedField.OriginalValue;
            mockedField.Status = Microsoft.TeamFoundation.WorkItemTracking.Client.FieldStatus.InvalidValueNotInOtherField;

            repository.SetWorkItems(new[] { workItem });

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

            Assert.AreEqual("Done", workItem.Fields["State"].Value);
            Assert.AreEqual(2, workItem.InternalSaveCount);
        }
Пример #4
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;

            FieldMock mockedField = new FieldMock(workItem, "State");
            mockedField.Value = string.Empty;
            mockedField.OriginalValue = string.Empty;
            mockedField.Status = Microsoft.TeamFoundation.WorkItemTracking.Client.FieldStatus.InvalidValueNotInOtherField;
            workItem.Fields[mockedField.Name] = mockedField;

            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);
        }