chore(pricing): big number support (#8113)
This commit is contained in:
@@ -921,9 +921,17 @@ medusaIntegrationTestRunner({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 3000,
|
calculated_amount: 3000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "3000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 3000,
|
original_amount: 3000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "3000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "usd",
|
currency_code: "usd",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -1227,9 +1235,17 @@ medusaIntegrationTestRunner({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 3000,
|
calculated_amount: 3000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "3000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 3000,
|
original_amount: 3000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "3000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "usd",
|
currency_code: "usd",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { BaseFilterable } from "../../dal"
|
import { BaseFilterable } from "../../dal"
|
||||||
import { Context } from "../../shared-context"
|
import { Context } from "../../shared-context"
|
||||||
import { BigNumberInput, BigNumberValue } from "../../totals"
|
import { BigNumberInput, BigNumberRawValue, BigNumberValue } from "../../totals"
|
||||||
import {
|
import {
|
||||||
CreateMoneyAmountDTO,
|
CreateMoneyAmountDTO,
|
||||||
FilterableMoneyAmountProps,
|
FilterableMoneyAmountProps,
|
||||||
@@ -83,7 +83,8 @@ export interface CalculatedPriceSetDTO {
|
|||||||
/**
|
/**
|
||||||
* The calculated amount. It can possibly be `null` if there's no price set up for the provided context.
|
* The calculated amount. It can possibly be `null` if there's no price set up for the provided context.
|
||||||
*/
|
*/
|
||||||
amount: string | null
|
amount: BigNumberValue | null
|
||||||
|
raw_amount: BigNumberRawValue | null
|
||||||
/**
|
/**
|
||||||
* The currency code of the calculated price. It can possibly be `null`.
|
* The currency code of the calculated price. It can possibly be `null`.
|
||||||
*/
|
*/
|
||||||
@@ -129,6 +130,7 @@ export interface CalculatedPriceSet {
|
|||||||
* The amount of the calculated price, or `null` if there isn't a calculated price.
|
* The amount of the calculated price, or `null` if there isn't a calculated price.
|
||||||
*/
|
*/
|
||||||
calculated_amount: BigNumberValue | null
|
calculated_amount: BigNumberValue | null
|
||||||
|
raw_calculated_amount: BigNumberRawValue | null
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,
|
* Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,
|
||||||
@@ -143,6 +145,7 @@ export interface CalculatedPriceSet {
|
|||||||
* The amount of the original price, or `null` if there isn't a calculated price.
|
* The amount of the original price, or `null` if there isn't a calculated price.
|
||||||
*/
|
*/
|
||||||
original_amount: BigNumberValue | null
|
original_amount: BigNumberValue | null
|
||||||
|
raw_original_amount: BigNumberRawValue | null
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The currency code of the calculated price, or null if there isn't a calculated price.
|
* The currency code of the calculated price, or null if there isn't a calculated price.
|
||||||
|
|||||||
+278
@@ -57,6 +57,7 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
const priceSetsData = [
|
const priceSetsData = [
|
||||||
{ id: "price-set-EUR" },
|
{ id: "price-set-EUR" },
|
||||||
{ id: "price-set-PLN" },
|
{ id: "price-set-PLN" },
|
||||||
|
{ id: "price-set-ETH" },
|
||||||
] as unknown as CreatePriceSetDTO[]
|
] as unknown as CreatePriceSetDTO[]
|
||||||
|
|
||||||
const pricesData = [
|
const pricesData = [
|
||||||
@@ -70,6 +71,18 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
max_quantity: 10,
|
max_quantity: 10,
|
||||||
rules_count: 0,
|
rules_count: 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "price-ETH",
|
||||||
|
title: "price ETH",
|
||||||
|
price_set_id: "price-set-ETH",
|
||||||
|
currency_code: "ETH",
|
||||||
|
amount: {
|
||||||
|
value: "12345678988754.00000010000000085",
|
||||||
|
},
|
||||||
|
min_quantity: 1,
|
||||||
|
max_quantity: 10,
|
||||||
|
rules_count: 0,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "price-company_id-EUR",
|
id: "price-company_id-EUR",
|
||||||
title: "price EUR - company_id",
|
title: "price EUR - company_id",
|
||||||
@@ -321,9 +334,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 1000,
|
calculated_amount: 1000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 1000,
|
original_amount: 1000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-PLN",
|
id: "price-PLN",
|
||||||
@@ -343,6 +364,50 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
])
|
])
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("should return filled prices when 1 context is present and price is setup for ETH", async () => {
|
||||||
|
const priceSetsResult = await service.calculatePrices(
|
||||||
|
{ id: ["price-set-ETH"] },
|
||||||
|
{
|
||||||
|
context: { currency_code: "ETH" },
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
expect(priceSetsResult).toEqual([
|
||||||
|
{
|
||||||
|
id: "price-set-ETH",
|
||||||
|
is_calculated_price_price_list: false,
|
||||||
|
is_calculated_price_tax_inclusive: false,
|
||||||
|
calculated_amount: 12345678988754.000000100000001,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "12345678988754.00000010000000085",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
|
is_original_price_price_list: false,
|
||||||
|
is_original_price_tax_inclusive: false,
|
||||||
|
original_amount: 12345678988754.000000100000001,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "12345678988754.00000010000000085",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
|
currency_code: "ETH",
|
||||||
|
calculated_price: {
|
||||||
|
id: "price-ETH",
|
||||||
|
price_list_id: null,
|
||||||
|
price_list_type: null,
|
||||||
|
min_quantity: 1,
|
||||||
|
max_quantity: 10,
|
||||||
|
},
|
||||||
|
original_price: {
|
||||||
|
id: "price-ETH",
|
||||||
|
price_list_id: null,
|
||||||
|
price_list_type: null,
|
||||||
|
min_quantity: 1,
|
||||||
|
max_quantity: 10,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
it("should return filled prices when 1 context is present and price is setup for PLN region_id", async () => {
|
it("should return filled prices when 1 context is present and price is setup for PLN region_id", async () => {
|
||||||
const priceSetsResult = await service.calculatePrices(
|
const priceSetsResult = await service.calculatePrices(
|
||||||
{ id: ["price-set-EUR", "price-set-PLN"] },
|
{ id: ["price-set-EUR", "price-set-PLN"] },
|
||||||
@@ -357,9 +422,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN",
|
id: "price-region_id-PLN",
|
||||||
@@ -393,9 +466,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 1000,
|
calculated_amount: 1000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 1000,
|
original_amount: 1000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-PLN",
|
id: "price-PLN",
|
||||||
@@ -440,9 +521,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN",
|
id: "price-region_id-PLN",
|
||||||
@@ -476,9 +565,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 1000,
|
calculated_amount: 1000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 1000,
|
original_amount: 1000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-PLN",
|
id: "price-PLN",
|
||||||
@@ -512,9 +609,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 250,
|
calculated_amount: 250,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "250",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 250,
|
original_amount: 250,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "250",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN-5-qty",
|
id: "price-region_id-PLN-5-qty",
|
||||||
@@ -553,9 +658,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN",
|
id: "price-region_id-PLN",
|
||||||
@@ -595,9 +708,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 100,
|
calculated_amount: 100,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "100",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 100,
|
original_amount: 100,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "100",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "EUR",
|
currency_code: "EUR",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id_company_id-PL-EUR-customer-group",
|
id: "price-region_id_company_id-PL-EUR-customer-group",
|
||||||
@@ -637,9 +758,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN",
|
id: "price-region_id-PLN",
|
||||||
@@ -679,9 +808,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 1000,
|
calculated_amount: 1000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 1000,
|
original_amount: 1000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-PLN",
|
id: "price-PLN",
|
||||||
@@ -730,9 +867,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN",
|
id: "price-region_id-PLN",
|
||||||
@@ -774,9 +919,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -825,9 +978,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -868,9 +1029,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -908,9 +1077,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 1000,
|
original_amount: 1000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -951,9 +1128,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: true,
|
is_original_price_price_list: true,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 232,
|
original_amount: 232,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -993,9 +1178,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-region_id-PLN",
|
id: "price-region_id-PLN",
|
||||||
@@ -1035,9 +1228,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -1090,9 +1291,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -1146,9 +1355,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 400,
|
calculated_amount: 400,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-company_id-PLN",
|
id: "price-company_id-PLN",
|
||||||
@@ -1201,9 +1418,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: false,
|
is_calculated_price_price_list: false,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 400,
|
calculated_amount: 400,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: "price-company_id-PLN",
|
id: "price-company_id-PLN",
|
||||||
@@ -1258,9 +1483,14 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 200,
|
calculated_amount: 200,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "200",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: null,
|
original_amount: null,
|
||||||
|
raw_original_amount: null,
|
||||||
currency_code: "EUR",
|
currency_code: "EUR",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -1311,9 +1541,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 111,
|
calculated_amount: 111,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "111",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -1364,9 +1602,17 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
is_calculated_price_price_list: true,
|
is_calculated_price_price_list: true,
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_price_list: false,
|
is_original_price_price_list: false,
|
||||||
is_original_price_tax_inclusive: false,
|
is_original_price_tax_inclusive: false,
|
||||||
original_amount: 400,
|
original_amount: 400,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "400",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
calculated_price: {
|
calculated_price: {
|
||||||
id: expect.any(String),
|
id: expect.any(String),
|
||||||
@@ -1409,8 +1655,16 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
id: "price-set-PLN",
|
id: "price-set-PLN",
|
||||||
is_calculated_price_tax_inclusive: true,
|
is_calculated_price_tax_inclusive: true,
|
||||||
calculated_amount: 1000,
|
calculated_amount: 1000,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_tax_inclusive: true,
|
is_original_price_tax_inclusive: true,
|
||||||
original_amount: 1000,
|
original_amount: 1000,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "1000",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
@@ -1442,8 +1696,16 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
id: "price-set-PLN",
|
id: "price-set-PLN",
|
||||||
is_calculated_price_tax_inclusive: true,
|
is_calculated_price_tax_inclusive: true,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_tax_inclusive: true,
|
is_original_price_tax_inclusive: true,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
@@ -1475,8 +1737,16 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
id: "price-set-PLN",
|
id: "price-set-PLN",
|
||||||
is_calculated_price_tax_inclusive: true,
|
is_calculated_price_tax_inclusive: true,
|
||||||
calculated_amount: 300,
|
calculated_amount: 300,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_tax_inclusive: true,
|
is_original_price_tax_inclusive: true,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
@@ -1512,8 +1782,16 @@ moduleIntegrationTestRunner<IPricingModuleService>({
|
|||||||
id: "price-set-PLN",
|
id: "price-set-PLN",
|
||||||
is_calculated_price_tax_inclusive: false,
|
is_calculated_price_tax_inclusive: false,
|
||||||
calculated_amount: 232,
|
calculated_amount: 232,
|
||||||
|
raw_calculated_amount: {
|
||||||
|
value: "232",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
is_original_price_tax_inclusive: true,
|
is_original_price_tax_inclusive: true,
|
||||||
original_amount: 300,
|
original_amount: 300,
|
||||||
|
raw_original_amount: {
|
||||||
|
value: "300",
|
||||||
|
precision: 20,
|
||||||
|
},
|
||||||
currency_code: "PLN",
|
currency_code: "PLN",
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ export class PricingRepository
|
|||||||
.select({
|
.select({
|
||||||
id: "price.id",
|
id: "price.id",
|
||||||
amount: "price.amount",
|
amount: "price.amount",
|
||||||
|
raw_amount: "price.raw_amount",
|
||||||
min_quantity: "price.min_quantity",
|
min_quantity: "price.min_quantity",
|
||||||
max_quantity: "price.max_quantity",
|
max_quantity: "price.max_quantity",
|
||||||
currency_code: "price.currency_code",
|
currency_code: "price.currency_code",
|
||||||
@@ -152,6 +153,7 @@ export class PricingRepository
|
|||||||
id: "price.id",
|
id: "price.id",
|
||||||
price_set_id: "ps.id",
|
price_set_id: "ps.id",
|
||||||
amount: "price.amount",
|
amount: "price.amount",
|
||||||
|
raw_amount: "price.raw_amount",
|
||||||
min_quantity: "price.min_quantity",
|
min_quantity: "price.min_quantity",
|
||||||
max_quantity: "price.max_quantity",
|
max_quantity: "price.max_quantity",
|
||||||
currency_code: "price.currency_code",
|
currency_code: "price.currency_code",
|
||||||
|
|||||||
@@ -42,15 +42,15 @@ import {
|
|||||||
Price,
|
Price,
|
||||||
PriceList,
|
PriceList,
|
||||||
PriceListRule,
|
PriceListRule,
|
||||||
|
PricePreference,
|
||||||
PriceRule,
|
PriceRule,
|
||||||
PriceSet,
|
PriceSet,
|
||||||
PricePreference,
|
|
||||||
} from "@models"
|
} from "@models"
|
||||||
|
|
||||||
import { ServiceTypes } from "@types"
|
import { ServiceTypes } from "@types"
|
||||||
import { eventBuilders, validatePriceListDates } from "@utils"
|
import { eventBuilders, validatePriceListDates } from "@utils"
|
||||||
import { joinerConfig } from "../joiner-config"
|
|
||||||
import { CreatePriceListDTO, UpsertPriceDTO } from "src/types/services"
|
import { CreatePriceListDTO, UpsertPriceDTO } from "src/types/services"
|
||||||
|
import { joinerConfig } from "../joiner-config"
|
||||||
|
|
||||||
type InjectedDependencies = {
|
type InjectedDependencies = {
|
||||||
baseRepository: DAL.RepositoryService
|
baseRepository: DAL.RepositoryService
|
||||||
@@ -338,7 +338,9 @@ export default class PricingModuleService
|
|||||||
calculatedPrice.currency_code!,
|
calculatedPrice.currency_code!,
|
||||||
pricingContext.context?.region_id as string
|
pricingContext.context?.region_id as string
|
||||||
),
|
),
|
||||||
calculated_amount: parseInt(calculatedPrice?.amount || "") || null,
|
calculated_amount:
|
||||||
|
parseFloat((calculatedPrice?.amount as string) || "") || null,
|
||||||
|
raw_calculated_amount: calculatedPrice?.raw_amount || null,
|
||||||
|
|
||||||
is_original_price_price_list: !!originalPrice?.price_list_id,
|
is_original_price_price_list: !!originalPrice?.price_list_id,
|
||||||
is_original_price_tax_inclusive: originalPrice?.id
|
is_original_price_tax_inclusive: originalPrice?.id
|
||||||
@@ -349,7 +351,9 @@ export default class PricingModuleService
|
|||||||
pricingContext.context?.region_id as string
|
pricingContext.context?.region_id as string
|
||||||
)
|
)
|
||||||
: false,
|
: false,
|
||||||
original_amount: parseInt(originalPrice?.amount || "") || null,
|
original_amount:
|
||||||
|
parseFloat((originalPrice?.amount as string) || "") || null,
|
||||||
|
raw_original_amount: originalPrice?.raw_amount || null,
|
||||||
|
|
||||||
currency_code: calculatedPrice?.currency_code || null,
|
currency_code: calculatedPrice?.currency_code || null,
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user