Use constants instead of strings
Update one test file. Working on other.
This commit is contained in:
parent
f86a428158
commit
26c6db7eb0
4 changed files with 23 additions and 15 deletions
|
|
@ -4,7 +4,11 @@ const experimentUniverses = Object.freeze({
|
||||||
|
|
||||||
const experimentSettings = Object.freeze({
|
const experimentSettings = Object.freeze({
|
||||||
GOOGLE_CUSTOM_DIMENSION_INDEX: 'Google Custom Dimension Index',
|
GOOGLE_CUSTOM_DIMENSION_INDEX: 'Google Custom Dimension Index',
|
||||||
ISS_DISPLAY_PAY_IN_ADVANCE: 'DisplayPIAInsurance'
|
ISS_DISPLAY_PAY_IN_ADVANCE: 'DisplayPIAInsurance',
|
||||||
|
ISS_FEATURE_TOGGLE_IS_MOBILE_FEE_HIDDEN: 'HideMobileFee',
|
||||||
|
ISS_FEATURE_TOGGLE_IS_MOBILE_FEE_OVERRIDDEN: 'HideMobileFee',
|
||||||
|
ISS_FEATURE_TOGGLE_IS_RECYCLE_FEE_HIDDEN: 'HideRecycleFee',
|
||||||
|
ISS_FEATURE_TOGGLE_IS_RECYCLE_FEE_OVERRIDDEN: 'HideRecycleFee'
|
||||||
});
|
});
|
||||||
|
|
||||||
const experimentTriggers = Object.freeze({
|
const experimentTriggers = Object.freeze({
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,21 @@
|
||||||
export function hasExperimentSetting(experimentSettings, settingName) {
|
/* eslint-disable max-len */
|
||||||
return Object.hasOwn(experimentSettings, settingName);
|
import { experimentSettings } from '@/constants/experiments';
|
||||||
|
|
||||||
|
export function hasExperimentSetting(storeExperimentSettings, settingName) {
|
||||||
|
return Object.hasOwn(storeExperimentSettings, settingName);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getExperimentSettingValue(experimentSettings, settingName) {
|
export function getExperimentSettingValue(storeExperimentSettings, settingName) {
|
||||||
return hasExperimentSetting(experimentSettings, settingName)
|
return hasExperimentSetting(storeExperimentSettings, settingName)
|
||||||
? experimentSettings[settingName]
|
? storeExperimentSettings[settingName]
|
||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getFeatureTogglesQueryString(experimentSettings) {
|
export function getFeatureTogglesQueryString(storeExperimentSettings) {
|
||||||
const isMobileFeeHidden = getExperimentSettingValue(experimentSettings, 'HideMobileFee') === 'true';
|
const isMobileFeeHidden = getExperimentSettingValue(storeExperimentSettings, experimentSettings.ISS_FEATURE_TOGGLE_IS_MOBILE_FEE_HIDDEN) === 'true';
|
||||||
const isMobileFeeOverridden = getExperimentSettingValue(experimentSettings, 'OverrideMobileFee') === 'true';
|
const isMobileFeeOverridden = getExperimentSettingValue(storeExperimentSettings, experimentSettings.ISS_FEATURE_TOGGLE_IS_MOBILE_FEE_OVERRIDDEN) === 'true';
|
||||||
const isRecycleFeeHidden = getExperimentSettingValue(experimentSettings, 'HideRecycleFee') === 'true';
|
const isRecycleFeeHidden = getExperimentSettingValue(storeExperimentSettings, experimentSettings.ISS_FEATURE_TOGGLE_IS_RECYCLE_FEE_HIDDEN) === 'true';
|
||||||
const isRecycleFeeOverridden = getExperimentSettingValue(experimentSettings, 'OverrideRecycleFee') === 'true';
|
const isRecycleFeeOverridden = getExperimentSettingValue(storeExperimentSettings, experimentSettings.ISS_FEATURE_TOGGLE_IS_RECYCLE_FEE_OVERRIDDEN) === 'true';
|
||||||
|
|
||||||
return `FeatureToggles.IsMobileFeeHidden=${isMobileFeeHidden}`
|
return `FeatureToggles.IsMobileFeeHidden=${isMobileFeeHidden}`
|
||||||
+ `&FeatureToggles.IsMobileFeeOverridden=${isMobileFeeOverridden}`
|
+ `&FeatureToggles.IsMobileFeeOverridden=${isMobileFeeOverridden}`
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { createTestingPinia } from '@pinia/testing';
|
||||||
import cartDropdown from '@/iss-components/cart-dropdown/cart-dropdown.vue';
|
import cartDropdown from '@/iss-components/cart-dropdown/cart-dropdown.vue';
|
||||||
|
|
||||||
// Supporting Files
|
// Supporting Files
|
||||||
import {getEnumName, getMountOptions} from '@/helpers/unit-test-helper.js';
|
import { getEnumName, getMountOptions } from '@/helpers/unit-test-helper.js';
|
||||||
import { useMainStore, getDefaultState } from '@/store';
|
import { useMainStore, getDefaultState } from '@/store';
|
||||||
import { formatAmountInDollars } from '@/helpers/text-helper.js';
|
import { formatAmountInDollars } from '@/helpers/text-helper.js';
|
||||||
import partTypeStrings from '@/constants/part-type-strings';
|
import partTypeStrings from '@/constants/part-type-strings';
|
||||||
|
|
@ -43,6 +43,7 @@ function getMountedComponent(mainInitialState = {}, initialData = {}, propsData
|
||||||
});
|
});
|
||||||
useMainStore(testingPinia);
|
useMainStore(testingPinia);
|
||||||
|
|
||||||
|
mountOptions.global.mixins[0].methods.getSettingValue = jest.fn(() => 'false');
|
||||||
mountOptions.global.plugins = [testingPinia];
|
mountOptions.global.plugins = [testingPinia];
|
||||||
mountOptions.data = () => (initialData);
|
mountOptions.data = () => (initialData);
|
||||||
mountOptions.propsData = propsData;
|
mountOptions.propsData = propsData;
|
||||||
|
|
@ -1338,7 +1339,6 @@ describe('cart-dropdown component', () => {
|
||||||
const { wrapper } = getMountedComponent(storeData);
|
const { wrapper } = getMountedComponent(storeData);
|
||||||
formatAmountInDollars.mockReturnValueOnce(dollarAmount);
|
formatAmountInDollars.mockReturnValueOnce(dollarAmount);
|
||||||
|
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
const result = wrapper.vm.getDisplayed(0);
|
const result = wrapper.vm.getDisplayed(0);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -163,6 +163,7 @@ import { formatAmountInDollars } from '@/helpers/text-helper.js';
|
||||||
import { getHighestFullySatisfiedTier, getPackageContents } from '@/helpers/service-package-helper.js';
|
import { getHighestFullySatisfiedTier, getPackageContents } from '@/helpers/service-package-helper.js';
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
|
import { experimentSettings } from '@/constants/experiments';
|
||||||
import partTypeStrings from '@/constants/part-type-strings.js';
|
import partTypeStrings from '@/constants/part-type-strings.js';
|
||||||
import cartItemType from '@/constants/cart-item-type.js';
|
import cartItemType from '@/constants/cart-item-type.js';
|
||||||
import widgetFields from '@/constants/cms-widget-fields.js';
|
import widgetFields from '@/constants/cms-widget-fields.js';
|
||||||
|
|
@ -322,8 +323,8 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const items = vapsCartItemsNotInPackage.filter((item) => item != null);
|
const items = vapsCartItemsNotInPackage.filter((item) => item != null);
|
||||||
const isRecycleFeeHidden = this.getSettingValue('HideRecycleFee') === 'true';
|
const isRecycleFeeHidden = this.getSettingValue(experimentSettings.ISS_FEATURE_TOGGLE_IS_RECYCLE_FEE_HIDDEN) === 'true';
|
||||||
const isMobileFeeHidden = this.getSettingValue('HideMobileFee') === 'true';
|
const isMobileFeeHidden = this.getSettingValue(experimentSettings.ISS_FEATURE_TOGGLE_IS_MOBILE_FEE_HIDDEN) === 'true';
|
||||||
if (this.recycleFeeCartItem && !isRecycleFeeHidden) {
|
if (this.recycleFeeCartItem && !isRecycleFeeHidden) {
|
||||||
items.push(this.recycleFeeCartItem);
|
items.push(this.recycleFeeCartItem);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue