WitNote / internal /cli /actions /actions_navigate_test.go
AUXteam's picture
Upload folder using huggingface_hub
6a7089a verified
package actions
import (
"encoding/json"
"testing"
"github.com/spf13/cobra"
)
func newNavigateCmd() *cobra.Command {
cmd := &cobra.Command{}
cmd.Flags().Bool("new-tab", false, "")
cmd.Flags().Bool("block-images", false, "")
cmd.Flags().Bool("block-ads", false, "")
cmd.Flags().String("tab", "", "")
return cmd
}
func TestNavigate(t *testing.T) {
m := newMockServer()
defer m.close()
client := m.server.Client()
cmd := newNavigateCmd()
Navigate(client, m.base(), "", "https://pinchtab.com", cmd)
if m.lastMethod != "POST" {
t.Errorf("expected POST, got %s", m.lastMethod)
}
if m.lastPath != "/navigate" {
t.Errorf("expected /navigate, got %s", m.lastPath)
}
var body map[string]any
_ = json.Unmarshal([]byte(m.lastBody), &body)
if body["url"] != "https://pinchtab.com" {
t.Errorf("expected url=https://pinchtab.com, got %v", body["url"])
}
}
func TestNavigateWithAllFlags(t *testing.T) {
m := newMockServer()
defer m.close()
client := m.server.Client()
cmd := newNavigateCmd()
_ = cmd.Flags().Set("new-tab", "true")
_ = cmd.Flags().Set("block-images", "true")
Navigate(client, m.base(), "", "https://pinchtab.com", cmd)
var body map[string]any
_ = json.Unmarshal([]byte(m.lastBody), &body)
if body["newTab"] != true {
t.Error("expected newTab=true")
}
if body["blockImages"] != true {
t.Error("expected blockImages=true")
}
}
func TestNavigateWithBlockAds(t *testing.T) {
m := newMockServer()
defer m.close()
client := m.server.Client()
cmd := newNavigateCmd()
_ = cmd.Flags().Set("block-ads", "true")
Navigate(client, m.base(), "", "https://pinchtab.com", cmd)
var body map[string]any
_ = json.Unmarshal([]byte(m.lastBody), &body)
if body["blockAds"] != true {
t.Error("expected blockAds=true")
}
}