24 lines
699 B
Go
24 lines
699 B
Go
package app
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"yingce/backend/internal/model"
|
|
)
|
|
|
|
func TestWithProviderAnalyticsUsesTaskBillingCoordinator(t *testing.T) {
|
|
billing := newTaskBillingCoordinator(&taskBillingRepositoryStub{})
|
|
service := &Service{taskBillingCoordinator: billing}
|
|
task := model.Task{ID: "task-1", UserID: "user-1"}
|
|
|
|
ctx := withProviderAnalytics(context.Background(), service, task)
|
|
metadata, ok := ctx.Value(providerAnalyticsKey{}).(providerAnalyticsContext)
|
|
if !ok {
|
|
t.Fatal("withProviderAnalytics() did not attach provider metadata")
|
|
}
|
|
if metadata.Billing != billing {
|
|
t.Fatalf("provider analytics billing = %p, want injected coordinator %p", metadata.Billing, billing)
|
|
}
|
|
}
|