[Test] public void SimpleAttributeHelpers() { Story story = SandboxProject.CreateStory("Custom Attribute Helpers"); DateTime expectedBirthday = DateTime.Now.Date; story.CustomField["ShoeSize"] = 11.5; story.CustomField["Freckles"] = true; story.CustomField["Hometown"] = "Pierre Part"; story.CustomField["Birthday"] = expectedBirthday; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); double?shoeSize = story.CustomField.GetNumeric("ShoeSize"); Assert.AreEqual(11.5, shoeSize); bool?hasFreckles = story.CustomField.GetBool("Freckles"); Assert.IsTrue(hasFreckles.Value); DateTime?birthday = story.CustomField.GetDate("Birthday"); Assert.AreEqual(expectedBirthday, birthday.Value); string hometown = story.CustomField.GetString("Hometown"); Assert.AreEqual("Pierre Part", hometown); }
public void AssignTeamToStory() { var team = Instance.Create.Team("Bears"); var teamStory = SandboxProject.CreateStory("For Team"); teamStory.Team = team; teamStory.Save(); ResetInstance(); team = Instance.Get.TeamByID(team.ID); teamStory = Instance.Get.StoryByID(teamStory.ID); var included = false; foreach (var story in team.GetPrimaryWorkitems(new StoryFilter())) { if (story == teamStory) { included = true; break; } } Assert.IsTrue(included, "Expected Story \"{0}\" in team \"{1}\" stories.", team.Name, teamStory.Name); }
public void Customer() { var customer = Instance.Members.FirstOrDefault(); var story = SandboxProject.CreateStory("Customer filter"); story.Customer = customer; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); customer = Instance.Get.MemberByID(customer.ID); var filter = GetFilter(); filter.Customer.Add(customer); var results = SandboxProject.GetStories(filter); Assert.IsTrue(FindRelated(story, results), "Expected to find story that matched filter."); foreach (var result in results) { Assert.AreEqual(customer, result.Customer); } }
public void CreateAssets() { if (sandboxProject == null) { sandboxProject = SandboxProject; andre = Instance.Get.MemberByID("Member:1000"); danny = Instance.Get.MemberByID("Member:1005"); epic1 = Instance.Create.Epic("Epic 1", SandboxProject); epic2 = epic1.GenerateChildEpic(); epic2.Name = "Epic 2"; epic2.Save(); story1 = SandboxProject.CreateStory("Story 1"); story2 = SandboxProject.CreateStory("Story 2"); story3 = SandboxProject.CreateStory("Story 3"); defect1 = SandboxProject.CreateDefect("Defect 1"); defect2 = SandboxProject.CreateDefect("Defect 2"); defect3 = SandboxProject.CreateDefect("Defect 3"); story1.Description = "ABCDEFGHIJKJMNOPQRSTUVWXYZ"; story1.Save(); story2.Description = "1234567890"; story2.Save(); story3.Description = "123 ABC"; story3.Save(); story1.Owners.Add(andre); story1.Owners.Add(danny); story3.Owners.Add(andre); defect2.Owners.Add(andre); defect3.Owners.Add(danny); defect1.FoundInBuild = "1.0.0.0"; defect1.ResolvedInBuild = "1.0.0.2"; defect1.Environment = "Windows"; defect1.Estimate = 2.0; defect1.Reference = "123456"; defect1.Save(); defect2.AffectedByDefects.Add(defect1); defect2.FoundInBuild = "1.0.0.0"; defect2.FoundBy = "Joe"; defect2.VerifiedBy = andre; defect2.Environment = "Mac"; defect2.Type.CurrentValue = "Documentation"; defect2.ResolutionReason.CurrentValue = "Duplicate"; defect2.Estimate = 1.0; defect2.Save(); defect3.FoundInBuild = "1.0.0.1"; defect3.FoundBy = "Bob"; defect3.VerifiedBy = danny; defect3.Type.CurrentValue = "Code"; defect3.ResolutionReason.CurrentValue = "Fixed"; defect3.Save(); } }
public void TaskEffort() { var story = SandboxProject.CreateStory("Task Effort Test"); var task = story.CreateTask("Task 1"); var effort = task.GetEffortRecords(null); Assert.AreEqual(0, effort.Count); }
public void GetByDisplayID() { const string defectName = "GetByDisplayIDTest"; var displayID = SandboxProject.CreateStory(defectName).DisplayID; ResetInstance(); Assert.AreEqual(defectName, Instance.Get.StoryByDisplayID(displayID).Name); Instance.Get.StoryByDisplayID(displayID).Delete(); }
[Test] public void GetListCustomAttribute() { Story story = SandboxProject.CreateStory("Custom List Attribute"); story.CustomDropdown["Origin"].CurrentValue = "North America"; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); Assert.AreEqual("North America", story.CustomDropdown["Origin"].ToString()); }
private Story GetStory(string name) { Story story = SandboxProject.CreateStory(name); Task task = story.CreateTask("One"); task.Build = "12345"; task.Save(); Test test1 = story.CreateTest("One"); Test test2 = story.CreateTest("Two"); test1.RankOrder.SetBelow(test2); return(story); }
[Test] public void PrimaryWorkitems() { ChangeSet changeSet = Instance.Create.ChangeSet(_name, _reference); Story story = SandboxProject.CreateStory("Test Story"); changeSet.PrimaryWorkitems.Add(story); AssetID changeSetId = changeSet.ID; ResetInstance(); changeSet = Instance.Get.ChangeSetByID(changeSetId); Assert.AreEqual(1, changeSet.PrimaryWorkitems.Count); }
[Test] public void GetSimpleCustomAttribute() { Story story = SandboxProject.CreateStory("Simple Custom Attribute"); Assert.IsNull(story.CustomField["Hometown"]); story.CustomField["Hometown"] = "Napoleonville"; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); Assert.AreEqual("Napoleonville", story.CustomField["Hometown"]); }
public void HonorTrackingLevelToDo() { Story story = null; try { // The V1SDKTests system is assumed to be configured for "Story:Off" story = SandboxProject.CreateStory("HonorTrackingLevelToDo"); story.ToDo = 10.0; //Should throw } finally { if (story != null) { story.Delete(); } } }
public void HonorTrackingLevelEffort() { Story story = null; try { // The V1SDKTests system is assumed to be configured for "Defect:On" story = SandboxProject.CreateStory("HonorTrackingLevelEffort"); story.CreateEffort(10.0); // should throw } finally { if (story != null) { story.Delete(); } } }
public void Parent() { var story = SandboxProject.CreateStory("Type Filter"); story.CreateTask("Task 1"); story.CreateTask("Task 2"); ResetInstance(); var filter = new TaskFilter(); filter.Parent.Add(story); Assert.AreEqual(2, Instance.Get.Tasks(filter).Count); }
[Test] public void SaveBeforeClose() { string gend = DateTime.Now.ToString("u"); Story story = SandboxProject.CreateStory("My Story"); string storyid = story.ID; story.Description = gend; story.Close(); ResetInstance(); Story newStory = Instance.Get.StoryByID(storyid); Assert.AreEqual(gend, newStory.Description); Assert.IsTrue(newStory.IsClosed); }
[Test] public void GetByID() { Story story = SandboxProject.CreateStory(_originalName); AssetID id = story.ID; // Make sure Name is in the cache. Assert.AreEqual(_originalName, story.Name); // Update story name to "New Name" UpdateStory(id, _originalName, _newName); // Assert Story story2 = Instance.Get.StoryByID(id); Assert.AreEqual(_newName, story2.Name); }
public void TaskDefaultOrder() { var story = SandboxProject.CreateStory("My Story"); var task1 = story.CreateTask("Task 1"); var task2 = story.CreateTask("Task 2"); var task3 = story.CreateTask("Task 3"); task2.RankOrder.SetBelow(task3); task1.RankOrder.SetBelow(task2); //order should be 3,2,1 var workitems = story.GetSecondaryWorkitems(new TaskFilter()); var expected = new[] { "Task 3", "Task 2", "Task 1" }; CollectionAssert.AreEqual(expected, DeriveListOfNamesFromAssets(workitems)); }
public void OwnedSeconardyWorkitems() { var story = SandboxProject.CreateStory("Story"); var task = story.CreateTask("Task"); story.CreateTest("Test"); var member = Instance.Get.MemberByID("Member:20"); task.Owners.Add(member); var filter = new SecondaryWorkitemFilter(); filter.Project.Add(SandboxProject); var items = member.GetOwnedSecondaryWorkitems(filter); CollectionAssert.AreEqual(new string[] { "Task" }, DeriveListOfNamesFromAssets(items)); }
[Test] public void CustomListTypeValues() { Story story = SandboxProject.CreateStory("Custom List Attribute2"); int count = 0; bool foundNAmerica = false; foreach (string value in story.CustomDropdown["Origin"].AllValues) { count++; if (value == "North America") { foundNAmerica = true; } } Assert.AreEqual(5, count, "Expected 5 Origin values. I know this is weak, but what can you do?"); Assert.IsTrue(foundNAmerica, "Expected to find value \"North America\", but it was not in the collection."); }
[Test] public void FilterListTypeText() { PrimaryWorkitem story = SandboxProject.CreateStory("Going to filter on Status"); story.Status.CurrentValue = "In Progress"; story.Save(); ResetInstance(); PrimaryWorkitemFilter filter = new PrimaryWorkitemFilter(); filter.Status.Add("In Progress"); IEnumerable <PrimaryWorkitem> result = Instance.Get.PrimaryWorkitems(filter); Assert.IsTrue(FindRelated(story, result)); foreach (PrimaryWorkitem workitem in result) { Assert.AreEqual("In Progress", workitem.Status.ToString()); } }
[Test] public void ClearCustomListType() { Story story = SandboxProject.CreateStory("Clear Custom List Attribute"); story.CustomDropdown["Origin"].CurrentValue = "North America"; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); Assert.AreEqual("North America", story.CustomDropdown["Origin"].ToString()); story.CustomDropdown["Origin"].ClearCurrentValue(); story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); Assert.IsNull(story.CustomDropdown["Origin"].ToString(), "Clear should remove the list value"); story.CustomDropdown["Origin"].CurrentValue = "North America"; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); Assert.AreEqual("North America", story.CustomDropdown["Origin"].ToString()); story.CustomDropdown["Origin"].CurrentValue = null; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); Assert.IsNull(story.CustomDropdown["Origin"].ToString(), "Clear should remove the list value"); }
public void Order() { var story = SandboxProject.CreateStory("Task Order Test"); var task1 = story.CreateTask("Task 1"); var task2 = story.CreateTask("Task 2"); var filter = new TaskFilter(); filter.Parent.Add(story); filter.OrderBy.Add("RankOrder"); var taskArray = GetTaskArrayFromFilter(filter); Assert.AreEqual("Task 1", taskArray[0].Name); Assert.AreEqual("Task 2", taskArray[1].Name); task2.RankOrder.SetAbove(task1); taskArray = GetTaskArrayFromFilter(filter); Assert.AreEqual("Task 2", taskArray[0].Name); Assert.AreEqual("Task 1", taskArray[1].Name); }
public void CreateTaskWithRequiredAttributes() { const string description = "Test for Task creation with required attributes"; const string name = "CreateAndRetrieveTask"; var attributes = new Dictionary <string, object> { { "Description", description } }; var story = SandboxProject.CreateStory("Task Order Test"); story.CreateTask(name, attributes); ResetInstance(); story = Instance.Get.StoryByID(story.ID); var task = First(story.GetSecondaryWorkitems(null)); Assert.AreEqual(name, task.Name); Assert.AreEqual(description, task.Description); task.Delete(); }
[Test] public void GetByID2() { Story story = SandboxProject.CreateStory(_originalName); AssetID id = story.ID; // Make sure Name is in the cache. Assert.AreEqual(_originalName, story.Name); // Update story name to "New Name" UpdateStory(id, _originalName, _newName); // This should not affect my cached value. Assert.AreEqual(_originalName, story.Name); // Assert Story story2 = Instance.Get.StoryByID(id); Assert.AreEqual(_newName, story2.Name); // Both versions should now show the same value. Assert.AreEqual(_newName, story.Name); }
public void StoryOwner() { var story = SandboxProject.CreateStory("StoryOwner"); var owner = Instance.Create.Member("Dude", "dud", Role.ProjectLead); SandboxProject.AssignedMembers.Add(owner); SandboxProject.Save(); story.Owners.Add(owner); story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); owner = Instance.Get.MemberByID(owner.ID); Assert.IsTrue(FindRelated(owner, story.Owners)); Assert.IsTrue(FindRelated(story, owner.GetOwnedPrimaryWorkitems(null))); story.Delete(); owner.Delete(); }
public void IterationTotalEstimate() { var storyA = CreateStory("Story A", SandboxProject, SandboxIteration); var defectB = CreateDefect("Defect B", SandboxProject, SandboxIteration); storyA.Estimate = 5; defectB.Estimate = 10; storyA.Save(); defectB.Save(); var rogue = SandboxProject.CreateStory("Rogue"); rogue.Estimate = 13.37; rogue.Save(); rogue.Delete(); Assert.AreEqual(15, SandboxIteration.GetTotalEstimate(null)); Assert.AreEqual(15, SandboxIteration.GetTotalEstimate(new PrimaryWorkitemFilter())); Assert.AreEqual(5, SandboxIteration.GetTotalEstimate(new StoryFilter())); Assert.AreEqual(10, SandboxIteration.GetTotalEstimate(new DefectFilter())); }
public void FindInDescriptionFound() { var nameString = Guid.NewGuid().ToString(); var a = SandboxProject.CreateStory("Has a wierd description"); a.Description = nameString; var b = SandboxProject.CreateStory("Also with funky data"); b.Description = nameString; a.Save(); b.Save(); System.Threading.Thread.Sleep(5000); var filter = GetFilter(); filter.Find.SearchString = nameString; filter.Find.Fields.Add("Description"); Assert.AreEqual(2, Instance.Get.Stories(filter).Count); }
public void CanDelete() { const string name = "CanDeleteTest"; SandboxProject.CreateStory(name); var filter = new StoryFilter(); filter.Name.Add(name); var workitems = SandboxProject.GetPrimaryWorkitems(filter); Assert.AreEqual(1, workitems.Count); var story = First(workitems); Assert.IsTrue(story.CanDelete); story.Close(); Assert.IsFalse(story.CanDelete); story.Reactivate(); Assert.IsTrue(story.CanDelete); story.Delete(); }
public void RequestedBy() { var story = SandboxProject.CreateStory("RequestdBy Filter"); story.RequestedBy = "ME"; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); var filter = new StoryFilter(); filter.RequestedBy.Add("ME"); var results = SandboxProject.GetStories(filter); Assert.IsTrue(FindRelated(story, results), "Expected to find story that matched filter."); foreach (var result in results) { Assert.AreEqual("ME", result.RequestedBy); } }
public void Build() { var story = SandboxProject.CreateStory("Build Filter"); story.Build = "10.2.24.1"; story.Save(); ResetInstance(); story = Instance.Get.StoryByID(story.ID); var filter = GetFilter(); filter.Build.Add("10.2.24.1"); var results = SandboxProject.GetStories(filter); Assert.IsTrue(FindRelated(story, results), "Expected to find story that matched filter."); foreach (var result in results) { Assert.AreEqual("10.2.24.1", result.Build); } }
public void DependantStories() { var benefactor = SandboxProject.CreateStory("Benefactor"); var dependant = SandboxProject.CreateStory("Dependant"); dependant.DependsOnStories.Add(benefactor); dependant.Save(); ResetInstance(); dependant = Instance.Get.StoryByID(dependant.ID); benefactor = Instance.Get.StoryByID(benefactor.ID); var filter = GetFilter(); filter.DependentStories.Add(dependant); var results = SandboxProject.GetStories(filter); Assert.IsTrue(FindRelated(benefactor, results), "Expected to find story that matched filter."); foreach (var result in results) { Assert.IsTrue(FindRelated(dependant, result.DependentStories), "Expected story to includ value used in filter in dependant stories"); } }