Check if fees are hidden and hide cart row
Pass experiment flags to price service
This commit is contained in:
parent
e975430393
commit
f86a428158
3 changed files with 28 additions and 2 deletions
21
src/helpers/experiment-helper.js
Normal file
21
src/helpers/experiment-helper.js
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
export function hasExperimentSetting(experimentSettings, settingName) {
|
||||||
|
return Object.hasOwn(experimentSettings, settingName);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getExperimentSettingValue(experimentSettings, settingName) {
|
||||||
|
return hasExperimentSetting(experimentSettings, settingName)
|
||||||
|
? experimentSettings[settingName]
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getFeatureTogglesQueryString(experimentSettings) {
|
||||||
|
const isMobileFeeHidden = getExperimentSettingValue(experimentSettings, 'HideMobileFee') === 'true';
|
||||||
|
const isMobileFeeOverridden = getExperimentSettingValue(experimentSettings, 'OverrideMobileFee') === 'true';
|
||||||
|
const isRecycleFeeHidden = getExperimentSettingValue(experimentSettings, 'HideRecycleFee') === 'true';
|
||||||
|
const isRecycleFeeOverridden = getExperimentSettingValue(experimentSettings, 'OverrideRecycleFee') === 'true';
|
||||||
|
|
||||||
|
return `FeatureToggles.IsMobileFeeHidden=${isMobileFeeHidden}`
|
||||||
|
+ `&FeatureToggles.IsMobileFeeOverridden=${isMobileFeeOverridden}`
|
||||||
|
+ `&FeatureToggles.IsRecycleFeeHidden=${isRecycleFeeHidden}`
|
||||||
|
+ `&FeatureToggles.IsRecycleFeeOverridden=${isRecycleFeeOverridden}`;
|
||||||
|
}
|
||||||
|
|
@ -322,10 +322,12 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const items = vapsCartItemsNotInPackage.filter((item) => item != null);
|
const items = vapsCartItemsNotInPackage.filter((item) => item != null);
|
||||||
if (this.recycleFeeCartItem) {
|
const isRecycleFeeHidden = this.getSettingValue('HideRecycleFee') === 'true';
|
||||||
|
const isMobileFeeHidden = this.getSettingValue('HideMobileFee') === 'true';
|
||||||
|
if (this.recycleFeeCartItem && !isRecycleFeeHidden) {
|
||||||
items.push(this.recycleFeeCartItem);
|
items.push(this.recycleFeeCartItem);
|
||||||
}
|
}
|
||||||
if (this.mobileFeeCartItem) {
|
if (this.mobileFeeCartItem && !isMobileFeeHidden) {
|
||||||
items.push(this.mobileFeeCartItem);
|
items.push(this.mobileFeeCartItem);
|
||||||
}
|
}
|
||||||
return items;
|
return items;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import partNumberStrings from '@/constants/part-number-strings';
|
||||||
import { getLineItemsFlattened } from '@/helpers/line-items-helper';
|
import { getLineItemsFlattened } from '@/helpers/line-items-helper';
|
||||||
import { buildQueryStringParameterFromArrayOfComplexObjects, getLineItemQueryString, getTaxLineItemQueryString } from '@/helpers/querystring-helper';
|
import { buildQueryStringParameterFromArrayOfComplexObjects, getLineItemQueryString, getTaxLineItemQueryString } from '@/helpers/querystring-helper';
|
||||||
import coverageType from '@/constants/coverage-type';
|
import coverageType from '@/constants/coverage-type';
|
||||||
|
import { getFeatureTogglesQueryString } from '@/helpers/experiment-helper';
|
||||||
|
|
||||||
const storeId = 'main';
|
const storeId = 'main';
|
||||||
|
|
||||||
|
|
@ -1034,6 +1035,7 @@ export const useMainStore = defineStore({
|
||||||
async getInsurancePriceOrderItems(availableLineItems) {
|
async getInsurancePriceOrderItems(availableLineItems) {
|
||||||
const { serviceLocation, currentDeductible } = this.order;
|
const { serviceLocation, currentDeductible } = this.order;
|
||||||
const lineItemsQueryString = getLineItemQueryString(availableLineItems, 'lineItems');
|
const lineItemsQueryString = getLineItemQueryString(availableLineItems, 'lineItems');
|
||||||
|
const featureTogglesQueryString = getFeatureTogglesQueryString(this.experimentSettings);
|
||||||
|
|
||||||
let queryString =
|
let queryString =
|
||||||
`ParentAccountNumber=${this.order.parentAccountNumber}`
|
`ParentAccountNumber=${this.order.parentAccountNumber}`
|
||||||
|
|
@ -1041,6 +1043,7 @@ export const useMainStore = defineStore({
|
||||||
+ `&CTU=${serviceLocation.zipCodeCtu}`
|
+ `&CTU=${serviceLocation.zipCodeCtu}`
|
||||||
+ `&Deductible=${currentDeductible ?? 0}`
|
+ `&Deductible=${currentDeductible ?? 0}`
|
||||||
+ `&ZipCode=${serviceLocation.zipCode}`
|
+ `&ZipCode=${serviceLocation.zipCode}`
|
||||||
|
+ `&${featureTogglesQueryString}`
|
||||||
+ `${lineItemsQueryString}`;
|
+ `${lineItemsQueryString}`;
|
||||||
|
|
||||||
const lineItemServerData = this.order.lineItems?.serverData;
|
const lineItemServerData = this.order.lineItems?.serverData;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue