fix: Return null for calculated price if no prices are defined (#7886)

This commit is contained in:
Stevche Radevski authored and GitHub committed 2024-07-01 15:09:21 +02:00
1 parent dd864da4e0
commit 63e64e738a
2 files changed
+47 -600

No files matched your search

@@ -288,6 +288,25 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
})
it("calculating prices when listing price sets should return null when there are no prices", async () => {
const [newSet] = await service.createPriceSets([{}])
const calculatePricesResult = await service.calculatePrices(
{ id: [newSet.id] },
{ context: { currency_code: "PLN" } }
)
const priceSetsResult = await service.listPriceSets(
{
id: [newSet.id],
context: { currency_code: "PLN" },
},
{ relations: ["calculated_price"] }
)
expect(calculatePricesResult).toEqual([])
expect(priceSetsResult[0].calculated_price).toEqual(null)
})
it("should return filled prices when 1 context is present and price is setup for PLN", async () => {
const priceSetsResult = await service.calculatePrices(
{ id: ["price-set-EUR", "price-set-PLN"] },
@@ -297,28 +316,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -353,28 +350,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -409,28 +384,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -464,52 +417,7 @@ moduleIntegrationTestRunner<IPricingModuleService>({
}
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
])
expect(priceSetsResult).toEqual([])
})
it("should return filled prices when 2 contexts are present and price is setup", async () => {
@@ -521,28 +429,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -577,28 +463,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -672,28 +536,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -733,28 +575,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
// Currency Code + Region value + customer group id
{
id: "price-set-PLN",
@@ -795,28 +615,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
// PLN price set is not setup for EUR currency_code so it will default to a null set
{
id: "price-set-PLN",
@@ -857,28 +655,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
// PLN price set is not setup for EUR currency_code so it will default to a null set
{
id: "price-set-PLN",
@@ -913,52 +689,7 @@ moduleIntegrationTestRunner<IPricingModuleService>({
}
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
])
expect(priceSetsResult).toEqual([])
})
it("should return filled prices when 2 context is present and prices are setup, but only for one of the contexts", async () => {
@@ -974,28 +705,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -1038,28 +747,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1109,28 +796,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1172,28 +837,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1232,28 +875,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1295,28 +916,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1357,28 +956,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -1419,28 +996,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -1494,28 +1049,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1570,28 +1103,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -1645,28 +1156,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: false,
@@ -1773,28 +1262,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,
@@ -1846,28 +1313,6 @@ moduleIntegrationTestRunner<IPricingModuleService>({
)
expect(priceSetsResult).toEqual([
{
id: "price-set-EUR",
is_calculated_price_price_list: false,
calculated_amount: null,
is_original_price_price_list: false,
original_amount: null,
currency_code: null,
calculated_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
original_price: {
id: null,
price_list_id: null,
price_list_type: null,
min_quantity: null,
max_quantity: null,
},
},
{
id: "price-set-PLN",
is_calculated_price_price_list: true,