Stabilize custom pricing API fixture
This commit is contained in:
@@ -167,6 +167,7 @@ it('uses the sentinel for missing custom-only department prices without discount
|
||||
custom_pricing_only_department_price((int)$otherDepartment['id'], (int)$product['id'], 3333);
|
||||
|
||||
$customer = api_fixtures()->createUser(['display_name' => 'Custom Pricing Customer']);
|
||||
api_fixtures()->cacheEconomicCustomerDiscountPercentage((int)$customer['id'], 0);
|
||||
custom_pricing_only_price_override((int)$customer['id'], (int)$product['id'], 50);
|
||||
|
||||
$session = api_fixtures()->createUserSession([
|
||||
|
||||
@@ -1710,6 +1710,17 @@ final class ApiFixtures
|
||||
$this->cleanup->add(fn() => $this->deleteWhere($table, $conditions));
|
||||
}
|
||||
|
||||
public function cacheEconomicCustomerDiscountPercentage(int $userId, int $discountPercentage): void
|
||||
{
|
||||
if ($this->redis === null) {
|
||||
throw new RuntimeException('API tests require Redis for cache-backed endpoint flows.');
|
||||
}
|
||||
|
||||
$key = 'users_' . $userId . '_economic_customer_discount_percentage';
|
||||
$this->redis->set($key, (string)$discountPercentage);
|
||||
$this->cleanup->add(fn() => $this->deleteRedisKey($key));
|
||||
}
|
||||
|
||||
private function purgeCustomerTraceData(int $userId, int $customerNumber): void
|
||||
{
|
||||
$invoiceCollectionIds = $this->fetchIntColumnWhere('collected_order_invoices', 'id', [
|
||||
|
||||
Reference in New Issue
Block a user