Skip to content

Commit

Permalink
refactor: update ValidateStepsCount test cases to include template flag
Browse files Browse the repository at this point in the history
  • Loading branch information
hosekpeter committed Feb 13, 2025
1 parent 4f29632 commit e1c03ce
Showing 1 changed file with 30 additions and 10 deletions.
40 changes: 30 additions & 10 deletions internal/pkg/template/input/step_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,39 +74,59 @@ func TestStepsGroup_ValidateSelectedSteps(t *testing.T) {
Description: "description",
Required: RequiredAtLeastOne,
}
require.NoError(t, g.ValidateStepsCount(10, 2))
err := g.ValidateStepsCount(10, 0)
require.NoError(t, g.ValidateStepsCount(10, 2, false))
err := g.ValidateStepsCount(10, 0, false)
require.Error(t, err)
assert.Equal(t, "at least one step must be selected", err.Error())

g = StepsGroup{
Description: "description",
Required: RequiredZeroOrOne,
}
require.NoError(t, g.ValidateStepsCount(10, 0))
require.NoError(t, g.ValidateStepsCount(10, 1))
err = g.ValidateStepsCount(10, 2)
require.NoError(t, g.ValidateStepsCount(10, 0, false))
require.NoError(t, g.ValidateStepsCount(10, 1, false))
err = g.ValidateStepsCount(10, 2, false)
require.Error(t, err)
assert.Equal(t, "zero or one step must be selected", err.Error())

g = StepsGroup{
Description: "description",
Required: RequiredExactlyOne,
}
require.NoError(t, g.ValidateStepsCount(10, 1))
err = g.ValidateStepsCount(10, 0)
require.NoError(t, g.ValidateStepsCount(10, 1, false))
err = g.ValidateStepsCount(10, 0, false)
require.Error(t, err)
assert.Equal(t, "exactly one step must be selected", err.Error())
err = g.ValidateStepsCount(10, 2)
err = g.ValidateStepsCount(10, 2, false)
require.Error(t, err)
assert.Equal(t, "exactly one step must be selected", err.Error())

g = StepsGroup{
Description: "description",
Required: RequiredExactlyOne,
}
require.NoError(t, g.ValidateStepsCount(10, 1, false))
err = g.ValidateStepsCount(10, 0, false)
require.Error(t, err)
assert.Equal(t, "exactly one step must be selected", err.Error())

// Template test
require.NoError(t, g.ValidateStepsCount(10, 1, true))
require.NoError(t, g.ValidateStepsCount(10, 3, true))
require.NoError(t, g.ValidateStepsCount(10, 0, true))
require.Error(t, err)
assert.Equal(t, "exactly one step must be selected", err.Error())

err = g.ValidateStepsCount(10, 2, false)
require.Error(t, err)
assert.Equal(t, "exactly one step must be selected", err.Error())

g = StepsGroup{
Description: "description",
Required: RequiredAll,
}
require.NoError(t, g.ValidateStepsCount(10, 10))
err = g.ValidateStepsCount(10, 9)
require.NoError(t, g.ValidateStepsCount(10, 10, false))
err = g.ValidateStepsCount(10, 9, false)
require.Error(t, err)
assert.Equal(t, "all steps (10) must be selected", err.Error())
}
Expand Down

0 comments on commit e1c03ce

Please sign in to comment.