Refactor new helper to call common flushPagePrereqsLogs

This commit is contained in:
Matt Sykes 2026-03-09 11:29:18 -04:00
parent 6997c2160d
commit e138dfe508
7 changed files with 40 additions and 25 deletions

View file

@ -17,6 +17,12 @@ export function logPagePrereqsEnd(source, preReqResult) {
} }
} }
export function flushPagePrereqsLogs(source, preReqResult, logQueue) {
logPagePrereqsStart(source, preReqResult);
logQueue.forEach((fn) => fn());
logPagePrereqsEnd(source, preReqResult);
}
function queueLogging(logQueue, logFn) { function queueLogging(logQueue, logFn) {
if (logQueue) { if (logQueue) {
logQueue.push(logFn); logQueue.push(logFn);

View file

@ -36,6 +36,30 @@ describe("page-prerequisites-helper.js", () => {
}); });
}); });
describe("flushPagePrereqsLogs", () => {
test("calls logPagePrereqsStart, executes logQueue, and logPagePrereqsEnd", () => {
const logQueue = [
jest.fn(),
jest.fn(),
];
pagePrereqsHelper.flushPagePrereqsLogs("payment.vue", true, logQueue);
expect(debugLog).toHaveBeenCalledWith(
"--- payment.vue pagePrereqs start ---",
null,
false
);
expect(debugLog).toHaveBeenCalledWith(
"--- payment.vue pagePrereqs end ---",
null,
false
);
expect(logQueue[0]).toHaveBeenCalled();
expect(logQueue[1]).toHaveBeenCalled();
});
});
describe("logPagePrereqsEnd", () => { describe("logPagePrereqsEnd", () => {
test("calls debugLog with source and forceLog when preReqResult is false", () => { test("calls debugLog with source and forceLog when preReqResult is false", () => {
pagePrereqsHelper.logPagePrereqsEnd("payment-method.vue", false); pagePrereqsHelper.logPagePrereqsEnd("payment-method.vue", false);

View file

@ -79,8 +79,7 @@ import { AppointmentTypeStrings } from "@/constants/schedule-constants";
import textLink from "@/ux-components/text-link/text-link"; import textLink from "@/ux-components/text-link/text-link";
import analyticsMixin from "@/mixins/analytics-mixin"; import analyticsMixin from "@/mixins/analytics-mixin";
import { import {
logPagePrereqsStart, flushPagePrereqsLogs,
logPagePrereqsEnd,
hasSchedulingInfo, hasSchedulingInfo,
} from "@/helpers/page-prerequisites-helper"; } from "@/helpers/page-prerequisites-helper";
export default { export default {
@ -130,9 +129,7 @@ export default {
const preReqResult = serviceLocationPreReqs && scheduleInfoPreReqs; const preReqResult = serviceLocationPreReqs && scheduleInfoPreReqs;
logPagePrereqsStart("mobile-details.vue", preReqResult); flushPagePrereqsLogs("mobile-details.vue", preReqResult, logQueue);
logQueue.forEach((fn) => fn());
logPagePrereqsEnd("mobile-details.vue", preReqResult);
return preReqResult; return preReqResult;
}, },

View file

@ -84,8 +84,7 @@ import { coverageStatus } from "@/constants/insurance";
import { deepClone } from "@/helpers/object-helper"; import { deepClone } from "@/helpers/object-helper";
import store from "@/store"; import store from "@/store";
import { import {
logPagePrereqsStart, flushPagePrereqsLogs,
logPagePrereqsEnd,
hasServiceLocationInfo, hasServiceLocationInfo,
hasInsuranceInfo, hasInsuranceInfo,
hasSchedulingInfo, hasSchedulingInfo,
@ -152,9 +151,7 @@ export default {
hasSchedulingInfo(order, logQueue) && hasSchedulingInfo(order, logQueue) &&
hasCustomerInfo(order, logQueue) && hasCustomerInfo(order, logQueue) &&
hasPaymentMethodInfo(order, logQueue); hasPaymentMethodInfo(order, logQueue);
logPagePrereqsStart("payment-adyen.vue", result); flushPagePrereqsLogs("payment-adyen.vue", result, logQueue);
logQueue.forEach((fn) => fn());
logPagePrereqsEnd("payment-adyen.vue", result);
return result; return result;
}, },

View file

@ -179,8 +179,7 @@ import { getBoolFromString } from "@/helpers/boolean-helper";
import { getAmountDue, addPricesToLineItems } from "@/helpers/pricing-helper.js"; import { getAmountDue, addPricesToLineItems } from "@/helpers/pricing-helper.js";
import { consumeQueryFromStash } from "@/router/methods/helpers/querystring-stash"; import { consumeQueryFromStash } from "@/router/methods/helpers/querystring-stash";
import { import {
logPagePrereqsStart, flushPagePrereqsLogs,
logPagePrereqsEnd,
hasServiceLocationInfo, hasServiceLocationInfo,
hasInsuranceInfo, hasInsuranceInfo,
hasSchedulingInfo, hasSchedulingInfo,
@ -395,9 +394,7 @@ export default {
hasInsuranceInfo(order, logQueue) && hasInsuranceInfo(order, logQueue) &&
hasSchedulingInfo(order, logQueue) && hasSchedulingInfo(order, logQueue) &&
hasCustomerInfo(order, logQueue); hasCustomerInfo(order, logQueue);
logPagePrereqsStart("payment-method.vue", result); flushPagePrereqsLogs("payment-method.vue", result, logQueue);
logQueue.forEach((fn) => fn());
logPagePrereqsEnd("payment-method.vue", result);
return result; return result;
}, },
getPaymentMethodFromStore() { getPaymentMethodFromStore() {

View file

@ -243,8 +243,7 @@ import { coverageStatus } from "@/constants/insurance";
import { getDisplayAmountDue, getAmountDue } from "@/helpers/pricing-helper.js"; import { getDisplayAmountDue, getAmountDue } from "@/helpers/pricing-helper.js";
import { debugLog } from "@/helpers/debug-log-helper.js"; import { debugLog } from "@/helpers/debug-log-helper.js";
import { import {
logPagePrereqsStart, flushPagePrereqsLogs,
logPagePrereqsEnd,
hasServiceLocationInfo, hasServiceLocationInfo,
hasInsuranceInfo, hasInsuranceInfo,
hasSchedulingInfo, hasSchedulingInfo,
@ -451,9 +450,7 @@ export default {
hasSchedulingInfo(order, logQueue) && hasSchedulingInfo(order, logQueue) &&
hasCustomerInfo(order, logQueue) && hasCustomerInfo(order, logQueue) &&
hasPaymentMethodInfo(order, logQueue); hasPaymentMethodInfo(order, logQueue);
logPagePrereqsStart("payment.vue", result); flushPagePrereqsLogs("payment.vue", result, logQueue);
logQueue.forEach((fn) => fn());
logPagePrereqsEnd("payment.vue", result);
return result; return result;
}, },
getAnswersNullSafe(widgetName) { getAnswersNullSafe(widgetName) {

View file

@ -184,8 +184,7 @@ import { consumeQueryFromStash } from "@/router/methods/helpers/querystring-stas
import { storeMutations } from "@/constants/store-mutations"; import { storeMutations } from "@/constants/store-mutations";
import { debugLog } from "@/helpers/debug-log-helper"; import { debugLog } from "@/helpers/debug-log-helper";
import { import {
logPagePrereqsStart, flushPagePrereqsLogs,
logPagePrereqsEnd,
hasServiceZipInfo, hasServiceZipInfo,
hasGlassPartsOrRepairInfo, hasGlassPartsOrRepairInfo,
} from "@/helpers/page-prerequisites-helper.js"; } from "@/helpers/page-prerequisites-helper.js";
@ -753,9 +752,7 @@ export default {
); );
}); });
logPagePrereqsStart("quote.vue", preReqResult); flushPagePrereqsLogs("quote.vue", preReqResult, logQueue);
logQueue.forEach((fn) => fn());
logPagePrereqsEnd("quote.vue", preReqResult);
return preReqResult; return preReqResult;
}, },
vapsItemsSelectedAction(vapsItemsSelected) { vapsItemsSelectedAction(vapsItemsSelected) {