@@ -48,6 +48,14 @@ func Test_Docs_DocsCommand(t *testing.T) {
4848 cm .Browser .AssertNotCalled (t , "OpenURL" )
4949 },
5050 },
51+ "fails when multiple positional arguments provided without search flag" : {
52+ CmdArgs : []string {"webhook" , "send" , "message" },
53+ ExpectedErrorStrings : []string {"Invalid docs command. Did you mean to search?" },
54+ ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
55+ // No browser calls should be made when command fails
56+ cm .Browser .AssertNotCalled (t , "OpenURL" )
57+ },
58+ },
5159 "opens docs with search query using space syntax" : {
5260 CmdArgs : []string {"--search" , "messaging" },
5361 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
@@ -60,6 +68,18 @@ func Test_Docs_DocsCommand(t *testing.T) {
6068 "https://docs.slack.dev/search/?q=messaging" ,
6169 },
6270 },
71+ "handles search with multiple arguments" : {
72+ CmdArgs : []string {"--search" , "Block" , "Kit" , "Element" },
73+ ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
74+ expectedURL := "https://docs.slack.dev/search/?q=Block+Kit+Element"
75+ cm .Browser .AssertCalled (t , "OpenURL" , expectedURL )
76+ cm .IO .AssertCalled (t , "PrintTrace" , mock .Anything , slacktrace .DocsSearchSuccess , mock .Anything )
77+ },
78+ ExpectedOutputs : []string {
79+ "Docs Search" ,
80+ "https://docs.slack.dev/search/?q=Block+Kit+Element" ,
81+ },
82+ },
6383 "handles search query with multiple words" : {
6484 CmdArgs : []string {"--search" , "socket mode" },
6585 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
0 commit comments