排序
This commit is contained in:
@@ -4,6 +4,7 @@ namespace Tests\Feature;
|
||||
|
||||
use App\Models\CartModel;
|
||||
use App\Models\CustomerLevelModel;
|
||||
use App\Models\ProductCategoryModel;
|
||||
use App\Models\ProductModel;
|
||||
use App\Models\StoreModel;
|
||||
|
||||
@@ -105,6 +106,27 @@ class MiniProductTest extends ProcurementTestCase
|
||||
$this->assertNull($row['price']);
|
||||
}
|
||||
|
||||
/** 商品列表:先按分类树展示顺序(深度优先),同分类内按商品 sort 降序、id 升序,未入树分类排最后 */
|
||||
public function test_product_list_ordered_by_category_tree(): void
|
||||
{
|
||||
$rootA = ProductCategoryModel::create(['name' => '蔬菜', 'parent_id' => 0, 'sort' => 0, 'status' => 1]);
|
||||
$rootB = ProductCategoryModel::create(['name' => '水果', 'parent_id' => 0, 'sort' => 1, 'status' => 1]);
|
||||
// 子分类 sort 与创建顺序相反,验证按 sort 而非 id 排序
|
||||
$leafA1 = ProductCategoryModel::create(['name' => '叶菜', 'parent_id' => $rootA->id, 'sort' => 1, 'status' => 1]);
|
||||
$leafA2 = ProductCategoryModel::create(['name' => '根茎', 'parent_id' => $rootA->id, 'sort' => 0, 'status' => 1]);
|
||||
|
||||
$pB = ProductModel::factory()->create(['category_id' => $rootB->id, 'status' => 1]);
|
||||
$pA1 = ProductModel::factory()->create(['category_id' => $leafA1->id, 'status' => 1]);
|
||||
$pA2Low = ProductModel::factory()->create(['category_id' => $leafA2->id, 'status' => 1, 'sort' => 1]);
|
||||
$pA2High = ProductModel::factory()->create(['category_id' => $leafA2->id, 'status' => 1, 'sort' => 9]);
|
||||
$pNone = ProductModel::factory()->create(['category_id' => 0, 'status' => 1]);
|
||||
|
||||
$ids = array_column($this->getJson('/mini/product/list')->assertOk()->json('data.data'), 'id');
|
||||
|
||||
// 树序:rootA → leafA2 → leafA1 → rootB;leafA2 内 sort 降序;无分类排最后
|
||||
$this->assertSame([$pA2High->id, $pA2Low->id, $pA1->id, $pB->id, $pNone->id], $ids);
|
||||
}
|
||||
|
||||
/** 商品列表:登录门店附加购物车行ID与数量,响应附悬浮球汇总 */
|
||||
public function test_product_list_appends_cart_quantity_and_summary(): void
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user