Removing stuff
This commit is contained in:
parent
7b40a8fcb2
commit
24966fdf64
3 changed files with 6 additions and 144 deletions
|
|
@ -6,14 +6,3 @@ export function getLineItemsFlattened(lineItems) {
|
|||
export function findLineItemIndex(lineItems, partNumber, startIndex = 0) {
|
||||
return lineItems.findIndex((li, index) => index >= startIndex && li.partNumber === partNumber);
|
||||
}
|
||||
|
||||
// replaces partNumber, which is initially NAGS format, with the safelite part number
|
||||
export function mapSafelitePartNumberToPartNumberIfExists(lineItems) {
|
||||
return lineItems?.map(({ childParts, ...rest }) => ({
|
||||
...rest,
|
||||
partNumber: rest.safelitePartNumber || rest.partNumber,
|
||||
childParts: childParts?.map((part) => ({
|
||||
partNumber: part.safelitePartNumber || part.partNumber
|
||||
})) ?? []
|
||||
})) ?? [];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,132 +1,6 @@
|
|||
import { getLineItemsFlattened, mapSafelitePartNumberToPartNumberIfExists } from '@/helpers/line-items-helper';
|
||||
import { getLineItemsFlattened } from '@/helpers/line-items-helper';
|
||||
|
||||
describe('getLineItemsFlattened', () => {
|
||||
describe('mapSafelitePartNumberToPartNumberIfExists', () => {
|
||||
test.each([null, undefined, []])('returns empty list when %p passed', (lineItems) => {
|
||||
// Arrange
|
||||
const expected = [];
|
||||
|
||||
// Act
|
||||
const result = mapSafelitePartNumberToPartNumberIfExists(lineItems);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchObject(expected);
|
||||
});
|
||||
test('assigns partNumber to null when safelitePartNumber DNE', () => {
|
||||
// Arrange
|
||||
const lineItems = [
|
||||
{
|
||||
apple: 'a',
|
||||
partNumber: 111
|
||||
}
|
||||
];
|
||||
const expected = [
|
||||
{
|
||||
apple: 'a',
|
||||
partNumber: undefined,
|
||||
childParts: []
|
||||
}
|
||||
];
|
||||
|
||||
// Act
|
||||
const result = mapSafelitePartNumberToPartNumberIfExists(lineItems);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchObject(expected);
|
||||
});
|
||||
test('assigns partNumber as expected when multiple line items passed', () => {
|
||||
// Arrange
|
||||
const lineItems = [
|
||||
{
|
||||
apple: 'a',
|
||||
banana: 'b',
|
||||
partNumber: 111,
|
||||
safelitePartNumber: 222,
|
||||
childParts: [
|
||||
{
|
||||
partNumber: 333,
|
||||
safelitePartNumber: 444
|
||||
},
|
||||
{
|
||||
partNumber: 555,
|
||||
safelitePartNumber: 666
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
apple: 'apple',
|
||||
banana: 'banana',
|
||||
partNumber: 123,
|
||||
safelitePartNumber: 321
|
||||
}
|
||||
];
|
||||
const expected = [
|
||||
{
|
||||
apple: 'a',
|
||||
banana: 'b',
|
||||
partNumber: 222,
|
||||
childParts: [
|
||||
{
|
||||
partNumber: 444
|
||||
},
|
||||
{
|
||||
partNumber: 666
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
apple: 'apple',
|
||||
banana: 'banana',
|
||||
partNumber: 321,
|
||||
childParts: []
|
||||
}
|
||||
];
|
||||
|
||||
// Act
|
||||
const result = mapSafelitePartNumberToPartNumberIfExists(lineItems);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchObject(expected);
|
||||
});
|
||||
test.only('returns partNumber when no safelitePartNumber', () => {
|
||||
// Arrange
|
||||
const lineItems = [
|
||||
{
|
||||
apple: 'a',
|
||||
partNumber: 111,
|
||||
childParts: [
|
||||
{
|
||||
partNumber: 333
|
||||
},
|
||||
{
|
||||
partNumber: 555,
|
||||
safelitePartNumber: 666
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
const expected = [
|
||||
{
|
||||
apple: 'a',
|
||||
partNumber: 111,
|
||||
childParts: [
|
||||
{
|
||||
partNumber: 333
|
||||
},
|
||||
{
|
||||
partNumber: 666
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
// Act
|
||||
const result = mapSafelitePartNumberToPartNumberIfExists(lineItems);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchObject(expected);
|
||||
});
|
||||
});
|
||||
describe('getLineItemsFlattened', () => {
|
||||
it('Returns empty array when null is passed', () => {
|
||||
// Arrange
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import partTypeStrings from '@/constants/part-type-strings';
|
|||
import bailoutMessage from '@/constants/bailoutMessage';
|
||||
import bailoutCode from '@/constants/bailoutCode';
|
||||
import partNumberStrings from '@/constants/part-number-strings';
|
||||
import { findLineItemIndex, getLineItemsFlattened, mapSafelitePartNumberToPartNumberIfExists } from '@/helpers/line-items-helper';
|
||||
import { findLineItemIndex, getLineItemsFlattened } from '@/helpers/line-items-helper';
|
||||
import { buildQueryStringParameterFromArrayOfComplexObjects, getLineItemQueryString, getTaxLineItemQueryString } from '@/helpers/querystring-helper';
|
||||
import coverageType from '@/constants/coverage-type';
|
||||
import { getExperimentSettingValue, getFeatureTogglesQueryString } from '@/helpers/experiment-helper';
|
||||
|
|
@ -1082,7 +1082,6 @@ export const useMainStore = defineStore({
|
|||
// NOTE: The endpoint requires that safelite part numbers be used!!
|
||||
async getITACPriceOrderItems(availableLineItems) {
|
||||
const { policy, vehicle, contactInfo, serviceLocation, insuranceCoverage } = this.order;
|
||||
const lineItemsUsingSafelitePartNumber = mapSafelitePartNumberToPartNumberIfExists(availableLineItems);
|
||||
const response = await globalMethods
|
||||
.callHttpClient({
|
||||
method: endpoints.GetITACPriceOrderItems.method,
|
||||
|
|
@ -1092,7 +1091,7 @@ export const useMainStore = defineStore({
|
|||
ReferralNumber: this.order.referralNumber,
|
||||
ReferralSequenceNumber: this.order.referralSequenceNumber,
|
||||
ReferralDate: `${this.order.referralDate}Z`,
|
||||
lineItems: getLineItemsFlattened(lineItemsUsingSafelitePartNumber),
|
||||
lineItems: getLineItemsFlattened(availableLineItems),
|
||||
ServerData: this.order.lineItems.serverData,
|
||||
ServiceZipCode: serviceLocation.zipCode,
|
||||
Customer: {
|
||||
|
|
@ -1145,7 +1144,7 @@ export const useMainStore = defineStore({
|
|||
}
|
||||
|
||||
if (lineItems) {
|
||||
const retAvailableLineItems = addPricesToLineItems(availableLineItems, lineItems, false);
|
||||
const retAvailableLineItems = addPricesToLineItems(availableLineItems, lineItems);
|
||||
return retAvailableLineItems;
|
||||
}
|
||||
|
||||
|
|
@ -2770,9 +2769,9 @@ function convertGlassPieceNamingFromApi(glassArray) {
|
|||
}
|
||||
|
||||
// Note this is used for both the insurance and the itac endpoints, so it needs to deal with safelite or nags part numbers
|
||||
function addPricesToLineItems(lineItems, pricingLineItems, pricedPartNumberIsNags = true) {
|
||||
function addPricesToLineItems(lineItems, pricingLineItems) {
|
||||
const partOffset = {};
|
||||
const partNumberPropertyToCompare = pricedPartNumberIsNags ? 'partNumber' : 'safelitePartNumber';
|
||||
const partNumberPropertyToCompare = 'partNumber';
|
||||
|
||||
lineItems.forEach((lineItem) => {
|
||||
if (lineItem.childParts) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue