mirror of https://github.com/coder/coder.git
fix: previous parameter value is not a number (#12246)
This commit is contained in:
parent
b4fb754b2d
commit
c230bcf5ca
|
@ -60,7 +60,7 @@ func validateBuildParameter(richParameter TemplateVersionParameter, buildParamet
|
|||
value = richParameter.DefaultValue
|
||||
}
|
||||
|
||||
if lastBuildParameter != nil && richParameter.Type == "number" && len(richParameter.ValidationMonotonic) > 0 {
|
||||
if lastBuildParameter != nil && lastBuildParameter.Value != "" && richParameter.Type == "number" && len(richParameter.ValidationMonotonic) > 0 {
|
||||
prev, err := strconv.Atoi(lastBuildParameter.Value)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("previous parameter value is not a number: %s", lastBuildParameter.Value)
|
||||
|
|
|
@ -309,6 +309,26 @@ func TestRichParameterValidation(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestParameterResolver_ValidateResolve_EmptyString_Monotonic(t *testing.T) {
|
||||
t.Parallel()
|
||||
uut := codersdk.ParameterResolver{
|
||||
Rich: []codersdk.WorkspaceBuildParameter{{Name: "n", Value: ""}},
|
||||
}
|
||||
p := codersdk.TemplateVersionParameter{
|
||||
Name: "n",
|
||||
Type: "number",
|
||||
Mutable: true,
|
||||
DefaultValue: "0",
|
||||
ValidationMonotonic: codersdk.MonotonicOrderIncreasing,
|
||||
}
|
||||
v, err := uut.ValidateResolve(p, &codersdk.WorkspaceBuildParameter{
|
||||
Name: "n",
|
||||
Value: "1",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "1", v)
|
||||
}
|
||||
|
||||
func TestParameterResolver_ValidateResolve_Ephemeral_OverridePrevious(t *testing.T) {
|
||||
t.Parallel()
|
||||
uut := codersdk.ParameterResolver{
|
||||
|
|
Loading…
Reference in New Issue