diff --git a/test/e2e/parallel/nstemplatetier_test.go b/test/e2e/parallel/nstemplatetier_test.go index 6d6bdcef5..644e8ba7b 100644 --- a/test/e2e/parallel/nstemplatetier_test.go +++ b/test/e2e/parallel/nstemplatetier_test.go @@ -432,8 +432,7 @@ func TestTierTemplateRevision(t *testing.T) { // when // we update a parameter in the NSTemplateTier // by increasing the deployment quota - customTier.NSTemplateTier.Spec.Parameters = []toolchainv1alpha1.Parameter{{Name: "DEPLOYMENT_QUOTA", Value: "100"}} - customTier = tiers.UpdateCustomNSTemplateTier(t, hostAwait, customTier) + customTier = tiers.UpdateCustomNSTemplateTier(t, hostAwait, customTier, tiers.WithParameter("DEPLOYMENT_QUOTA", "100")) require.NoError(t, err) // then diff --git a/testsupport/tiers/tier_setup.go b/testsupport/tiers/tier_setup.go index a1fe4a34a..02241063a 100644 --- a/testsupport/tiers/tier_setup.go +++ b/testsupport/tiers/tier_setup.go @@ -86,12 +86,28 @@ func WithParameter(name, value string) CustomNSTemplateTierModifier { if tier.Spec.Parameters == nil { tier.Spec.Parameters = []toolchainv1alpha1.Parameter{} } - tier.Spec.Parameters = append(tier.Spec.Parameters, - toolchainv1alpha1.Parameter{ - Name: name, - Value: value, - }, - ) + + newParams := make([]toolchainv1alpha1.Parameter, len(tier.Spec.Parameters)) + // search for the param, in case it already exists, we need only to change its value + found := false + for _, param := range tier.Spec.Parameters { + if param.Name == name { + // if the param already exists, let's set the new value + param.Value = value + found = true + } + newParams = append(newParams, param) + } + // if it's a new parameter, let's append it to the existing ones + if !found { + newParams = append(newParams, + toolchainv1alpha1.Parameter{ + Name: name, + Value: value, + }, + ) + } + tier.Spec.Parameters = newParams return nil } }