Files
dingtalk-workspace-cli/internal/helpers/calendar_command_coverage_more_test.go

62 lines
2.8 KiB
Go

package helpers
import (
"os"
"testing"
"github.com/spf13/cobra"
)
func TestCrossPlatformCoverageCalendarOptionalFlagsRemainingCoverage(t *testing.T) {
installScriptedCaller(t, &scriptedToolCaller{dry: true})
start := "2030-01-01T09:00:00+08:00"
end := "2030-01-01T10:00:00+08:00"
if err := executeFilterCoverage(t, newCalendarCommand(),
"event", "create", "--title", "meeting", "--start", start, "--end", end,
"--rich-text-desc", "rich", "--location", "room", "--free-busy", "busy",
"--calendar-id", "calendar", "--remind-minutes", "5,10",
); err != nil {
t.Fatalf("event create options: %v", err)
}
if err := executeFilterCoverage(t, newCalendarCommand(), "event", "respond", "--id", "event", "--status", "accepted", "--calendar-id", "calendar"); err != nil {
t.Fatalf("event response calendar: %v", err)
}
if err := executeFilterCoverage(t, newCalendarCommand(), "attendee", "list", "--event", "event", "--calendar-id", "calendar"); err != nil {
t.Fatalf("attendee list calendar: %v", err)
}
if err := executeFilterCoverage(t, newCalendarCommand(), "attendee", "add", "--event", "event"); err == nil {
t.Fatal("attendee add without users returned nil")
}
if err := executeFilterCoverage(t, newCalendarCommand(), "attendee", "add", "--event", "event", "--attendees", "u1", "--calendar-id", "calendar"); err != nil {
t.Fatalf("attendee add calendar: %v", err)
}
if err := executeFilterCoverage(t, newCalendarCommand(), "attendee", "delete", "--event", "event"); err == nil {
t.Fatal("attendee delete without users returned nil")
}
if err := executeFilterCoverage(t, newCalendarCommand(), "attendee", "delete", "--event", "event", "--attendees", "u1", "--calendar-id", "calendar"); err != nil {
t.Fatalf("attendee delete calendar: %v", err)
}
if err := executeFilterCoverage(t, newCalendarCommand(), "busy", "search", "--users", "u1", "--start", end, "--end", start); err == nil {
t.Fatal("reversed busy range returned nil")
}
if err := executeFilterCoverage(t, newCalendarCommand(), "attachment", "add", "--event", "event", "--files", "file:report.pdf", "--calendar-id", "calendar"); err != nil {
t.Fatalf("attachment calendar: %v", err)
}
}
func TestCrossPlatformCoverageCalendarUnknownFlagAndSuggestionRemainingCoverage(t *testing.T) {
root := &cobra.Command{Use: "calendar"}
group := &cobra.Command{Use: "room"}
group.SuggestionsMinimumDistance = 3
group.AddCommand(&cobra.Command{Use: "search", SuggestFor: []string{"serach"}, Run: func(*cobra.Command, []string) {}})
root.AddCommand(group)
installUnknownVerbFallback(group)
oldArgs := os.Args
os.Args = []string{"dws", "calendar", "room", "--unknown"}
t.Cleanup(func() { os.Args = oldArgs })
if err := group.RunE(group, nil); err != nil {
t.Fatalf("unknown flag fallback: %v", err)
}
printUnknownSubcmdError(group, "serach")
}