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
|
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)
|
prev, err := strconv.Atoi(lastBuildParameter.Value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("previous parameter value is not a number: %s", lastBuildParameter.Value)
|
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) {
|
func TestParameterResolver_ValidateResolve_Ephemeral_OverridePrevious(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
uut := codersdk.ParameterResolver{
|
uut := codersdk.ParameterResolver{
|
||||||
|
|
Loading…
Reference in New Issue