expand test cases
This commit is contained in:
parent
3d6eec825a
commit
595382c509
36
app_test.go
36
app_test.go
@ -885,32 +885,50 @@ func TestRequiredFlagAppRunBehavior(t *testing.T) {
|
|||||||
appCommands []Command
|
appCommands []Command
|
||||||
expectedAnError bool
|
expectedAnError bool
|
||||||
}{
|
}{
|
||||||
|
// expectations:
|
||||||
|
// - empty input, when a required flag is present, errors and shows the flag error message
|
||||||
{
|
{
|
||||||
// expectations:
|
|
||||||
// - empty input, when a required flag is present, shows the help message
|
|
||||||
// - empty input, when a required flag is present, errors and shows the flag error message
|
|
||||||
testCase: "error_case_empty_input_with_required_flag",
|
testCase: "error_case_empty_input_with_required_flag",
|
||||||
appRunInput: []string{"myCLI"},
|
appRunInput: []string{"myCLI"},
|
||||||
appFlags: []Flag{StringFlag{Name: "requiredFlag", Required: true}},
|
appFlags: []Flag{StringFlag{Name: "requiredFlag", Required: true}},
|
||||||
expectedAnError: true,
|
expectedAnError: true,
|
||||||
},
|
},
|
||||||
|
// expectations:
|
||||||
|
// - inputing --help, when a required flag is present, does not error
|
||||||
{
|
{
|
||||||
// expectations:
|
|
||||||
// - inputing --help, when a required flag is present, shows the help message
|
|
||||||
// - inputing --help, when a required flag is present, does not error
|
|
||||||
testCase: "valid_case_help_input_with_required_flag",
|
testCase: "valid_case_help_input_with_required_flag",
|
||||||
appRunInput: []string{"myCLI", "--help"},
|
appRunInput: []string{"myCLI", "--help"},
|
||||||
appFlags: []Flag{StringFlag{Name: "requiredFlag", Required: true}},
|
appFlags: []Flag{StringFlag{Name: "requiredFlag", Required: true}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// expectations:
|
testCase: "valid_case_help_input_with_required_flag_command",
|
||||||
// - giving optional input, when a required flag is present, shows the help message
|
appRunInput: []string{"myCLI", "myCommand", "--help"},
|
||||||
// - giving optional input, when a required flag is present, errors and shows the flag error message
|
appCommands: []Command{Command{
|
||||||
|
Name: "myCommand",
|
||||||
|
Flags: []Flag{StringFlag{Name: "requiredFlag", Required: true}},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
testCase: "valid_case_help_input_with_required_flag_subcommand",
|
||||||
|
appRunInput: []string{"myCLI", "myCommand", "mySubCommand", "--help"},
|
||||||
|
appCommands: []Command{Command{
|
||||||
|
Name: "myCommand",
|
||||||
|
Subcommands: []Command{Command{
|
||||||
|
Name: "mySubCommand",
|
||||||
|
Flags: []Flag{StringFlag{Name: "requiredFlag", Required: true}},
|
||||||
|
}},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
// expectations:
|
||||||
|
// - giving optional input, when a required flag is present, shows the help message
|
||||||
|
// - giving optional input, when a required flag is present, errors and shows the flag error message
|
||||||
|
{
|
||||||
testCase: "error_case_optional_input_with_required_flag",
|
testCase: "error_case_optional_input_with_required_flag",
|
||||||
appRunInput: []string{"myCLI", "--optional", "cats"},
|
appRunInput: []string{"myCLI", "--optional", "cats"},
|
||||||
appFlags: []Flag{StringFlag{Name: "requiredFlag", Required: true}, StringFlag{Name: "optional"}},
|
appFlags: []Flag{StringFlag{Name: "requiredFlag", Required: true}, StringFlag{Name: "optional"}},
|
||||||
expectedAnError: true,
|
expectedAnError: true,
|
||||||
},
|
},
|
||||||
|
// valid input cases
|
||||||
{
|
{
|
||||||
testCase: "valid_case_required_flag_input",
|
testCase: "valid_case_required_flag_input",
|
||||||
appRunInput: []string{"myCLI", "--requiredFlag", "cats"},
|
appRunInput: []string{"myCLI", "--requiredFlag", "cats"},
|
||||||
|
Loading…
Reference in New Issue
Block a user