From 7375fc815565827d15bf7b238a99bd3343fd7fa1 Mon Sep 17 00:00:00 2001 From: Crescenzo Rega Date: Thu, 27 Feb 2025 15:26:26 +0100 Subject: [PATCH] LPD-50061 Add integretion test --- .../order/test/CommerceOrderTest.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/modules/apps/commerce/commerce-test/src/testIntegration/java/com/liferay/commerce/internal/order/test/CommerceOrderTest.java b/modules/apps/commerce/commerce-test/src/testIntegration/java/com/liferay/commerce/internal/order/test/CommerceOrderTest.java index f36cc9d0a5e7ee..f5f9e413b710ac 100644 --- a/modules/apps/commerce/commerce-test/src/testIntegration/java/com/liferay/commerce/internal/order/test/CommerceOrderTest.java +++ b/modules/apps/commerce/commerce-test/src/testIntegration/java/com/liferay/commerce/internal/order/test/CommerceOrderTest.java @@ -23,6 +23,7 @@ import com.liferay.commerce.exception.CommerceOrderAccountLimitException; import com.liferay.commerce.model.CommerceAddress; import com.liferay.commerce.model.CommerceOrder; +import com.liferay.commerce.order.CommerceOrderThreadLocal; import com.liferay.commerce.order.engine.CommerceOrderEngine; import com.liferay.commerce.product.constants.CommerceChannelConstants; import com.liferay.commerce.product.model.CommerceChannel; @@ -987,6 +988,64 @@ public void testGetPlacedCommerceOrder() throws Exception { _accountEntryLocalService.deleteAccountEntry(accountEntry); } + @Test + public void testSkipValidateAccountOrdersLimit() throws Exception { + Settings settings = FallbackKeysSettingsUtil.getSettings( + new GroupServiceSettingsLocator( + _commerceChannel.getGroupId(), + CommerceConstants.SERVICE_NAME_COMMERCE_ORDER_FIELDS)); + + ModifiableSettings modifiableSettings = + settings.getModifiableSettings(); + + modifiableSettings.setValue("accountCartMaxAllowed", "1"); + + modifiableSettings.store(); + + AccountEntry accountEntry = + CommerceAccountTestUtil.addBusinessAccountEntry( + _user.getUserId(), "Test Business Account", null, null, + new long[] {_user.getUserId()}, null, _serviceContext); + + long commerceChannelGroupId = _commerceChannel.getGroupId(); + + _commerceOrderLocalService.addCommerceOrder( + _user.getUserId(), commerceChannelGroupId, + accountEntry.getAccountEntryId(), _commerceCurrency.getCode(), 0); + + try { + _commerceOrderLocalService.addCommerceOrder( + _user.getUserId(), commerceChannelGroupId, + accountEntry.getAccountEntryId(), _commerceCurrency.getCode(), + 0); + } + catch (CommerceOrderAccountLimitException + commerceOrderAccountLimitException) { + + Assert.assertNotNull(commerceOrderAccountLimitException); + } + + Assert.assertEquals( + 1, + _commerceOrderService.getPendingCommerceOrdersCount( + commerceChannelGroupId, accountEntry.getAccountEntryId(), + StringPool.BLANK)); + + CommerceOrderThreadLocal.setSkipValidateAccountOrdersLimit(true); + + _commerceOrderLocalService.addCommerceOrder( + _user.getUserId(), commerceChannelGroupId, + accountEntry.getAccountEntryId(), _commerceCurrency.getCode(), 0); + + Assert.assertEquals( + 2, + _commerceOrderService.getPendingCommerceOrdersCount( + commerceChannelGroupId, accountEntry.getAccountEntryId(), + StringPool.BLANK)); + + _accountEntries.add(accountEntry); + } + @Test public void testValidateAccountOrdersLimit() throws Exception { frutillaRule.scenario(