49 行
1.4 KiB
PHP
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";
|
|
}
|
|
}
|