package twitterscraper_test import ( "context" "testing" ) func TestGetBookmarks(t *testing.T) { if skipAuthTest { t.Skip("Skipping test due to environment variable") } count := 0 maxTweetsNbr := 40 dupcheck := make(map[string]bool) for tweet := range testScraper.GetBookmarks(context.Background(), maxTweetsNbr) { if tweet.Error != nil { t.Error(tweet.Error) } else { count++ if tweet.ID == "" { t.Error("Expected tweet ID is empty") } else { if dupcheck[tweet.ID] { t.Errorf("Detect duplicated tweet ID: %s", tweet.ID) } else { dupcheck[tweet.ID] = true } } if tweet.UserID == "" { t.Error("Expected tweet UserID is empty") } if tweet.Username == "" { t.Error("Expected tweet Username is empty") } if tweet.PermanentURL == "" { t.Error("Expected tweet PermanentURL is empty") } if tweet.Text == "" { t.Error("Expected tweet Text is empty") } if tweet.TimeParsed.IsZero() { t.Error("Expected tweet TimeParsed is zero") } if tweet.Timestamp == 0 { t.Error("Expected tweet Timestamp is greater than zero") } for _, video := range tweet.Videos { if video.ID == "" { t.Error("Expected tweet video ID is empty") } if video.Preview == "" { t.Error("Expected tweet video Preview is empty") } if video.URL == "" { t.Error("Expected tweet video URL is empty") } } } } if count != maxTweetsNbr { t.Errorf("Expected tweets count=%v, got: %v", maxTweetsNbr, count) } }