public void CreateGetAndUpdateTest() { Defect defect = CreateDefect(); EntityListResult <Defect> list = entityService.Get <Defect>(workspaceContext); Defect firstDefect = list.data[0]; Defect defectForUpdate = new Defect(firstDefect.Id); defectForUpdate.SetValue("name", defectForUpdate.Name + " updated " + new Guid()); Defect updatedDefect = entityService.Update <Defect>(workspaceContext, defectForUpdate); Defect updatedDefect2 = entityService.GetById <Defect>(workspaceContext, firstDefect.Id, null); Assert.AreEqual(defectForUpdate.Name, updatedDefect2.Name); }
public void DefectCoverageTest() { Test createdTest1 = TestManualTests.CreateManualTest(); Test createdTest2 = TestManualTests.CreateManualTest(); Test createdTest3 = TestManualTests.CreateManualTest(); Defect createdDefect = DefectTests.CreateDefect(); //create coverage Defect defectForUpdate = new Defect(createdDefect.Id); //add tests EntityList <Test> testList = new EntityList <Test>(); Test testForLink1 = new Test(createdTest1.Id); testForLink1.TypeName = "test"; testList.data.Add(testForLink1); Test testForLink2 = new Test(createdTest3.Id); testForLink2.TypeName = "test"; testList.data.Add(testForLink2); defectForUpdate.SetValue("test", testList); //define service arg, its required to add new relation instead of replace existing ones Dictionary <string, string> serviceArgs = new Dictionary <string, string>(); serviceArgs.Add("reference_update_mode", "append"); //actial update Defect updated = entityService.Update(workspaceContext, defectForUpdate, serviceArgs, null); //get test coverage List <QueryPhrase> queryPhrases = new List <QueryPhrase>(); QueryPhrase defectIdPhrase = new LogicalQueryPhrase(Release.ID_FIELD, createdDefect.Id); QueryPhrase coveredContentPhrase = new CrossQueryPhrase("covered_content", defectIdPhrase); queryPhrases.Add(coveredContentPhrase); EntityListResult <Test> coveredTests = entityService.Get <Test>(workspaceContext, queryPhrases, null); Assert.AreEqual(2, coveredTests.data.Count); //validation List <EntityId> coveredTestIds = coveredTests.data.ConvertAll <EntityId>(a => a.Id); Assert.IsTrue(coveredTestIds.Contains(testForLink1.Id)); Assert.IsTrue(coveredTestIds.Contains(testForLink2.Id)); }
/// <summary> /// Create a new defect entity /// </summary> public static Defect CreateDefect(string customName = null) { var name = customName ?? "Defect_" + Guid.NewGuid(); var defect = new Defect { Name = name, Phase = GetPhaseNew(), Severity = GetSeverityByName("High"), Parent = Utility.GetWorkItemRoot() }; defect.SetValue(CommonFields.Owner, BaseOctanePluginTest.User); var createdDefect = BaseOctanePluginTest.EntityService.Create(BaseOctanePluginTest.WorkspaceContext, defect, new[] { Defect.NAME_FIELD, Defect.AUTHOR_FIELD }); Assert.AreEqual(name, createdDefect.Name, "Mismatched defect name"); return(createdDefect); }