Fatal Error: Call to undefined method stdClass::is_one_time() w OrderRepository:793.
Zamieniono wywołania nieistniejących metod na stdClass na dostęp do właściwości
+ istniejącą metodę CouponRepository::markAsUsed().
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fixed Fatal Error in order placement with coupon codes by replacing undefined stdClass method calls with property access + existing CouponRepository::markAsUsed()
Performance
Metric
Value
Duration
~5min
Tasks
1 completed
Files modified
1
Acceptance Criteria Results
Criterion
Status
Notes
AC-1: Orders with coupon codes complete without Fatal Error
Pass
Undefined method calls replaced with property access
AC-2: One-time coupons marked as used after order
Pass
Uses existing CouponRepository::markAsUsed()
AC-3: Non-one-time coupons NOT marked as used
Pass
Condition checks (int)$coupon->one_time === 1
AC-4: Existing tests pass
Pass
818 tests, 2275 assertions — all green
Accomplishments
Fixed critical production crash preventing all coupon-based orders
2-line fix using existing infrastructure (no new code needed)
Files Created/Modified
File
Change
Purpose
autoload/Domain/Order/OrderRepository.php
Modified (lines 793-795)
Replace $coupon->is_one_time() / $coupon->set_as_used() with property access + CouponRepository call
Decisions Made
Decision
Rationale
Impact
Use CouponRepository::markAsUsed()
Method already exists (line 235), consistent with incrementUsedCount() usage on line 722