Skip to content

Commit d83550b

Browse files
committed
Merge branch 'ACP2E-2134' of https://github.com/magento-l3/magento2ce into PR-L3-08112023
2 parents cd2519c + 34a0018 commit d83550b

File tree

3 files changed

+77
-46
lines changed

3 files changed

+77
-46
lines changed

app/code/Magento/Quote/etc/db_schema.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,11 @@
244244
comment="Weight"/>
245245
<column xsi:type="decimal" name="qty" scale="4" precision="12" unsigned="false" nullable="false" default="0"
246246
comment="Qty"/>
247-
<column xsi:type="decimal" name="price" scale="4" precision="12" unsigned="false" nullable="false" default="0"
247+
<column xsi:type="decimal" name="price" scale="4" precision="20" unsigned="false" nullable="false" default="0"
248248
comment="Price"/>
249-
<column xsi:type="decimal" name="base_price" scale="4" precision="12" unsigned="false" nullable="false"
249+
<column xsi:type="decimal" name="base_price" scale="4" precision="20" unsigned="false" nullable="false"
250250
default="0" comment="Base Price"/>
251-
<column xsi:type="decimal" name="custom_price" scale="4" precision="12" unsigned="false" nullable="true"
251+
<column xsi:type="decimal" name="custom_price" scale="4" precision="20" unsigned="false" nullable="true"
252252
comment="Custom Price"/>
253253
<column xsi:type="decimal" name="discount_percent" scale="4" precision="12" unsigned="false" nullable="true"
254254
default="0" comment="Discount Percent"/>
@@ -275,7 +275,7 @@
275275
nullable="true" comment="Base Tax Before Discount"/>
276276
<column xsi:type="decimal" name="tax_before_discount" scale="4" precision="20" unsigned="false" nullable="true"
277277
comment="Tax Before Discount"/>
278-
<column xsi:type="decimal" name="original_custom_price" scale="4" precision="12" unsigned="false"
278+
<column xsi:type="decimal" name="original_custom_price" scale="4" precision="20" unsigned="false"
279279
nullable="true" comment="Original Custom Price"/>
280280
<column xsi:type="varchar" name="redirect_url" nullable="true" length="255" comment="Redirect Url"/>
281281
<column xsi:type="decimal" name="base_cost" scale="4" precision="12" unsigned="false" nullable="true"
@@ -371,9 +371,9 @@
371371
comment="No Discount"/>
372372
<column xsi:type="decimal" name="tax_percent" scale="4" precision="12" unsigned="false" nullable="true"
373373
comment="Tax Percent"/>
374-
<column xsi:type="decimal" name="base_price" scale="4" precision="12" unsigned="false" nullable="true"
374+
<column xsi:type="decimal" name="base_price" scale="4" precision="20" unsigned="false" nullable="true"
375375
comment="Base Price"/>
376-
<column xsi:type="decimal" name="base_cost" scale="4" precision="12" unsigned="false" nullable="true"
376+
<column xsi:type="decimal" name="base_cost" scale="4" precision="20" unsigned="false" nullable="true"
377377
comment="Base Cost"/>
378378
<column xsi:type="decimal" name="price_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
379379
comment="Price Incl Tax"/>

app/code/Magento/Sales/etc/db_schema.xml

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -508,13 +508,13 @@
508508
default="0" comment="Qty Shipped"/>
509509
<column xsi:type="decimal" name="base_cost" scale="4" precision="12" unsigned="false" nullable="true"
510510
default="0" comment="Base Cost"/>
511-
<column xsi:type="decimal" name="price" scale="4" precision="12" unsigned="false" nullable="false" default="0"
511+
<column xsi:type="decimal" name="price" scale="4" precision="20" unsigned="false" nullable="false" default="0"
512512
comment="Price"/>
513-
<column xsi:type="decimal" name="base_price" scale="4" precision="12" unsigned="false" nullable="false"
513+
<column xsi:type="decimal" name="base_price" scale="4" precision="20" unsigned="false" nullable="false"
514514
default="0" comment="Base Price"/>
515-
<column xsi:type="decimal" name="original_price" scale="4" precision="12" unsigned="false" nullable="true"
515+
<column xsi:type="decimal" name="original_price" scale="4" precision="20" unsigned="false" nullable="true"
516516
comment="Original Price"/>
517-
<column xsi:type="decimal" name="base_original_price" scale="4" precision="12" unsigned="false" nullable="true"
517+
<column xsi:type="decimal" name="base_original_price" scale="4" precision="20" unsigned="false" nullable="true"
518518
comment="Base Original Price"/>
519519
<column xsi:type="decimal" name="tax_percent" scale="4" precision="12" unsigned="false" nullable="true"
520520
default="0" comment="Tax Percent"/>
@@ -1147,32 +1147,32 @@
11471147
comment="Entity ID"/>
11481148
<column xsi:type="int" name="parent_id" unsigned="true" nullable="false" identity="false"
11491149
comment="Parent ID"/>
1150-
<column xsi:type="decimal" name="base_price" scale="4" precision="12" unsigned="false" nullable="true"
1150+
<column xsi:type="decimal" name="base_price" scale="4" precision="20" unsigned="false" nullable="true"
11511151
comment="Base Price"/>
1152-
<column xsi:type="decimal" name="tax_amount" scale="4" precision="12" unsigned="false" nullable="true"
1152+
<column xsi:type="decimal" name="tax_amount" scale="4" precision="20" unsigned="false" nullable="true"
11531153
comment="Tax Amount"/>
11541154
<column xsi:type="decimal" name="base_row_total" scale="4" precision="20" unsigned="false" nullable="true"
11551155
comment="Base Row Total"/>
1156-
<column xsi:type="decimal" name="discount_amount" scale="4" precision="12" unsigned="false" nullable="true"
1156+
<column xsi:type="decimal" name="discount_amount" scale="4" precision="20" unsigned="false" nullable="true"
11571157
comment="Discount Amount"/>
11581158
<column xsi:type="decimal" name="row_total" scale="4" precision="20" unsigned="false" nullable="true"
11591159
comment="Row Total"/>
1160-
<column xsi:type="decimal" name="base_discount_amount" scale="4" precision="12" unsigned="false"
1160+
<column xsi:type="decimal" name="base_discount_amount" scale="4" precision="20" unsigned="false"
11611161
nullable="true" comment="Base Discount Amount"/>
1162-
<column xsi:type="decimal" name="price_incl_tax" scale="4" precision="12" unsigned="false" nullable="true"
1162+
<column xsi:type="decimal" name="price_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
11631163
comment="Price Incl Tax"/>
1164-
<column xsi:type="decimal" name="base_tax_amount" scale="4" precision="12" unsigned="false" nullable="true"
1164+
<column xsi:type="decimal" name="base_tax_amount" scale="4" precision="20" unsigned="false" nullable="true"
11651165
comment="Base Tax Amount"/>
1166-
<column xsi:type="decimal" name="base_price_incl_tax" scale="4" precision="12" unsigned="false" nullable="true"
1166+
<column xsi:type="decimal" name="base_price_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
11671167
comment="Base Price Incl Tax"/>
11681168
<column xsi:type="decimal" name="qty" scale="4" precision="12" unsigned="false" nullable="true" comment="Qty"/>
1169-
<column xsi:type="decimal" name="base_cost" scale="4" precision="12" unsigned="false" nullable="true"
1169+
<column xsi:type="decimal" name="base_cost" scale="4" precision="20" unsigned="false" nullable="true"
11701170
comment="Base Cost"/>
1171-
<column xsi:type="decimal" name="price" scale="4" precision="12" unsigned="false" nullable="true"
1171+
<column xsi:type="decimal" name="price" scale="4" precision="20" unsigned="false" nullable="true"
11721172
comment="Price"/>
1173-
<column xsi:type="decimal" name="base_row_total_incl_tax" scale="4" precision="12" unsigned="false"
1173+
<column xsi:type="decimal" name="base_row_total_incl_tax" scale="4" precision="20" unsigned="false"
11741174
nullable="true" comment="Base Row Total Incl Tax"/>
1175-
<column xsi:type="decimal" name="row_total_incl_tax" scale="4" precision="12" unsigned="false" nullable="true"
1175+
<column xsi:type="decimal" name="row_total_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
11761176
comment="Row Total Incl Tax"/>
11771177
<column xsi:type="int" name="product_id" unsigned="false" nullable="true" identity="false"
11781178
comment="Product ID"/>
@@ -1182,9 +1182,9 @@
11821182
<column xsi:type="text" name="description" nullable="true" comment="Description"/>
11831183
<column xsi:type="varchar" name="sku" nullable="true" length="255" comment="Sku"/>
11841184
<column xsi:type="varchar" name="name" nullable="true" length="255" comment="Name"/>
1185-
<column xsi:type="decimal" name="discount_tax_compensation_amount" scale="4" precision="12" unsigned="false"
1185+
<column xsi:type="decimal" name="discount_tax_compensation_amount" scale="4" precision="20" unsigned="false"
11861186
nullable="true" comment="Discount Tax Compensation Amount"/>
1187-
<column xsi:type="decimal" name="base_discount_tax_compensation_amount" scale="4" precision="12"
1187+
<column xsi:type="decimal" name="base_discount_tax_compensation_amount" scale="4" precision="20"
11881188
unsigned="false" nullable="true" comment="Base Discount Tax Compensation Amount"/>
11891189
<column xsi:type="text" name="tax_ratio" nullable="true"
11901190
comment="Ratio of tax invoiced over tax of the order item"/>
@@ -1449,32 +1449,32 @@
14491449
comment="Entity ID"/>
14501450
<column xsi:type="int" name="parent_id" unsigned="true" nullable="false" identity="false"
14511451
comment="Parent ID"/>
1452-
<column xsi:type="decimal" name="base_price" scale="4" precision="12" unsigned="false" nullable="true"
1452+
<column xsi:type="decimal" name="base_price" scale="4" precision="20" unsigned="false" nullable="true"
14531453
comment="Base Price"/>
1454-
<column xsi:type="decimal" name="tax_amount" scale="4" precision="12" unsigned="false" nullable="true"
1454+
<column xsi:type="decimal" name="tax_amount" scale="4" precision="20" unsigned="false" nullable="true"
14551455
comment="Tax Amount"/>
1456-
<column xsi:type="decimal" name="base_row_total" scale="4" precision="12" unsigned="false" nullable="true"
1456+
<column xsi:type="decimal" name="base_row_total" scale="4" precision="20" unsigned="false" nullable="true"
14571457
comment="Base Row Total"/>
1458-
<column xsi:type="decimal" name="discount_amount" scale="4" precision="12" unsigned="false" nullable="true"
1458+
<column xsi:type="decimal" name="discount_amount" scale="4" precision="20" unsigned="false" nullable="true"
14591459
comment="Discount Amount"/>
1460-
<column xsi:type="decimal" name="row_total" scale="4" precision="12" unsigned="false" nullable="true"
1460+
<column xsi:type="decimal" name="row_total" scale="4" precision="20" unsigned="false" nullable="true"
14611461
comment="Row Total"/>
1462-
<column xsi:type="decimal" name="base_discount_amount" scale="4" precision="12" unsigned="false"
1462+
<column xsi:type="decimal" name="base_discount_amount" scale="4" precision="20" unsigned="false"
14631463
nullable="true" comment="Base Discount Amount"/>
1464-
<column xsi:type="decimal" name="price_incl_tax" scale="4" precision="12" unsigned="false" nullable="true"
1464+
<column xsi:type="decimal" name="price_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
14651465
comment="Price Incl Tax"/>
1466-
<column xsi:type="decimal" name="base_tax_amount" scale="4" precision="12" unsigned="false" nullable="true"
1466+
<column xsi:type="decimal" name="base_tax_amount" scale="4" precision="20" unsigned="false" nullable="true"
14671467
comment="Base Tax Amount"/>
1468-
<column xsi:type="decimal" name="base_price_incl_tax" scale="4" precision="12" unsigned="false" nullable="true"
1468+
<column xsi:type="decimal" name="base_price_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
14691469
comment="Base Price Incl Tax"/>
14701470
<column xsi:type="decimal" name="qty" scale="4" precision="12" unsigned="false" nullable="true" comment="Qty"/>
1471-
<column xsi:type="decimal" name="base_cost" scale="4" precision="12" unsigned="false" nullable="true"
1471+
<column xsi:type="decimal" name="base_cost" scale="4" precision="20" unsigned="false" nullable="true"
14721472
comment="Base Cost"/>
1473-
<column xsi:type="decimal" name="price" scale="4" precision="12" unsigned="false" nullable="true"
1473+
<column xsi:type="decimal" name="price" scale="4" precision="20" unsigned="false" nullable="true"
14741474
comment="Price"/>
1475-
<column xsi:type="decimal" name="base_row_total_incl_tax" scale="4" precision="12" unsigned="false"
1475+
<column xsi:type="decimal" name="base_row_total_incl_tax" scale="4" precision="20" unsigned="false"
14761476
nullable="true" comment="Base Row Total Incl Tax"/>
1477-
<column xsi:type="decimal" name="row_total_incl_tax" scale="4" precision="12" unsigned="false" nullable="true"
1477+
<column xsi:type="decimal" name="row_total_incl_tax" scale="4" precision="20" unsigned="false" nullable="true"
14781478
comment="Row Total Incl Tax"/>
14791479
<column xsi:type="int" name="product_id" unsigned="false" nullable="true" identity="false"
14801480
comment="Product ID"/>
@@ -1484,9 +1484,9 @@
14841484
<column xsi:type="text" name="description" nullable="true" comment="Description"/>
14851485
<column xsi:type="varchar" name="sku" nullable="true" length="255" comment="Sku"/>
14861486
<column xsi:type="varchar" name="name" nullable="true" length="255" comment="Name"/>
1487-
<column xsi:type="decimal" name="discount_tax_compensation_amount" scale="4" precision="12" unsigned="false"
1487+
<column xsi:type="decimal" name="discount_tax_compensation_amount" scale="4" precision="20" unsigned="false"
14881488
nullable="true" comment="Discount Tax Compensation Amount"/>
1489-
<column xsi:type="decimal" name="base_discount_tax_compensation_amount" scale="4" precision="12"
1489+
<column xsi:type="decimal" name="base_discount_tax_compensation_amount" scale="4" precision="20"
14901490
unsigned="false" nullable="true" comment="Base Discount Tax Compensation Amount"/>
14911491
<column xsi:type="text" name="tax_ratio" nullable="true"
14921492
comment="Ratio of tax in the creditmemo item over tax of the order item"/>
@@ -1533,13 +1533,13 @@
15331533
<column xsi:type="varchar" name="order_status" nullable="true" length="50" comment="Order Status"/>
15341534
<column xsi:type="int" name="orders_count" unsigned="false" nullable="false" identity="false"
15351535
default="0" comment="Orders Count"/>
1536-
<column xsi:type="decimal" name="orders_invoiced" scale="4" precision="12" unsigned="false" nullable="true"
1536+
<column xsi:type="decimal" name="orders_invoiced" scale="4" precision="20" unsigned="false" nullable="true"
15371537
comment="Orders Invoiced"/>
1538-
<column xsi:type="decimal" name="invoiced" scale="4" precision="12" unsigned="false" nullable="true"
1538+
<column xsi:type="decimal" name="invoiced" scale="4" precision="20" unsigned="false" nullable="true"
15391539
comment="Invoiced"/>
1540-
<column xsi:type="decimal" name="invoiced_captured" scale="4" precision="12" unsigned="false" nullable="true"
1540+
<column xsi:type="decimal" name="invoiced_captured" scale="4" precision="20" unsigned="false" nullable="true"
15411541
comment="Invoiced Captured"/>
1542-
<column xsi:type="decimal" name="invoiced_not_captured" scale="4" precision="12" unsigned="false"
1542+
<column xsi:type="decimal" name="invoiced_not_captured" scale="4" precision="20" unsigned="false"
15431543
nullable="true" comment="Invoiced Not Captured"/>
15441544
<constraint xsi:type="primary" referenceId="PRIMARY">
15451545
<column name="id"/>
@@ -1565,13 +1565,13 @@
15651565
<column xsi:type="varchar" name="order_status" nullable="false" length="50" comment="Order Status"/>
15661566
<column xsi:type="int" name="orders_count" unsigned="false" nullable="false" identity="false"
15671567
default="0" comment="Orders Count"/>
1568-
<column xsi:type="decimal" name="orders_invoiced" scale="4" precision="12" unsigned="false" nullable="true"
1568+
<column xsi:type="decimal" name="orders_invoiced" scale="4" precision="20" unsigned="false" nullable="true"
15691569
comment="Orders Invoiced"/>
1570-
<column xsi:type="decimal" name="invoiced" scale="4" precision="12" unsigned="false" nullable="true"
1570+
<column xsi:type="decimal" name="invoiced" scale="4" precision="20" unsigned="false" nullable="true"
15711571
comment="Invoiced"/>
1572-
<column xsi:type="decimal" name="invoiced_captured" scale="4" precision="12" unsigned="false" nullable="true"
1572+
<column xsi:type="decimal" name="invoiced_captured" scale="4" precision="20" unsigned="false" nullable="true"
15731573
comment="Invoiced Captured"/>
1574-
<column xsi:type="decimal" name="invoiced_not_captured" scale="4" precision="12" unsigned="false"
1574+
<column xsi:type="decimal" name="invoiced_not_captured" scale="4" precision="20" unsigned="false"
15751575
nullable="true" comment="Invoiced Not Captured"/>
15761576
<constraint xsi:type="primary" referenceId="PRIMARY">
15771577
<column name="id"/>

dev/tests/integration/testsuite/Magento/Quote/Model/QuoteTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace Magento\Quote\Model;
99

1010
use Magento\Catalog\Api\ProductRepositoryInterface;
11+
use Magento\Catalog\Test\Fixture\Product as ProductFixture;
1112
use Magento\Checkout\Model\Session as CheckoutSession;
1213
use Magento\Customer\Api\CustomerRepositoryInterface;
1314
use Magento\Customer\Api\Data\CustomerInterface;
@@ -25,6 +26,11 @@
2526
use Magento\Quote\Api\Data\CartInterface;
2627
use Magento\Quote\Api\Data\CartItemInterface;
2728
use Magento\Quote\Api\Data\CartItemInterfaceFactory;
29+
use Magento\Quote\Test\Fixture\AddProductToCart as AddProductToCartFixture;
30+
use Magento\Quote\Test\Fixture\GuestCart as GuestCartFixture;
31+
use Magento\TestFramework\Fixture\DataFixture;
32+
use Magento\TestFramework\Fixture\DataFixtureStorage;
33+
use Magento\TestFramework\Fixture\DataFixtureStorageManager;
2834
use Magento\TestFramework\Helper\Bootstrap;
2935
use Magento\TestFramework\Quote\Model\GetQuoteByReservedOrderId;
3036
use PHPUnit\Framework\TestCase;
@@ -81,6 +87,11 @@ class QuoteTest extends TestCase
8187
/** @var ExtensibleDataObjectConverter */
8288
private $extensibleDataObjectConverter;
8389

90+
/**
91+
* @var DataFixtureStorage
92+
*/
93+
private $fixtures;
94+
8495
/**
8596
* @inheritdoc
8697
*/
@@ -102,6 +113,7 @@ protected function setUp(): void
102113
$this->customerResourceModel = $this->objectManager->get(CustomerResourceModel::class);
103114
$this->groupFactory = $this->objectManager->get(GroupFactory::class);
104115
$this->extensibleDataObjectConverter = $this->objectManager->get(ExtensibleDataObjectConverter::class);
116+
$this->fixtures = $this->objectManager->get(DataFixtureStorageManager::class)->getStorage();
105117
}
106118

107119
/**
@@ -809,4 +821,23 @@ public function testIsMultiShippingModeEnabledAfterQuoteItemRemoved(): void
809821
);
810822
}
811823
}
824+
825+
#[
826+
DataFixture(ProductFixture::class, ['price' => 922903400.00], as: 'product'),
827+
DataFixture(GuestCartFixture::class, as: 'cart'),
828+
DataFixture(
829+
AddProductToCartFixture::class,
830+
['cart_id' => '$cart.id$', 'product_id' => '$product.id$', 'qty' => 1]
831+
),
832+
]
833+
public function testQuoteItemWithPriceGreaterThan100Millions()
834+
{
835+
$product = $this->fixtures->get('product');
836+
$cart = $this->fixtures->get('cart');
837+
$item = $cart->getItemsCollection(false)->fetchItem();
838+
$this->assertEquals(
839+
round((float)$product->getPrice(), 2),
840+
round((float)$item->getPrice(), 2)
841+
);
842+
}
812843
}

0 commit comments

Comments
 (0)