@@ -40,8 +40,16 @@ func Test_Docs_DocsCommand(t *testing.T) {
4040 "https://docs.slack.dev" ,
4141 },
4242 },
43- "opens docs with basic search query" : {
44- CmdArgs : []string {"messaging" },
43+ "fails when positional argument provided without search flag" : {
44+ CmdArgs : []string {"Block Kit" },
45+ ExpectedErrorStrings : []string {"Invalid docs command. Did you mean to search?" },
46+ ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
47+ // No browser calls should be made when command fails
48+ cm .Browser .AssertNotCalled (t , "OpenURL" )
49+ },
50+ },
51+ "opens docs with search query using space syntax" : {
52+ CmdArgs : []string {"--search" , "messaging" },
4553 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
4654 expectedURL := "https://docs.slack.dev/search/?q=messaging"
4755 cm .Browser .AssertCalled (t , "OpenURL" , expectedURL )
@@ -53,7 +61,7 @@ func Test_Docs_DocsCommand(t *testing.T) {
5361 },
5462 },
5563 "handles search query with multiple words" : {
56- CmdArgs : []string {"socket mode" },
64+ CmdArgs : []string {"--search" , " socket mode" },
5765 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
5866 expectedURL := "https://docs.slack.dev/search/?q=socket+mode"
5967 cm .Browser .AssertCalled (t , "OpenURL" , expectedURL )
@@ -65,7 +73,7 @@ func Test_Docs_DocsCommand(t *testing.T) {
6573 },
6674 },
6775 "handles special characters in search query" : {
68- CmdArgs : []string {"messages & webhooks" },
76+ CmdArgs : []string {"--search" , " messages & webhooks" },
6977 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
7078 expectedURL := "https://docs.slack.dev/search/?q=messages+%26+webhooks"
7179 cm .Browser .AssertCalled (t , "OpenURL" , expectedURL )
@@ -77,7 +85,7 @@ func Test_Docs_DocsCommand(t *testing.T) {
7785 },
7886 },
7987 "handles search query with quotes" : {
80- CmdArgs : []string {"webhook \" send message\" " },
88+ CmdArgs : []string {"--search" , " webhook \" send message\" " },
8189 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
8290 expectedURL := "https://docs.slack.dev/search/?q=webhook+%22send+message%22"
8391 cm .Browser .AssertCalled (t , "OpenURL" , expectedURL )
@@ -88,18 +96,6 @@ func Test_Docs_DocsCommand(t *testing.T) {
8896 "https://docs.slack.dev/search/?q=webhook+%22send+message%22" ,
8997 },
9098 },
91- "handles empty search query" : {
92- CmdArgs : []string {"" },
93- ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
94- expectedURL := "https://docs.slack.dev/search/?q="
95- cm .Browser .AssertCalled (t , "OpenURL" , expectedURL )
96- cm .IO .AssertCalled (t , "PrintTrace" , mock .Anything , slacktrace .DocsSearchSuccess , mock .Anything )
97- },
98- ExpectedOutputs : []string {
99- "Docs Search" ,
100- "https://docs.slack.dev/search/?q=" ,
101- },
102- },
10399 "handles search flag without argument" : {
104100 CmdArgs : []string {"--search" },
105101 ExpectedAsserts : func (t * testing.T , ctx context.Context , cm * shared.ClientsMock ) {
0 commit comments