mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-26 09:03:00 +00:00
sync
This commit is contained in:
72
profile_test.go
Normal file
72
profile_test.go
Normal file
@@ -0,0 +1,72 @@
|
||||
package garth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestProfileService_Get(t *testing.T) {
|
||||
// Create test server
|
||||
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.Write([]byte(`{
|
||||
"userId": "12345",
|
||||
"username": "testuser",
|
||||
"firstName": "Test",
|
||||
"lastName": "User",
|
||||
"emailAddress": "test@example.com",
|
||||
"country": "US",
|
||||
"city": "Seattle",
|
||||
"state": "WA",
|
||||
"profileImage": "https://example.com/avatar.jpg"
|
||||
}`))
|
||||
}))
|
||||
defer ts.Close()
|
||||
|
||||
// Create client
|
||||
apiClient := NewAPIClient(ts.URL, http.DefaultClient)
|
||||
profileService := NewProfileService(apiClient)
|
||||
|
||||
// Test Get method
|
||||
profile, err := profileService.Get(context.Background())
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error: %v", err)
|
||||
}
|
||||
|
||||
// Verify profile data
|
||||
if profile.UserID != "12345" {
|
||||
t.Errorf("Expected UserID '12345', got '%s'", profile.UserID)
|
||||
}
|
||||
if profile.Username != "testuser" {
|
||||
t.Errorf("Expected Username 'testuser', got '%s'", profile.Username)
|
||||
}
|
||||
if profile.EmailAddress != "test@example.com" {
|
||||
t.Errorf("Expected Email 'test@example.com', got '%s'", profile.EmailAddress)
|
||||
}
|
||||
}
|
||||
|
||||
func TestProfileService_UpdateSettings(t *testing.T) {
|
||||
// Create test server
|
||||
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}))
|
||||
defer ts.Close()
|
||||
|
||||
// Create client
|
||||
apiClient := NewAPIClient(ts.URL, http.DefaultClient)
|
||||
profileService := NewProfileService(apiClient)
|
||||
|
||||
// Test UpdateSettings method
|
||||
settings := map[string]interface{}{
|
||||
"preferences": map[string]string{
|
||||
"units": "metric",
|
||||
"theme": "dark",
|
||||
},
|
||||
}
|
||||
err := profileService.UpdateSettings(context.Background(), settings)
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user