MCPcopy Index your code
hub / github.com/commitdev/zero / TestGetParam

Function TestGetParam

internal/init/prompts_test.go:13–196  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestGetParam(t *testing.T) {
14
15 envVarTranslationMap := map[string]string{}
16 projectParams := map[string]string{}
17 t.Run("Should execute params without prompt", func(t *testing.T) {
18 param := moduleconfig.Parameter{
19 Field: "account-id",
20 Execute: "echo \"my-account-id\"",
21 }
22
23 prompt := initPrompts.PromptHandler{
24 param,
25 initPrompts.NoCondition,
26 initPrompts.NoValidation,
27 }
28
29 prompt.RunPrompt(projectParams, envVarTranslationMap)
30 assert.Equal(t, "my-account-id", projectParams[param.Field])
31 })
32
33 t.Run("executes with project context", func(t *testing.T) {
34 param := moduleconfig.Parameter{
35 Field: "myEnv",
36 Execute: "echo $INJECTEDENV",
37 }
38
39 prompt := initPrompts.PromptHandler{
40 param,
41 initPrompts.NoCondition,
42 initPrompts.NoValidation,
43 }
44
45 projectParams := map[string]string{"INJECTEDENV": "SOME_ENV_VAR_VALUE"}
46 prompt.RunPrompt(projectParams, envVarTranslationMap)
47 assert.Equal(t, "SOME_ENV_VAR_VALUE", projectParams[param.Field])
48 })
49
50 t.Run("Should return static value", func(t *testing.T) {
51 param := moduleconfig.Parameter{
52 Field: "placeholder",
53 Value: "lorem-ipsum",
54 }
55
56 prompt := initPrompts.PromptHandler{
57 param,
58 initPrompts.NoCondition,
59 initPrompts.NoValidation,
60 }
61
62 prompt.RunPrompt(projectParams, envVarTranslationMap)
63 assert.Equal(t, "lorem-ipsum", projectParams[param.Field])
64 })
65
66 t.Run("Prompt value to retain existing params", func(t *testing.T) {
67 projectParams = map[string]string{
68 "existing_value": "foo",
69 }
70 param := moduleconfig.Parameter{

Callers

nothing calls this directly

Calls 2

RunPromptMethod · 0.95
ErrorMethod · 0.45

Tested by

no test coverage detected