客户等级设置
This commit is contained in:
@@ -4,18 +4,17 @@ namespace Tests\Feature;
|
||||
|
||||
use App\Models\CustomerLevelModel;
|
||||
use App\Models\ProductModel;
|
||||
use App\Models\ProductPriceModel;
|
||||
use App\Models\StoreModel;
|
||||
use App\Models\UserModel;
|
||||
|
||||
/**
|
||||
* 小程序商品:商品详情接口(免登录浏览,登录门店按等级显示换算价);
|
||||
* 商品列表回归:登录门店场景曾数组误用对象访问 + 价格行缺失导致 500
|
||||
* 小程序商品:商品详情接口(免登录浏览,登录门店按等级上浮比例显示换算价);
|
||||
* 商品列表回归:登录门店场景曾数组误用对象访问 + 价格缺失导致 500
|
||||
*/
|
||||
class MiniProductTest extends ProcurementTestCase
|
||||
{
|
||||
/**
|
||||
* 造门店 + 上架商品 + 等级价(固定价 5.00)
|
||||
* 造门店 + 上架商品(成本价即售价,等级上浮 0%)
|
||||
*
|
||||
* @return array{0: StoreModel, 1: ProductModel, 2: UserModel, 3: CustomerLevelModel}
|
||||
*/
|
||||
@@ -23,11 +22,9 @@ class MiniProductTest extends ProcurementTestCase
|
||||
{
|
||||
$level = CustomerLevelModel::factory()->create();
|
||||
$store = StoreModel::factory()->create(['level_id' => $level->id]);
|
||||
$product = ProductModel::factory()->create(['status' => ProductModel::STATUS_ON]);
|
||||
ProductPriceModel::factory()->create([
|
||||
'product_id' => $product->id,
|
||||
'level_id' => $level->id,
|
||||
'price' => $price,
|
||||
$product = ProductModel::factory()->create([
|
||||
'status' => ProductModel::STATUS_ON,
|
||||
'cost_price' => $price,
|
||||
]);
|
||||
|
||||
return [$store, $product, UserModel::factory()->forStore($store->id)->create(), $level];
|
||||
@@ -58,12 +55,11 @@ class MiniProductTest extends ProcurementTestCase
|
||||
$this->assertSame('6.50', $data['price']);
|
||||
}
|
||||
|
||||
/** 商品详情:百分比计价按最新成本价上浮换算 */
|
||||
/** 商品详情:按门店等级上浮比例换算(成本价上浮 30%) */
|
||||
public function test_product_detail_percent_price_calculated_from_cost(): void
|
||||
{
|
||||
[, $product, $user, $level] = $this->makeStoreWithProduct();
|
||||
ProductPriceModel::where('product_id', $product->id)->where('level_id', $level->id)
|
||||
->update(['price_type' => ProductPriceModel::PRICE_TYPE_PERCENT, 'percent' => '30']);
|
||||
$level->update(['percent' => 30]);
|
||||
$product->update(['cost_price' => '20.00']);
|
||||
$this->actingAsMiniUser($user);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user