package auth import ( "context" "testing" ) func TestManager_Update_PreservesModelStates(t *testing.T) { m := NewManager(nil, nil, nil) model := "test-model" backoffLevel := 7 if _, errRegister := m.Register(context.Background(), &Auth{ ID: "auth-1", Provider: "claude", Metadata: map[string]any{"k": "v"}, ModelStates: map[string]*ModelState{ model: { Quota: QuotaState{BackoffLevel: backoffLevel}, }, }, }); errRegister != nil { t.Fatalf("register auth: %v", errRegister) } if _, errUpdate := m.Update(context.Background(), &Auth{ ID: "auth-1", Provider: "claude", Metadata: map[string]any{"k": "v2"}, }); errUpdate != nil { t.Fatalf("update auth: %v", errUpdate) } updated, ok := m.GetByID("auth-1") if !ok || updated == nil { t.Fatalf("expected auth to be present") } if len(updated.ModelStates) == 0 { t.Fatalf("expected ModelStates to be preserved") } state := updated.ModelStates[model] if state == nil { t.Fatalf("expected model state to be present") } if state.Quota.BackoffLevel != backoffLevel { t.Fatalf("expected BackoffLevel to be %d, got %d", backoffLevel, state.Quota.BackoffLevel) } }