26 lines
461 B
Go
26 lines
461 B
Go
package fetchuser
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
type MockInterfaceFetcher struct {
|
|
u User
|
|
}
|
|
|
|
func (m *MockInterfaceFetcher) FetchData(_ int) (User, error) {
|
|
return m.u, nil
|
|
}
|
|
|
|
func TestProcessUser_InterfaceMock(t *testing.T) {
|
|
user := User{ID: 1, Name: "Alice"}
|
|
result, err := ProcessUser(&MockInterfaceFetcher{user}, 1)
|
|
if err != nil {
|
|
t.Errorf("Unexpected error: %v", err)
|
|
}
|
|
|
|
if result != user {
|
|
t.Errorf("Expected user: %v, got: %v", user, result)
|
|
}
|
|
}
|