CaiWuXiTong/tests/Unit/Console/StoreViolationsSyncExtraColumnsTest.php

34 lines
1.1 KiB
PHP

<?php
namespace Tests\Unit\Console;
use App\Console\Commands\SyncStoreViolations;
use PHPUnit\Framework\TestCase;
/**
* 店铺违规同步:上游视图扩展列(违规原因/处置方式)的自动探测。
*/
class StoreViolationsSyncExtraColumnsTest extends TestCase
{
public function test_picks_no_columns_when_upstream_only_has_base_fields(): void
{
$this->assertSame([], SyncStoreViolations::pickExtraColumns([
'id', 'shop_name', 'violation_no', 'violation_date', 'deadline',
'violation_content', 'status', 'window_name', 'platform', 'crawl_date',
]));
}
public function test_picks_exact_and_alternative_column_names_case_insensitively(): void
{
$this->assertSame(
['violation_reason' => 'violation_reason', 'disposition' => 'disposition'],
SyncStoreViolations::pickExtraColumns(['id', 'violation_reason', 'disposition']),
);
$this->assertSame(
['violation_reason' => 'reason', 'disposition' => 'handling_method'],
SyncStoreViolations::pickExtraColumns(['Reason', 'HANDLING_METHOD']),
);
}
}