Skip to content

Commit 0afec3a

Browse files
replace multiple similar tests with a single test with where block
1 parent 1931095 commit 0afec3a

File tree

1 file changed

+18
-64
lines changed

1 file changed

+18
-64
lines changed

job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/views/ListViewSpec.groovy

Lines changed: 18 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import javaposse.jobdsl.dsl.views.jobfilter.BuildStatusType
88
import javaposse.jobdsl.dsl.views.jobfilter.RegexMatchValue
99
import javaposse.jobdsl.dsl.views.jobfilter.Status
1010
import spock.lang.Specification
11+
import spock.lang.Unroll
1112

1213
import static javaposse.jobdsl.dsl.views.ListView.StatusFilter.ALL
1314
import static javaposse.jobdsl.dsl.views.ListView.StatusFilter.DISABLED
@@ -266,20 +267,6 @@ class ListViewSpec<T extends ListView> extends Specification {
266267
1 * jobManagement.requirePlugin('extra-columns')
267268
}
268269

269-
def 'last build node column'() {
270-
when:
271-
view.columns {
272-
lastBuildNode()
273-
}
274-
275-
then:
276-
Node root = view.node
277-
root.columns.size() == 1
278-
root.columns[0].value().size() == 1
279-
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.LastBuildNodeColumn'
280-
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.16')
281-
}
282-
283270
def 'robotResults column'() {
284271
when:
285272
view.columns {
@@ -630,46 +617,27 @@ class ListViewSpec<T extends ListView> extends Specification {
630617
1 * jobManagement.requireMinimumPluginVersion('jacoco', '1.0.10')
631618
}
632619

633-
def 'slave or label column'() {
620+
@Unroll
621+
def '#type column'() {
634622
when:
635-
view.columns {
636-
slaveOrLabel()
637-
}
638-
639-
then:
640-
Node root = view.node
641-
root.columns.size() == 1
642-
root.columns[0].value().size() == 1
643-
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.SlaveOrLabelColumn'
644-
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.14')
645-
}
646-
647-
def 'user name column'() {
648-
when:
649-
view.columns {
650-
userName()
651-
}
623+
view.columns {
624+
"$type"()
625+
}
652626

653627
then:
654-
Node root = view.node
655-
root.columns.size() == 1
656-
root.columns[0].value().size() == 1
657-
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.UserNameColumn'
658-
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.16')
659-
}
660-
661-
def 'last configuration modification column'() {
662-
when:
663-
view.columns {
664-
lastConfigurationModification()
665-
}
628+
Node root = view.node
629+
root.columns.size() == 1
630+
root.columns[0].value().size() == 1
631+
root.columns[0].value()[0].name() == "jenkins.plugins.extracolumns.$xmlType"
632+
1 * jobManagement.requireMinimumPluginVersion('extra-columns', minimumPluginVersion)
666633

667-
then:
668-
Node root = view.node
669-
root.columns.size() == 1
670-
root.columns[0].value().size() == 1
671-
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.LastJobConfigurationModificationColumn'
672-
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.14')
634+
where:
635+
type | xmlType | minimumPluginVersion
636+
'lastBuildNode' | 'LastBuildNodeColumn' | '1.16'
637+
'slaveOrLabel' | 'SlaveOrLabelColumn' | '1.14'
638+
'userName' | 'UserNameColumn' | '1.16'
639+
'lastConfigurationModification' | 'LastJobConfigurationModificationColumn' | '1.14'
640+
'workspace' | 'WorkspaceColumn' | '1.15'
673641
}
674642

675643
def 'build parameters column'() {
@@ -712,20 +680,6 @@ class ListViewSpec<T extends ListView> extends Specification {
712680
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.13')
713681
}
714682

715-
def 'workspace column'() {
716-
when:
717-
view.columns {
718-
workspace()
719-
}
720-
721-
then:
722-
Node root = view.node
723-
root.columns.size() == 1
724-
root.columns[0].value().size() == 1
725-
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.WorkspaceColumn'
726-
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.15')
727-
}
728-
729683
def 'disable project column with button'() {
730684
when:
731685
view.columns {

0 commit comments

Comments
 (0)