/src/main/resources/com/onresolve/jira/groovy/test/TestBulkImportCustomFieldValues.groovy
Groovy | 85 lines | 68 code | 16 blank | 1 comment | 1 complexity | f75f7ddc838a143f95d7d957120b2c13 MD5 | raw file
- package com.onresolve.jira.groovy.test
-
- import org.apache.log4j.Category
- import com.atlassian.jira.issue.comments.Comment
- import org.apache.log4j.Category
- import org.junit.After
- import org.junit.Before
- import org.junit.Test
- import static junit.framework.Assert.assertNotNull
- import com.atlassian.jira.issue.customfields.CustomFieldType
- import com.atlassian.jira.issue.customfields.CustomFieldSearcher
- import com.atlassian.jira.issue.fields.CustomField
- import com.atlassian.core.util.collection.EasyList
- import com.atlassian.jira.issue.context.GlobalIssueContext
- import com.atlassian.jira.component.ComponentAccessor
- import com.onresolve.jira.groovy.canned.admin.BulkImportCustomFieldValues
- import com.atlassian.jira.ComponentManager
- import com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManager
-
- import static junit.framework.Assert.assertEquals
-
- class TestBulkImportCustomFieldValues extends CustomFieldBaseTests {
- Category log = Category.getInstance(this.class)
-
-
- @Test
- public void testSelectListOptions() {
- // create a new select list, add some values from empty, add some more values
-
- def cf = createCustomField("testSelectList", "com.atlassian.jira.plugin.system.customfieldtypes:select",
- "com.atlassian.jira.plugin.system.customfieldtypes:selectsearcher")
- optionsManager.removeCustomFieldOptions(cf)
- def fieldConfig = cf.getConfigurationSchemes().first().getOneAndOnlyConfig()
-
- Map<String, Object> inputs = [
- issue: issue,
- (BulkImportCustomFieldValues.FIELD_FCS): fieldConfig.id,
- (BulkImportCustomFieldValues.FIELD_IMPORT_VALUES): ["A", "B"].join("\n"),
- ] as Map<String, Object>
-
- new BulkImportCustomFieldValues().doScript(inputs)
- assertEquals(["A", "B"], optionsManager.getOptions(fieldConfig).getRootOptions()*.value)
-
- inputs[(BulkImportCustomFieldValues.FIELD_IMPORT_VALUES)] = ["A", "B", "C"].join("\n")
- new BulkImportCustomFieldValues().doScript(inputs)
- assertEquals(["A", "B", "C"], optionsManager.getOptions(fieldConfig).getRootOptions()*.value)
- }
-
- @Test
- public void testCascadingSelectListOptions() {
- def cf = createCustomField("testCascadingSelectList", "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect",
- "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher")
- optionsManager.removeCustomFieldOptions(cf)
- def fieldConfig = cf.getConfigurationSchemes().first().getOneAndOnlyConfig()
-
- Map<String, Object> inputs = [
- issue: issue,
- (BulkImportCustomFieldValues.FIELD_FCS): fieldConfig.id,
- (BulkImportCustomFieldValues.FIELD_IMPORT_VALUES): ["A", "\tA1", "B"].join("\n"),
- ] as Map<String, Object>
-
- new BulkImportCustomFieldValues().doScript(inputs)
- def options = optionsManager.getOptions(fieldConfig)
- assertEquals(["A", "B"], options.getRootOptions()*.value)
- assertEquals (["A1"], options.getOptionForValue("A", null).childOptions*.value)
-
- inputs[(BulkImportCustomFieldValues.FIELD_IMPORT_VALUES)] = ["A", "\tA1", "\tA2", "B", "\tB1"].join("\n")
- new BulkImportCustomFieldValues().doScript(inputs)
- assertEquals(["A", "B"], options.getRootOptions()*.value)
- options = optionsManager.getOptions(fieldConfig)
- assertEquals (["A1", "A2"], options.getOptionForValue("A", null).childOptions*.value)
- assertEquals (["B1"], options.getOptionForValue("B", null).childOptions*.value)
-
- }
-
- @After
- public void tearDown() {
- ["testSelectList", "testCascadingSelectList"].each {
- def cf = customFieldManager.getCustomFieldObjectByName(it)
- if (cf)
- customFieldManager.removeCustomField(cf)
- }
- }
-
- }