文件
xiaozhongchuf/tests/ActivityUserEligibilityTest.php
2026-09-23 17:04:10 +08:00

49 行
1.4 KiB
PHP

<?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";
}
}