fix(仓储): 修复软删除过滤与事务测试

修复软删除拦截器使用错误,确保默认查询过滤已删记录
仓储层改用 ent.Tx 与扫描辅助,避免 sql.Tx 断言问题
同步更新集成测试以覆盖事务与统计变动
This commit is contained in:
yangjianbo
2025-12-29 19:23:49 +08:00
parent b436da7249
commit ae191f72a4
20 changed files with 565 additions and 326 deletions

View File

@@ -4,7 +4,6 @@ package repository
import (
"context"
"database/sql"
"testing"
"time"
@@ -17,18 +16,16 @@ import (
type AccountRepoSuite struct {
suite.Suite
ctx context.Context
tx *sql.Tx
ctx context.Context
client *dbent.Client
repo *accountRepository
repo *accountRepository
}
func (s *AccountRepoSuite) SetupTest() {
s.ctx = context.Background()
client, tx := testEntSQLTx(s.T())
s.client = client
s.tx = tx
s.repo = newAccountRepositoryWithSQL(client, tx)
tx := testEntTx(s.T())
s.client = tx.Client()
s.repo = newAccountRepositoryWithSQL(s.client, tx)
}
func TestAccountRepoSuite(t *testing.T) {
@@ -175,7 +172,8 @@ func (s *AccountRepoSuite) TestListWithFilters() {
for _, tt := range tests {
s.Run(tt.name, func() {
// 每个 case 重新获取隔离资源
client, tx := testEntSQLTx(s.T())
tx := testEntTx(s.T())
client := tx.Client()
repo := newAccountRepositoryWithSQL(client, tx)
ctx := context.Background()