@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
namespace tests;
|
||||
|
||||
use addons\shopro\model\Activity;
|
||||
|
||||
/**
|
||||
* 新人活动人群资格校验单元测试
|
||||
*/
|
||||
class ActivityUserEligibilityTest
|
||||
{
|
||||
public function testAllUsersActivity()
|
||||
{
|
||||
$activity = [
|
||||
'id' => 1,
|
||||
'title' => '全员限时立减活动',
|
||||
'type' => 'full_reduce',
|
||||
'rules' => json_encode([
|
||||
'user_type' => 'all',
|
||||
'discounts' => [['full' => 100, 'discount' => 10]]
|
||||
])
|
||||
];
|
||||
|
||||
// 任意用户均可参与
|
||||
$isEligible = Activity::isUserEligible($activity, 9999);
|
||||
assert($isEligible === true, "全员活动校验失败");
|
||||
echo "[PASS] testAllUsersActivity\n";
|
||||
}
|
||||
|
||||
public function testNewUserFirstOrderOnly()
|
||||
{
|
||||
$activity = [
|
||||
'id' => 2,
|
||||
'title' => '首单新人立减活动',
|
||||
'type' => 'full_reduce',
|
||||
'rules' => json_encode([
|
||||
'user_type' => 'new_user',
|
||||
'new_user_order_count' => 0,
|
||||
'new_user_register_days' => 0,
|
||||
'discounts' => [['full' => 50, 'discount' => 20]]
|
||||
])
|
||||
];
|
||||
|
||||
// 新用户模拟:无已支付订单
|
||||
$newUser = ['id' => 10001, 'createtime' => time() - 3600];
|
||||
// 模拟未下单新用户逻辑测试
|
||||
echo "[TEST] testing new user eligibility rules...\n";
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户