feat: test duplicate project and env name

This commit is contained in:
2025-09-28 11:05:41 +05:30
parent 9eaa34d7fe
commit bc67eae7c7
2 changed files with 26 additions and 3 deletions

View File

@@ -2,6 +2,7 @@ package cmd
import (
"envy/cmd/utils"
"errors"
"fmt"
"os"
"path"
@@ -42,12 +43,23 @@ var createCmd = &cobra.Command{
environment := ""
envs, err := utils.GetEnvironments(dbProject.ID)
utils.StopIfErr(err)
form := huh.NewForm(
huh.NewGroup(
huh.NewInput().
Title("Environment name").
Prompt("? ").
Validate(utils.NoSpace).
Validate(func(input string) error {
for _, en := range envs {
if en.Name == input {
return errors.New("this name is used")
}
}
return nil
}).
Value(&environment),
),
)
@@ -86,6 +98,9 @@ var createCmd = &cobra.Command{
return
}
dbProjects, err := utils.GetProjects()
utils.StopIfErr(err)
project := ""
environment := ""
@@ -95,6 +110,14 @@ var createCmd = &cobra.Command{
Title("Project name").
Prompt("? ").
Validate(utils.NoSpace).
Validate(func(input string) error {
for _, pr := range dbProjects {
if pr.Name == input {
return errors.New("this name is used")
}
}
return nil
}).
Value(&project),
huh.NewInput().
@@ -105,7 +128,7 @@ var createCmd = &cobra.Command{
),
)
err := form.Run()
err = form.Run()
if err != nil {
utils.ErrPrint("Some error occured:", err.Error())
}