mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 01:40:21 +08:00
feat(wallet): 钱包系统替代配额系统,新增支付与退款机制
- 新增钱包余额管理、充值、扣费、退款完整流程 - 新增支付网关抽象层(支持手动/支付宝/微信) - 用量计费从配额系统迁移到钱包余额扣费 - 新增管理员钱包管理与支付订单管理页面 - 新增用户钱包中心页面 - 移除独立 Key 锁定机制,统一由钱包余额控制 - 新增相关 API 路由、序列化器与数据库迁移 - 新增钱包、支付、退款相关测试
This commit is contained in:
36
tests/services/test_user_service_list_users.py
Normal file
36
tests/services/test_user_service_list_users.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from src.core.enums import UserRole
|
||||
from src.services.user.service import UserService
|
||||
|
||||
|
||||
def test_list_users_orders_by_created_at_desc_then_id_desc() -> None:
|
||||
ordered_query = MagicMock()
|
||||
ordered_query.offset.return_value = ordered_query
|
||||
ordered_query.limit.return_value = ordered_query
|
||||
ordered_query.all.return_value = ["user-1"]
|
||||
|
||||
query = MagicMock()
|
||||
query.filter.return_value = query
|
||||
query.order_by.return_value = ordered_query
|
||||
|
||||
db = MagicMock()
|
||||
db.query.return_value = query
|
||||
|
||||
result = UserService.list_users(
|
||||
db,
|
||||
skip=5,
|
||||
limit=10,
|
||||
role=UserRole.ADMIN,
|
||||
is_active=True,
|
||||
)
|
||||
|
||||
assert result == ["user-1"]
|
||||
order_args = query.order_by.call_args.args
|
||||
assert len(order_args) == 2
|
||||
assert str(order_args[0]) == "users.created_at DESC"
|
||||
assert str(order_args[1]) == "users.id DESC"
|
||||
ordered_query.offset.assert_called_once_with(5)
|
||||
ordered_query.limit.assert_called_once_with(10)
|
||||
Reference in New Issue
Block a user