def test_setting_a_label_for_all_sub_items(self): # Given sub_story = MockedJiraIssue() self.jira_client.search_issues.return_value = [ sub_story, ] jat = JiraAgileToolBox(self.jira_client) # When jat.add_labels_to_all_sub_items_of_epic("PROJ001-001", ["label_to_set"]) # Then sub_story.add_field_value.assert_called_with("labels", "label_to_set")
def test_setting_a_label_for_all_sub_items_retrieves_only_the_label_fields( self): # Given self.jira_client.fields.return_value = DEFAULT_FIELDS_RETURN_VALUE sub_story = MockedJiraIssue() self.jira_client.search_issues.return_value = [ sub_story, ] jat = JiraAgileToolBox(self.jira_client) # When jat.add_labels_to_all_sub_items_of_epic("PROJ001-001", ["label_to_set"]) # Then self.jira_client.search_issues.assert_called_with( f"'Epic Link' = PROJ001-001", fields=["labels"], maxResults=0)
def test_setting_a_label_for_all_sub_items_will_remove_already_present_labels( self): # Given self.jira_client.fields.return_value = DEFAULT_FIELDS_RETURN_VALUE sub_story = MockedJiraIssue() self.jira_client.search_issues.return_value = [ sub_story, ] jat = JiraAgileToolBox(self.jira_client) # When jat.add_labels_to_all_sub_items_of_epic("PROJ001-001", ["label_to_set"], keep_already_present=False) # Then sub_story.update.assert_called_with( fields={"labels": ["label_to_set"]})
def test_setting_a_label_for_all_sub_items_passes_on_the_jql_query(self): # Given self.jira_client.fields.return_value = DEFAULT_FIELDS_RETURN_VALUE sub_story = MockedJiraIssue() self.jira_client.search_issues.return_value = [ sub_story, ] jat = JiraAgileToolBox(self.jira_client) # When epic = "PROJ001-001" jql_query = "project in (PROJ001,PROJ002)" jat.add_labels_to_all_sub_items_of_epic(epic, ["label_to_set"], jql_query=jql_query) # Then self.jira_client.search_issues.assert_called_with( f"'Epic Link' = {epic} AND {jql_query}", fields=["labels"], maxResults=0)