From 0ba9e1711de86ca2eb5cb136ec63b3a292322da2 Mon Sep 17 00:00:00 2001 From: davidglezz Date: Tue, 15 Jul 2025 16:41:32 +0200 Subject: [PATCH 1/2] fix(result-price): make futureValue optional Signed-off-by: davidglezz --- packages/x-types/src/result/result-price.model.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/x-types/src/result/result-price.model.ts b/packages/x-types/src/result/result-price.model.ts index 76f1f9b3c7..2c8ada7eb2 100644 --- a/packages/x-types/src/result/result-price.model.ts +++ b/packages/x-types/src/result/result-price.model.ts @@ -9,7 +9,7 @@ export interface ResultPrice { /** The current value. */ value: number /** Pre-warming price. */ - futureValue: number + futureValue?: number /** Whether this result has discount. */ hasDiscount: boolean } From 1b00fe6d1c97cc92dec684dd554a5adaf98c985a Mon Sep 17 00:00:00 2001 From: davidglezz Date: Fri, 8 Aug 2025 12:04:03 +0200 Subject: [PATCH 2/2] feat(price): remove futureValue from price model and related tests Signed-off-by: davidglezz --- .../__tests__/__fixtures__/identifier-results.response.ts | 1 - .../src/__tests__/platform.adapter.spec.ts | 2 -- .../__snapshots__/search-response.mapper.spec.ts.snap | 2 -- .../__tests__/recommendations-response.mapper.spec.ts | 1 - .../x-adapter-platform/src/schemas/models/result.schema.ts | 3 ++- .../x-components/src/__stubs__/results-stubs.factory.ts | 1 - packages/x-components/src/adapter/mocked-responses.ts | 7 ------- .../result/__tests__/base-result-current-price.spec.ts | 2 -- .../result/__tests__/base-result-previous-price.spec.ts | 2 -- .../src/views/accessibility/wai-base-result-link.vue | 1 - .../x-components/tests/e2e/common/mocked-responses.spec.ts | 3 --- packages/x-types/src/result/result-price.model.ts | 2 +- packages/x-types/src/schemas/result.schema.ts | 4 ++-- 13 files changed, 5 insertions(+), 26 deletions(-) diff --git a/packages/x-adapter-platform/src/__tests__/__fixtures__/identifier-results.response.ts b/packages/x-adapter-platform/src/__tests__/__fixtures__/identifier-results.response.ts index b402482820..1af7de0a04 100644 --- a/packages/x-adapter-platform/src/__tests__/__fixtures__/identifier-results.response.ts +++ b/packages/x-adapter-platform/src/__tests__/__fixtures__/identifier-results.response.ts @@ -46,7 +46,6 @@ export const identifierResultsResponse = { price: { value: 10, originalValue: 10, - futureValue: 10, hasDiscount: false, }, rating: { diff --git a/packages/x-adapter-platform/src/__tests__/platform.adapter.spec.ts b/packages/x-adapter-platform/src/__tests__/platform.adapter.spec.ts index 22d40b1638..1c51be27ed 100644 --- a/packages/x-adapter-platform/src/__tests__/platform.adapter.spec.ts +++ b/packages/x-adapter-platform/src/__tests__/platform.adapter.spec.ts @@ -458,7 +458,6 @@ describe('platformAdapter tests', () => { price: { value: 10, originalValue: 10, - futureValue: 10, hasDiscount: false, }, rating: { @@ -578,7 +577,6 @@ describe('platformAdapter tests', () => { price: { hasDiscount: false, originalValue: 10, - futureValue: 10, value: 10, }, rating: { diff --git a/packages/x-adapter-platform/src/mappers/responses/__tests__/__snapshots__/search-response.mapper.spec.ts.snap b/packages/x-adapter-platform/src/mappers/responses/__tests__/__snapshots__/search-response.mapper.spec.ts.snap index a12ebfbae5..4786f7c337 100644 --- a/packages/x-adapter-platform/src/mappers/responses/__tests__/__snapshots__/search-response.mapper.spec.ts.snap +++ b/packages/x-adapter-platform/src/mappers/responses/__tests__/__snapshots__/search-response.mapper.spec.ts.snap @@ -315,7 +315,6 @@ Object { "modelName": "Result", "name": "Locomotive Men Washed Blue Jeans", "price": Object { - "futureValue": 10, "hasDiscount": false, "originalValue": 10, "value": 10, @@ -467,7 +466,6 @@ Object { "modelName": "Result", "name": "Locomotive Men Washed Blue Jeans", "price": Object { - "futureValue": 10, "hasDiscount": false, "originalValue": 10, "value": 10, diff --git a/packages/x-adapter-platform/src/mappers/responses/__tests__/recommendations-response.mapper.spec.ts b/packages/x-adapter-platform/src/mappers/responses/__tests__/recommendations-response.mapper.spec.ts index d5b2c30e5c..cf25b85edb 100644 --- a/packages/x-adapter-platform/src/mappers/responses/__tests__/recommendations-response.mapper.spec.ts +++ b/packages/x-adapter-platform/src/mappers/responses/__tests__/recommendations-response.mapper.spec.ts @@ -21,7 +21,6 @@ describe('recommendationsResponseMapper tests', () => { price: { hasDiscount: false, originalValue: 10, - futureValue: 10, value: 10, }, rating: { diff --git a/packages/x-adapter-platform/src/schemas/models/result.schema.ts b/packages/x-adapter-platform/src/schemas/models/result.schema.ts index e58c1735a1..c2a6cdebf2 100644 --- a/packages/x-adapter-platform/src/schemas/models/result.schema.ts +++ b/packages/x-adapter-platform/src/schemas/models/result.schema.ts @@ -23,7 +23,8 @@ export const resultSchema = createMutableSchema({ value: '__prices.current.value', originalValue: ({ __prices: rawPrices }) => rawPrices.previous?.value ?? rawPrices.current.value, - futureValue: ({ __prices: rawPrices }) => rawPrices.future?.value ?? rawPrices.current.value, + /** @deprecated It is not a general purpose field. */ + //futureValue: ({ __prices: rawPrices }) => rawPrices.future?.value ?? rawPrices.current.value, hasDiscount: ({ __prices: rawPrices }) => rawPrices.current.value < (rawPrices.previous?.value ?? rawPrices.current.value), }, diff --git a/packages/x-components/src/__stubs__/results-stubs.factory.ts b/packages/x-components/src/__stubs__/results-stubs.factory.ts index 49f63a37b3..b70024522b 100644 --- a/packages/x-components/src/__stubs__/results-stubs.factory.ts +++ b/packages/x-components/src/__stubs__/results-stubs.factory.ts @@ -40,7 +40,6 @@ export function createResultStub(name: string, result?: Partial): Result price: { hasDiscount: false, originalValue: 10, - futureValue: 10, value: 10, }, rating: { diff --git a/packages/x-components/src/adapter/mocked-responses.ts b/packages/x-components/src/adapter/mocked-responses.ts index 7222e5df3a..9e0c66b845 100644 --- a/packages/x-components/src/adapter/mocked-responses.ts +++ b/packages/x-components/src/adapter/mocked-responses.ts @@ -129,7 +129,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 59.99, - futureValue: 59.99, value: 59.99, }, }), @@ -138,7 +137,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 29.99, - futureValue: 29.99, value: 29.99, }, }), @@ -147,7 +145,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 11.99, - futureValue: 11.99, value: 11.99, }, }), @@ -156,7 +153,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 39.99, - futureValue: 39.99, value: 39.99, }, }), @@ -165,7 +161,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 11.99, - futureValue: 11.99, value: 11.99, }, }), @@ -174,7 +169,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 11.99, - futureValue: 11.99, value: 11.99, }, }), @@ -183,7 +177,6 @@ export const mockedResponses = { price: { hasDiscount: false, originalValue: 22.99, - futureValue: 22.99, value: 22.99, }, }), diff --git a/packages/x-components/src/components/result/__tests__/base-result-current-price.spec.ts b/packages/x-components/src/components/result/__tests__/base-result-current-price.spec.ts index 9117dd8eea..73cd2d28ac 100644 --- a/packages/x-components/src/components/result/__tests__/base-result-current-price.spec.ts +++ b/packages/x-components/src/components/result/__tests__/base-result-current-price.spec.ts @@ -9,7 +9,6 @@ const mockedResult: Pick = { price: { hasDiscount: true, originalValue: 29.99, - futureValue: 29.99, value: 19.99, }, } @@ -73,7 +72,6 @@ describe('testing BaseCurrentPrice component', () => { price: { hasDiscount: false, originalValue: 29.99, - futureValue: 29.99, value: 29.99, }, }, diff --git a/packages/x-components/src/components/result/__tests__/base-result-previous-price.spec.ts b/packages/x-components/src/components/result/__tests__/base-result-previous-price.spec.ts index c2b28add1f..51da473c67 100644 --- a/packages/x-components/src/components/result/__tests__/base-result-previous-price.spec.ts +++ b/packages/x-components/src/components/result/__tests__/base-result-previous-price.spec.ts @@ -9,7 +9,6 @@ const mockedResult: Pick = { price: { hasDiscount: true, originalValue: 29.99, - futureValue: 29.99, value: 19.99, }, } @@ -70,7 +69,6 @@ describe('testing BaseResultPreviousPrice component', () => { price: { hasDiscount: false, originalValue: 29.99, - futureValue: 29.99, value: 29.99, }, }, diff --git a/packages/x-components/src/views/accessibility/wai-base-result-link.vue b/packages/x-components/src/views/accessibility/wai-base-result-link.vue index 438495e620..69603e4e33 100644 --- a/packages/x-components/src/views/accessibility/wai-base-result-link.vue +++ b/packages/x-components/src/views/accessibility/wai-base-result-link.vue @@ -42,7 +42,6 @@ export default defineComponent({ price: { hasDiscount: false, originalValue: 11.99, - futureValue: 11.99, value: 11.99, }, url: 'https://www.lolahome.es/escobilla-zen-ceramica-blanco-gris-29075', diff --git a/packages/x-components/tests/e2e/common/mocked-responses.spec.ts b/packages/x-components/tests/e2e/common/mocked-responses.spec.ts index fb7a65d549..f3da9deb95 100644 --- a/packages/x-components/tests/e2e/common/mocked-responses.spec.ts +++ b/packages/x-components/tests/e2e/common/mocked-responses.spec.ts @@ -263,7 +263,6 @@ Given('a results API with broken images', () => { hasDiscount: false, originalValue: 59.99, value: 59.99, - futureValue: 59.99, }, }), createResultStub('Result 2', { @@ -272,7 +271,6 @@ Given('a results API with broken images', () => { hasDiscount: false, originalValue: 59.99, value: 59.99, - futureValue: 59.99, }, }), createResultStub('Result 3', { @@ -286,7 +284,6 @@ Given('a results API with broken images', () => { hasDiscount: false, originalValue: 59.99, value: 59.99, - futureValue: 59.99, }, }), ], diff --git a/packages/x-types/src/result/result-price.model.ts b/packages/x-types/src/result/result-price.model.ts index 2c8ada7eb2..d8b767f8d4 100644 --- a/packages/x-types/src/result/result-price.model.ts +++ b/packages/x-types/src/result/result-price.model.ts @@ -8,7 +8,7 @@ export interface ResultPrice { originalValue: number /** The current value. */ value: number - /** Pre-warming price. */ + /** @deprecated It is not a general purpose field. */ futureValue?: number /** Whether this result has discount. */ hasDiscount: boolean diff --git a/packages/x-types/src/schemas/result.schema.ts b/packages/x-types/src/schemas/result.schema.ts index 66db0d8a91..c47459ad02 100644 --- a/packages/x-types/src/schemas/result.schema.ts +++ b/packages/x-types/src/schemas/result.schema.ts @@ -17,7 +17,7 @@ export const ResultSchema: Result = { name: expect.any(String), price: { originalValue: expect.any(Number), - futureValue: expect.any(Number), + futureValue: expect.nullOrUndefinedOr(Number), value: expect.any(Number), hasDiscount: expect.any(Boolean), }, @@ -50,7 +50,7 @@ export const RecommendationSchema: Result = { name: expect.any(String), price: { originalValue: expect.any(Number), - futureValue: expect.any(Number), + futureValue: expect.nullOrUndefinedOr(Number), value: expect.any(Number), hasDiscount: expect.any(Boolean), },