完善配送端列表头像展示

This commit is contained in:
czl231
2026-08-22 22:23:35 +08:00
parent 2e2c1a35dd
commit 5d4bd61672
10 changed files with 317 additions and 21 deletions

View File

@@ -0,0 +1,33 @@
// 功能描述验证配送点人员查询始终限制为当前配送点的配送角色。版本v1.0.0。
package delivery
import (
"strings"
"testing"
"git.apinb.com/heqiapp/platforms/backend/api/internal/models"
"github.com/DATA-DOG/go-sqlmock"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
// TestDeliveryStaffQueryKeepsRoleScope 验证列表、详情和头像共用的范围包含 delivery 角色。
func TestDeliveryStaffQueryKeepsRoleScope(t *testing.T) {
connection, _, err := sqlmock.New()
if err != nil {
t.Fatalf("创建 SQL mock 失败:%v", err)
}
t.Cleanup(func() { _ = connection.Close() })
databaseService, err := gorm.Open(postgres.New(postgres.Config{Conn: connection}), &gorm.Config{DryRun: true})
if err != nil {
t.Fatalf("打开 GORM 失败:%v", err)
}
point := models.DeliveryBasic{Entity: models.Entity{ID: 22}, GasBasicID: 11}
statement := deliveryStaffQuery(databaseService, point).
Where("identity = ?", "staff-identity").Find(&models.StaffAccount{}).Statement.SQL.String()
for _, required := range []string{"gas_basic_id", "delivery_basic_id", "role_code"} {
if !strings.Contains(statement, required) {
t.Fatalf("配送人员范围缺少 %s%s", required, statement)
}
}
}