From c27d5117363bb8bfc0105d37604b9bf4a857f667 Mon Sep 17 00:00:00 2001 From: longgexx Date: Mon, 5 Jan 2026 19:03:54 +0800 Subject: [PATCH] =?UTF-8?q?test(billing):=20=E6=9B=B4=E6=96=B0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=E4=BB=A5=E9=AA=8C=E8=AF=81=E9=80=8F?= =?UTF-8?q?=E6=94=AF=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/repository/user_repo_integration_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/internal/repository/user_repo_integration_test.go b/backend/internal/repository/user_repo_integration_test.go index 19e6d6a3..f5d0f9ff 100644 --- a/backend/internal/repository/user_repo_integration_test.go +++ b/backend/internal/repository/user_repo_integration_test.go @@ -495,9 +495,12 @@ func (s *UserRepoSuite) TestCRUD_And_Filters_And_AtomicUpdates() { s.Require().NoError(err, "GetByID after DeductBalance") s.Require().InDelta(7.5, got4.Balance, 1e-6) + // 透支策略:允许扣除超过余额的金额 err = s.repo.DeductBalance(s.ctx, user1.ID, 999) - s.Require().Error(err, "DeductBalance expected error for insufficient balance") - s.Require().ErrorIs(err, service.ErrInsufficientBalance, "DeductBalance unexpected error") + s.Require().NoError(err, "DeductBalance should allow overdraft") + gotOverdraft, err := s.repo.GetByID(s.ctx, user1.ID) + s.Require().NoError(err, "GetByID after overdraft") + s.Require().Less(gotOverdraft.Balance, 0.0, "Balance should be negative after overdraft") s.Require().NoError(s.repo.UpdateConcurrency(s.ctx, user1.ID, 3), "UpdateConcurrency") got5, err := s.repo.GetByID(s.ctx, user1.ID)