mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-25 16:42:28 +00:00
73 lines
1.8 KiB
Go
73 lines
1.8 KiB
Go
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)
|
|
}
|
|
}
|