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