2021-06-13 14:34:20 -07:00
package scraper_test
import (
"encoding/json"
"io/ioutil"
"testing"
"offline_twitter/scraper"
)
func TestParseSingleUser ( t * testing . T ) {
data , err := ioutil . ReadFile ( "test_responses/michael_malice_user_profile.json" )
if err != nil {
panic ( err )
}
var user_resp scraper . UserResponse
err = json . Unmarshal ( data , & user_resp )
if err != nil {
t . Errorf ( err . Error ( ) )
}
apiUser := user_resp . ConvertToAPIUser ( )
user , err := scraper . ParseSingleUser ( apiUser )
2021-06-14 13:08:38 -07:00
if err != nil {
t . Errorf ( err . Error ( ) )
}
2021-06-13 14:34:20 -07:00
if user . ID != "44067298" {
t . Errorf ( "Expected %q, got %q" , "44067298" , user . ID )
}
if user . DisplayName != "Michael Malice" {
t . Errorf ( "Expected %q, got %q" , "Michael Malice" , user . DisplayName )
}
if user . Handle != "michaelmalice" {
t . Errorf ( "Expected %q, got %q" , "michaelmalice" , user . Handle )
}
expectedBio := "Author of Dear Reader, The New Right & The Anarchist Handbook\nHost of \"YOUR WELCOME\" \nSubject of Ego & Hubris by Harvey Pekar\nUnderwear Model\nHe/Him ⚑"
if user . Bio != expectedBio {
t . Errorf ( "Expected %q, got %q" , expectedBio , user . Bio )
}
if user . FollowingCount != 941 {
t . Errorf ( "Expected %d, got %d" , 941 , user . FollowingCount )
}
if user . FollowersCount != 208589 {
t . Errorf ( "Expected %d, got %d" , 941 , user . FollowersCount )
}
if user . Location != "Brooklyn" {
t . Errorf ( "Expected %q, got %q" , "Brooklyn" , user . Location )
}
if user . Website != "https://amzn.to/3oInafv" {
t . Errorf ( "Expected %q, got %q" , "https://amzn.to/3oInafv" , user . Website )
}
if user . JoinDate . Unix ( ) != 1243920952 {
t . Errorf ( "Expected %d, got %d" , 1243920952 , user . JoinDate . Unix ( ) )
}
if user . IsPrivate != false {
t . Errorf ( "Expected %v, got %v" , false , user . IsPrivate )
}
if user . IsVerified != true {
t . Errorf ( "Expected %v, got %v" , true , user . IsPrivate )
}
expectedProfileImage := "https://pbs.twimg.com/profile_images/1064051934812913664/Lbwdb_C9_normal.jpg"
if user . ProfileImageUrl != expectedProfileImage {
t . Errorf ( "Expected %q, got %q" , expectedProfileImage , user . ProfileImageUrl )
}
expectedBannerImage := "https://pbs.twimg.com/profile_banners/44067298/1615134676"
if user . BannerImageUrl != expectedBannerImage {
t . Errorf ( "Expected %q, got %q" , expectedBannerImage , user . BannerImageUrl )
}
if user . PinnedTweet != scraper . TweetID ( "1403835414373339136" ) {
t . Errorf ( "Expected %q, got %q" , scraper . TweetID ( "1403835414373339136" ) , user . PinnedTweet )
}
}