小程序登录优化
This commit is contained in:
@@ -34,15 +34,41 @@ class ProductPriceTest extends ProcurementTestCase
|
||||
$this->assertSame(5.50, (float) $row['price'], '应返回门店所在等级的价格');
|
||||
}
|
||||
|
||||
/** 门店未设置客户等级时拒绝展示价格 */
|
||||
public function test_store_without_level_is_rejected(): void
|
||||
/** 门店未设置客户等级:仍可浏览商品,但价格不可见(price=null) */
|
||||
public function test_store_without_level_sees_products_without_price(): void
|
||||
{
|
||||
$store = StoreModel::factory()->create(['level_id' => 0]);
|
||||
$product = ProductModel::factory()->create(['status' => ProductModel::STATUS_ON]);
|
||||
$this->actingAsMiniUser(UserModel::factory()->forStore($store->id)->create());
|
||||
|
||||
$this->getJson('/mini/product/list')
|
||||
$response = $this->getJson('/mini/product/list');
|
||||
$response->assertOk()->assertJsonPath('success', true);
|
||||
|
||||
$row = collect($response->json('data.data'))->firstWhere('id', $product->id);
|
||||
$this->assertNotNull($row, '未设等级的门店仍应能看到商品');
|
||||
$this->assertNull($row['price'], '未设等级时价格应为 null');
|
||||
}
|
||||
|
||||
/** 未绑定门店:可浏览商品与分类,但价格不可见;加购仍被拦截(购买前置校验不变) */
|
||||
public function test_unbound_user_can_browse_products_without_price_but_cannot_cart(): void
|
||||
{
|
||||
$product = ProductModel::factory()->create(['status' => ProductModel::STATUS_ON]);
|
||||
$this->actingAsMiniUser(UserModel::factory()->create()); // type=0 待绑定
|
||||
|
||||
$list = $this->getJson('/mini/product/list');
|
||||
$list->assertOk()->assertJsonPath('success', true);
|
||||
|
||||
$row = collect($list->json('data.data'))->firstWhere('id', $product->id);
|
||||
$this->assertNotNull($row, '未绑定门店应能看到商品');
|
||||
$this->assertNull($row['price'], '未绑定门店不得看到价格');
|
||||
|
||||
$this->getJson('/mini/product/categories')
|
||||
->assertOk()
|
||||
->assertJsonPath('success', false);
|
||||
->assertJsonPath('success', true);
|
||||
|
||||
$this->postJson('/mini/cart', ['product_id' => $product->id, 'quantity' => 1])
|
||||
->assertJsonPath('success', false)
|
||||
->assertJsonPath('msg', '尚未绑定门店,请联系客服处理');
|
||||
}
|
||||
|
||||
/** 批量调价:事务写入 + 通知受影响门店用户(不影响无关门店) */
|
||||
|
||||
Reference in New Issue
Block a user