Skip to content

feat(checkout): DATA-12377 BasePrice fix for BODL checkout and purcha… #2783

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions packages/core/src/bodl/bodl-emitter-service.ts
Original file line number Diff line number Diff line change
@@ -42,6 +42,9 @@ export default class BodlEmitterService implements BodlService {
checkoutBegin(): void {
const data = this._getCommonCheckoutData();

console.log("LOG IS CAPTURED BELOW!!! ")
console.log(data)

if (this._checkoutStarted || !data) {
return;
}
@@ -202,6 +205,8 @@ export default class BodlEmitterService implements BodlService {
channelId,
} = checkout;

console.log("Line items", lineItems)

return {
event_id: id,
currency: currency.code,
@@ -216,7 +221,7 @@ export default class BodlEmitterService implements BodlService {
const customItems: BODLProduct[] = (lineItems.customItems || []).map((item) => ({
product_id: item.id,
sku: item.sku,
base_price: item.listPrice,
base_price: item.originalPrice,
sale_price: item.listPrice,
purchase_price: item.listPrice,
quantity: item.quantity,
@@ -260,11 +265,14 @@ export default class BodlEmitterService implements BodlService {
itemAttributes.sort();
}

console.log("THE ITEM ", item)
console.log("THE BASE/ORIGIN PRICE IS")
console.log(item.originalPrice)
return {
product_id: item.productId,
quantity: item.quantity,
product_name: item.name,
base_price: item.listPrice,
base_price: item.originalPrice,
sale_price: item.salePrice,
purchase_price: item.salePrice > 0 ? item.salePrice : item.listPrice,
sku: item.sku,
14 changes: 7 additions & 7 deletions packages/core/src/bodl/bodl-events-service.spec.ts
Original file line number Diff line number Diff line change
@@ -109,7 +109,7 @@ describe('BodlEmitterService', () => {
product_id: '103',
sku: 'CLC',
product_name: 'Canvas Laundry Cart',
base_price: 200,
base_price: 250,
sale_price: 190,
retail_price: 210,
purchase_price: 190,
@@ -125,7 +125,7 @@ describe('BodlEmitterService', () => {
product_id: '104',
sku: 'CLX',
product_name: 'Digital Book',
base_price: 200,
base_price: 250,
purchase_price: 200,
sale_price: 200,
retail_price: 210,
@@ -238,7 +238,7 @@ describe('BodlEmitterService', () => {
product_id: '103',
sku: 'CLC',
product_name: 'Canvas Laundry Cart',
base_price: 200,
base_price: 250,
sale_price: 190,
purchase_price: 190,
retail_price: 210,
@@ -339,7 +339,7 @@ describe('BodlEmitterService', () => {
product_id: '103',
sku: 'CLC',
product_name: 'Canvas Laundry Cart',
base_price: 200,
base_price: 250,
sale_price: 190,
purchase_price: 190,
quantity: 1,
@@ -355,7 +355,7 @@ describe('BodlEmitterService', () => {
product_id: '104',
sku: 'CLX',
product_name: 'Digital Book',
base_price: 200,
base_price: 250,
purchase_price: 200,
sale_price: 200,
quantity: 1,
@@ -522,7 +522,7 @@ describe('BodlEmitterService', () => {
product_id: '103',
sku: 'CLC',
product_name: 'Canvas Laundry Cart',
base_price: 200,
base_price: 250,
sale_price: 190,
purchase_price: 190,
quantity: 1,
@@ -538,7 +538,7 @@ describe('BodlEmitterService', () => {
product_id: '104',
sku: 'CLX',
product_name: 'Digital Book',
base_price: 200,
base_price: 250,
purchase_price: 200,
sale_price: 200,
quantity: 1,
2 changes: 2 additions & 0 deletions packages/core/src/cart/line-item.ts
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ export interface CustomItem {
id: string;
listPrice: number;
extendedListPrice: number;
originalPrice: number
name: string;
quantity: number;
sku: string;
@@ -56,6 +57,7 @@ export interface LineItem {
discountAmount: number;
couponAmount: number;
listPrice: number;
originalPrice: number
salePrice: number;
retailPrice: number;
comparisonPrice: number;
2 changes: 2 additions & 0 deletions packages/core/src/cart/line-items.mock.ts
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@ export function getPhysicalItem(): PhysicalItem {
discountAmount: 10,
couponAmount: 5,
listPrice: 200,
originalPrice: 250,
salePrice: 190,
retailPrice: 210,
comparisonPrice: 200,
@@ -53,6 +54,7 @@ export function getDigitalItem(): DigitalItem {
discountAmount: 0,
couponAmount: 5,
listPrice: 200,
originalPrice: 250,
salePrice: 200,
retailPrice: 210,
comparisonPrice: 200,
2 changes: 2 additions & 0 deletions packages/payment-integration-api/src/cart/line-item.ts
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@ export interface DigitalItem extends LineItem {
export interface CustomItem {
id: string;
listPrice: number;
originalPrice: number
extendedListPrice: number;
name: string;
quantity: number;
@@ -56,6 +57,7 @@ export interface LineItem {
discountAmount: number;
couponAmount: number;
listPrice: number;
originalPrice: number
salePrice: number;
retailPrice: number;
comparisonPrice: number;
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@ export function getCustomItem(): CustomItem {
return {
id: '55e11c8f-7dce-4da3-9413-b649533f8bad',
listPrice: 10,
originalPrice: 30,
extendedListPrice: 20,
name: 'Custom item',
quantity: 2,
@@ -27,6 +28,7 @@ export function getPhysicalItem(): PhysicalItem {
discountAmount: 10,
couponAmount: 0,
listPrice: 200,
originalPrice: 250,
salePrice: 190,
retailPrice: 210,
comparisonPrice: 200,
@@ -64,6 +66,7 @@ export function getDigitalItem(): DigitalItem {
discountAmount: 0,
couponAmount: 0,
listPrice: 200,
originalPrice: 250,
salePrice: 200,
retailPrice: 210,
comparisonPrice: 200,
Original file line number Diff line number Diff line change
@@ -10,6 +10,7 @@ export function getCustomItem(): CustomItem {
id: '55e11c8f-7dce-4da3-9413-b649533f8bad',
listPrice: 10,
extendedListPrice: 20,
originalPrice: 25,
name: 'Custom item',
quantity: 2,
sku: 'custom-sku',
@@ -32,6 +33,7 @@ export function getPhysicalItem(): PhysicalItem {
discountAmount: 10,
couponAmount: 0,
listPrice: 200,
originalPrice: 250,
salePrice: 190,
retailPrice: 210,
comparisonPrice: 200,
@@ -69,6 +71,7 @@ export function getDigitalItem(): DigitalItem {
discountAmount: 0,
couponAmount: 0,
listPrice: 200,
originalPrice: 250,
salePrice: 200,
retailPrice: 210,
comparisonPrice: 200,