订单微服务测试实践
1. 订单状态更新逻辑
在处理订单状态时,有一个关键的逻辑:当订单状态变为已完成(Completed)后,就不能再对其进行更改。以下是相应的代码实现:
if order.status is Status.Completed.value:
raise OrderAlreadyCompletedError()
order.status += 1
order.save()
此方法仅接收一个参数 order 。首先会检查订单是否有效,若无效则抛出 InvalidArgumentError 异常。接着,会检查订单状态是否为已完成,若是则抛出 OrderAlreadyCompleted 异常。最后,将当前订单状态加 1 并保存对象。
为了让 Order 模型使用新创建的 OrderManager ,需要在主应用目录的 model.py 文件中,在 Order 类的末尾添加以下代码:
objects = OrderManager()
这样,就可以通过 Order.objects 访问 OrderManager 中定义的所有方法。
超级会员免费看
订阅专栏 解锁全文
768

被折叠的 条评论
为什么被折叠?



