@@ -10,6 +10,7 @@ import (
1010 "testing"
1111
1212 "github.com/larksuite/cli/internal/cmdutil"
13+ "github.com/larksuite/cli/internal/core"
1314 "github.com/larksuite/cli/internal/httpmock"
1415 "github.com/larksuite/cli/shortcuts/common"
1516 "github.com/spf13/cobra"
@@ -62,6 +63,47 @@ func TestBuildFetchBodyOmitsEmptyScene(t *testing.T) {
6263 }
6364}
6465
66+ func TestBuildFetchBodyIncludesExplicitLang (t * testing.T ) {
67+ t .Parallel ()
68+
69+ runtime := newFetchBodyTestRuntime (context .Background ())
70+ if err := runtime .Cmd .Flags ().Set ("lang" , "en-US" ); err != nil {
71+ t .Fatalf ("set lang: %v" , err )
72+ }
73+
74+ body := buildFetchBody (runtime )
75+ if got := body ["lang" ]; got != "en-US" {
76+ t .Fatalf ("lang = %#v, want %q" , got , "en-US" )
77+ }
78+ }
79+
80+ func TestBuildFetchBodyUsesRuntimeConfigLang (t * testing.T ) {
81+ t .Parallel ()
82+
83+ runtime := newFetchBodyTestRuntime (context .Background ())
84+ runtime .Config = & core.CliConfig {Lang : "zh_cn" }
85+
86+ body := buildFetchBody (runtime )
87+ if got := body ["lang" ]; got != "zh_cn" {
88+ t .Fatalf ("lang = %#v, want %q" , got , "zh_cn" )
89+ }
90+ }
91+
92+ func TestBuildFetchBodyExplicitBlankLangOmitsLang (t * testing.T ) {
93+ t .Parallel ()
94+
95+ runtime := newFetchBodyTestRuntime (context .Background ())
96+ runtime .Config = & core.CliConfig {Lang : "zh_cn" }
97+ if err := runtime .Cmd .Flags ().Set ("lang" , "" ); err != nil {
98+ t .Fatalf ("set lang: %v" , err )
99+ }
100+
101+ body := buildFetchBody (runtime )
102+ if _ , ok := body ["lang" ]; ok {
103+ t .Fatalf ("did not expect blank explicit lang in fetch body: %#v" , body )
104+ }
105+ }
106+
65107func TestDocsFetchDryRunDefaultsToV2Endpoint (t * testing.T ) {
66108 t .Parallel ()
67109
@@ -262,6 +304,7 @@ func newFetchBodyTestRuntime(ctx context.Context) *common.RuntimeContext {
262304 cmd := & cobra.Command {Use : "+fetch" }
263305 cmd .Flags ().String ("doc-format" , "xml" , "" )
264306 cmd .Flags ().String ("detail" , "simple" , "" )
307+ cmd .Flags ().String ("lang" , "" , "" )
265308 cmd .Flags ().Int ("revision-id" , - 1 , "" )
266309 cmd .Flags ().String ("scope" , "full" , "" )
267310 cmd .Flags ().String ("start-block-id" , "" , "" )
@@ -281,6 +324,7 @@ func newFetchShortcutTestRuntime(t *testing.T, apiVersion string, setFlags map[s
281324 cmd .Flags ().String ("doc" , "doxcnFetchDryRun" , "" )
282325 cmd .Flags ().String ("doc-format" , "xml" , "" )
283326 cmd .Flags ().String ("detail" , "simple" , "" )
327+ cmd .Flags ().String ("lang" , "" , "" )
284328 cmd .Flags ().Int ("revision-id" , - 1 , "" )
285329 cmd .Flags ().String ("scope" , "full" , "" )
286330 cmd .Flags ().String ("start-block-id" , "" , "" )
0 commit comments