// TestListSourceAndTargetLinkTypesEmpty tests that no link type is returned for // WITs that don't have link types associated to them func (s *workItemTypeSuite) TestListSourceAndTargetLinkTypesEmpty() { defer cleaner.DeleteCreatedEntities(s.DB)() _, witPerson := s.createWorkItemTypePerson() require.NotNil(s.T(), witPerson) _, wiltCollection := test.ListSourceLinkTypesWorkitemtypeOK(s.T(), nil, nil, s.typeCtrl, "person") require.NotNil(s.T(), wiltCollection) require.Nil(s.T(), wiltCollection.Validate()) require.Len(s.T(), wiltCollection.Data, 0) _, wiltCollection = test.ListTargetLinkTypesWorkitemtypeOK(s.T(), nil, nil, s.typeCtrl, "person") require.NotNil(s.T(), wiltCollection) require.Nil(s.T(), wiltCollection.Validate()) require.Len(s.T(), wiltCollection.Data, 0) }
// TestListSourceAndTargetLinkTypes tests if we can find the work item link // types for a given WIT. func (s *workItemTypeSuite) TestListSourceAndTargetLinkTypes() { defer cleaner.DeleteCreatedEntities(s.DB)() // Create the work item type first and try to read it back in _, witAnimal := s.createWorkItemTypeAnimal() require.NotNil(s.T(), witAnimal) _, witPerson := s.createWorkItemTypePerson() require.NotNil(s.T(), witPerson) // Create work item link category linkCatPayload := CreateWorkItemLinkCategory("some-link-category") _, linkCat := test.CreateWorkItemLinkCategoryCreated(s.T(), nil, nil, s.linkCatCtrl, linkCatPayload) require.NotNil(s.T(), linkCat) // Create work item link type animalLinksToBugStr := "animal-links-to-bug" linkTypePayload := CreateWorkItemLinkType(animalLinksToBugStr, "animal", workitem.SystemBug, *linkCat.Data.ID) _, linkType := test.CreateWorkItemLinkTypeCreated(s.T(), nil, nil, s.linkTypeCtrl, linkTypePayload) require.NotNil(s.T(), linkType) // Create another work item link type bugLinksToAnimalStr := "bug-links-to-animal" linkTypePayload = CreateWorkItemLinkType(bugLinksToAnimalStr, workitem.SystemBug, "animal", *linkCat.Data.ID) _, linkType = test.CreateWorkItemLinkTypeCreated(s.T(), nil, nil, s.linkTypeCtrl, linkTypePayload) require.NotNil(s.T(), linkType) // Fetch source link types _, wiltCollection := test.ListSourceLinkTypesWorkitemtypeOK(s.T(), nil, nil, s.typeCtrl, "animal") require.NotNil(s.T(), wiltCollection) assert.Nil(s.T(), wiltCollection.Validate()) // Check the number of found work item link types require.Len(s.T(), wiltCollection.Data, 1) require.Equal(s.T(), animalLinksToBugStr, *wiltCollection.Data[0].Attributes.Name) // Fetch target link types _, wiltCollection = test.ListTargetLinkTypesWorkitemtypeOK(s.T(), nil, nil, s.typeCtrl, "animal") require.NotNil(s.T(), wiltCollection) require.Nil(s.T(), wiltCollection.Validate()) // Check the number of found work item link types require.Len(s.T(), wiltCollection.Data, 1) require.Equal(s.T(), bugLinksToAnimalStr, *wiltCollection.Data[0].Attributes.Name) }