create(); $productOption = ProductOption::find($orderOption->product_option_id); $this->assertNotNull($productOption); $this->assertGreaterThanOrEqual( $orderOption->quantity, $productOption->stock_quantity, '기본 팩토리의 연결 옵션 재고가 주문 수량보다 적습니다 — 재고 차감을 거치는 ' .'테스트가 무작위로 실패하게 됩니다.' ); } } /** * 스냅샷이 적은 재고와 실제 연결 옵션의 재고가 일치한다. */ public function test_snapshot_stock_matches_linked_option_stock(): void { $orderOption = OrderOption::factory()->create(); $productOption = ProductOption::find($orderOption->product_option_id); $this->assertSame( (int) ($orderOption->option_snapshot['stock_quantity'] ?? -1), (int) $productOption->stock_quantity ); } }