Fixing conflicts

This commit is contained in:
Michaela Brydon 2024-03-25 13:05:09 -04:00
commit 41ce911150
12 changed files with 72 additions and 57 deletions

View file

@ -84,6 +84,7 @@ stages:
appDeployVariables:
__VUE_APP_CONSUMER_CF_DISTRO__: $(__VUE_APP_CONSUMER_CF_DISTRO__)
__VUE_APP_CURRENT_ENVIRONMENT__: $(__VUE_APP_CURRENT_ENVIRONMENT__)
__VUE_APP_CUSTOMER_PORTAL_URL__: $(__VUE_APP_CUSTOMER_PORTAL_URL__)
__VUE_APP_GOOGLE_PLACES_API_KEY__: $(__VUE_APP_GOOGLE_PLACES_API_KEY__)
__VUE_APP_SAFELITE_HOP__: $(__VUE_APP_SAFELITE_HOP__)
indexDeployVariables:
@ -91,13 +92,13 @@ stages:
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
__VUE_APP_GOOGLE_MAPS_API_SCRIPT__: $(__VUE_APP_GOOGLE_MAPS_API_SCRIPT__)
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
parameters:
parameters:
awsCliContainer: awscli
distributionId: $(cfDistributionId)
paths: /*
awsProfile: $(devDeploymentProfile)
# Test Build/Deploy
# Test Build/Deploy
- stage: Test
condition: eq(variables['Build.SourceBranch'], variables['test-branch'] )
variables:
@ -133,8 +134,9 @@ stages:
deployFolder: ""
region: us-east-2
appDeployVariables:
__VUE_APP_CONSUMER_CF_DISTRO__: $(__VUE_APP_CONSUMER_CF_DISTRO__)
__VUE_APP_CONSUMER_CF_DISTRO__: $(__VUE_APP_CONSUMER_CF_DISTRO__)
__VUE_APP_CURRENT_ENVIRONMENT__: $(__VUE_APP_CURRENT_ENVIRONMENT__)
__VUE_APP_CUSTOMER_PORTAL_URL__: $(__VUE_APP_CUSTOMER_PORTAL_URL__)
__VUE_APP_GOOGLE_PLACES_API_KEY__: $(__VUE_APP_GOOGLE_PLACES_API_KEY__)
__VUE_APP_SAFELITE_HOP__: $(__VUE_APP_SAFELITE_HOP__)
indexDeployVariables:
@ -142,12 +144,12 @@ stages:
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
__VUE_APP_GOOGLE_MAPS_API_SCRIPT__: $(__VUE_APP_GOOGLE_MAPS_API_SCRIPT__)
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
parameters:
parameters:
awsCliContainer: awscli
distributionId: $(cfDistributionId)
paths: /*
awsProfile: $(sysDeploymentProfile)
# QA Build/Deploy
- stage: QA
condition: eq(variables['Build.SourceBranch'], variables['qa-branch'] )
@ -186,6 +188,7 @@ stages:
appDeployVariables:
__VUE_APP_CONSUMER_CF_DISTRO__: $(__VUE_APP_CONSUMER_CF_DISTRO__)
__VUE_APP_CURRENT_ENVIRONMENT__: $(__VUE_APP_CURRENT_ENVIRONMENT__)
__VUE_APP_CUSTOMER_PORTAL_URL__: $(__VUE_APP_CUSTOMER_PORTAL_URL__)
__VUE_APP_GOOGLE_PLACES_API_KEY__: $(__VUE_APP_GOOGLE_PLACES_API_KEY__)
__VUE_APP_SAFELITE_HOP__: $(__VUE_APP_SAFELITE_HOP__)
indexDeployVariables:
@ -193,7 +196,7 @@ stages:
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
__VUE_APP_GOOGLE_MAPS_API_SCRIPT__: $(__VUE_APP_GOOGLE_MAPS_API_SCRIPT__)
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
parameters:
parameters:
awsCliContainer: awscli
distributionId: $(cfDistributionId)
paths: /*
@ -237,6 +240,7 @@ stages:
appDeployVariables:
__VUE_APP_CONSUMER_CF_DISTRO__: $(__VUE_APP_CONSUMER_CF_DISTRO__)
__VUE_APP_CURRENT_ENVIRONMENT__: $(__VUE_APP_CURRENT_ENVIRONMENT__)
__VUE_APP_CUSTOMER_PORTAL_URL__: $(__VUE_APP_CUSTOMER_PORTAL_URL__)
__VUE_APP_GOOGLE_PLACES_API_KEY__: $(__VUE_APP_GOOGLE_PLACES_API_KEY__)
__VUE_APP_SAFELITE_HOP__: $(__VUE_APP_SAFELITE_HOP__)
indexDeployVariables:
@ -244,7 +248,7 @@ stages:
__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__)
__VUE_APP_GOOGLE_MAPS_API_SCRIPT__: $(__VUE_APP_GOOGLE_MAPS_API_SCRIPT__)
- template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps
parameters:
parameters:
awsCliContainer: awscli
distributionId: $(cfDistributionId)
paths: /*
@ -255,4 +259,3 @@ stages:
userName: SafeliteAzureDevops
userEmail: githubazuredevops@safelite.com

View file

@ -6,6 +6,7 @@
const applicationConfig = Object.freeze({
CURRENT_ENVIRONMENT: process.env.VUE_APP_CURRENT_ENVIRONMENT, // "Localhost", "Dev", "QA", and "Prod"
CONSUMER_CF_DISTRO: process.env.VUE_APP_CONSUMER_CF_DISTRO,
CUSTOMER_PORTAL_URL: process.env.VUE_APP_CUSTOMER_PORTAL_URL,
ANALYTICS_SESSION_TIMEOUT_MINUTES: 30,
SAVED_SESSION_TIMEOUT_DAYS: 45,
COOKIE_PATH: '/',

View file

@ -42,13 +42,7 @@ function getMountedComponent(mainInitialState = {}, initialData = {}, propsData
describe('cart-dropdown component', () => {
test('initial data rendered as expected', () => {
// Arrange
const { wrapper } = getMountedComponent({
order: {
lineItems: {
supportingItems: []
}
}
});
const { wrapper } = getMountedComponent({});
// Assert
expect(wrapper.vm.$data).toMatchSnapshot();
@ -239,13 +233,9 @@ describe('cart-dropdown component', () => {
// Arrange
const storeData = {
order: {
payment: {
insuranceCoverage: {
coverageStatus: coverageStatuses.NO_COMP
}
},
policy: {
isITAC: isItac
isITAC: isItac,
noCoverage: true,
}
}
};
@ -285,13 +275,9 @@ describe('cart-dropdown component', () => {
// Arrange
const storeData = {
order: {
payment: {
insuranceCoverage: {
coverageStatus: coverageStatuses.PENDING
}
},
policy: {
isITAC: false
isITAC: false,
noCoverage: false
}
}
};
@ -309,13 +295,9 @@ describe('cart-dropdown component', () => {
// Arrange
const storeData = {
order: {
payment: {
insuranceCoverage: {
coverageStatus: coverageStatuses.NO_COMP
}
},
policy: {
isITAC: false
isITAC: false,
noCoverage: true,
},
currentDeductible: null
}
@ -378,13 +360,9 @@ describe('cart-dropdown component', () => {
// Arrange
const storeData = {
order: {
payment: {
insuranceCoverage: {
coverageStatus: coverageStatuses.VERIFIED
}
},
policy: {
isITAC: false
isITAC: false,
noCoverage: false
},
currentDeductible: null
}
@ -526,13 +504,9 @@ describe('cart-dropdown component', () => {
// Arrange
const storeData = {
order: {
payment: {
insuranceCoverage: {
coverageStatus: coverageStatuses.NO_COMP
}
},
policy: {
isITAC: false
isITAC: false,
noCoverage: true
},
currentDeductible: 321
}
@ -579,7 +553,7 @@ describe('cart-dropdown component', () => {
test('Shows recycle fee when preset in supported items', () => {
// Arrange
const reference = '#recycle-fee-item';
const {wrapper} = getMountedComponent({
const { wrapper } = getMountedComponent({
order: {
lineItems: {
supportingItems: [{
@ -599,7 +573,7 @@ describe('cart-dropdown component', () => {
test('Hides recycle fee when not in supported items', () => {
// Arrange
const reference = '#recycle-fee-item';
const {wrapper} = getMountedComponent({
const { wrapper } = getMountedComponent({
order: {
lineItems: {
supportingItems: []

View file

@ -340,7 +340,6 @@ export default {
? VERIFYING_COVERAGE
: formatAmountInDollars(amount);
},
formatAmountInDollars,
getCartItem(label, lineItems) {
let cartItem = null;
@ -368,7 +367,8 @@ export default {
const vapsTypeName = vapsItemDescriptions.find((entry) => entry.Name === vapsType);
return vapsTypeName.Text;
}
},
formatAmountInDollars
}
};

View file

@ -47,6 +47,9 @@
v-html="appointmentWordingText2">
</div>
</div>
<div
class="email-confirmation-text"
v-html="confirmationEmailText" />
<siteFooter
v-if="carrierUrl"
ref="siteFooter"
@ -78,6 +81,7 @@ import { get12HourTimeFormat,
getDisplayTextForDurationLength } from '@/helpers/date-helper.js';
import { toTitleCase } from '@/helpers/text-helper.js';
import { AppointmentTypeStrings } from '@/constants/schedule-constants';
import applicationConfig from '@/constants/application-config';
export default {
name: 'order-confirmation',
@ -118,6 +122,13 @@ export default {
carrierUrl() {
return this.mainStore.issConfig.successReturnURL;
},
confirmationEmailText() {
return this.getCmsContent('EmailConfirmationWordingWidget', 'BodyText')
?.replaceAll('{custom:CUSTOMER_PORTAL_URL}', applicationConfig.CUSTOMER_PORTAL_URL)
?.replaceAll('{custom:CUSTOMER_PORTAL_LOGIN_TOKEN}', this.submittedOrder.customerPortalLoginToken)
?.replaceAll('&lt;', '<')
?.replaceAll('&gt;', '>');
},
orderConfirmationHeaderText() {
return this.getCmsContent('OrderConfirmationContent', 'HeaderText');
},
@ -338,4 +349,11 @@ $page-side-padding: 1.5rem;
color: $black;
}
}
.email-confirmation-text {
:deep(a) {
font-weight: $font-weight-bold;
text-decoration: none;
}
}
</style>

View file

@ -514,11 +514,11 @@ export default {
computed: {
payInAdvanceResponseUrl() {
const { protocol, host } = window.location;
return `${protocol}//${host}/?issPage=${issPageValues.PAYMENT_RETURN}&src=concept-funnel`;
return `${protocol}//${host}/?issPage=${issPageValues.PAYMENT_RETURN}&src=iss-nextgen`;
},
payInAdvanceCancelUrl() {
const { protocol, host } = window.location;
return `${protocol}//${host}/?issPage=${issPageValues.PAYMENT_METHOD}&src=concept-funnel`;
return `${protocol}//${host}/?issPage=${issPageValues.PAYMENT_METHOD}&src=iss-nextgen`;
},
dynamicCSSUrl() {
const { protocol, hostname, port } = window.location;

View file

@ -343,7 +343,10 @@ export default {
let provider = this.selectedProvider;
this.mainStore.updateMobileFee(null);
if (this.isMobileLocationDisplayed) {
this.mainStore.updateMobileFee(this.mobileFeePart);
if (this.mainStore.isNoComp || this.mainStore.isITAC) {
this.mainStore.updateMobileFee(this.mobileFeePart);
}
provider = {
providerNumber: this.mobileProviderNumber,
address: {

View file

@ -144,7 +144,7 @@ export default {
const lastSixChars = this.vin.substring(11, this.vin.length);
return `!X!X!X!X!X!X!X!X!X!X!X${lastSixChars}`;
}
return 'XXXXXXXXXXXXXXXXX';
return '*****************';
},
carIdIsValid() {
return this.hasValidCarId();

View file

@ -78,7 +78,7 @@ export default {
});
},
getAmountDue(lineItems) {
if (!useMainStore().isNoComp && !useMainStore().policy.isITAC) {
if (!useMainStore().isNoComp && !useMainStore().isITAC) {
return useMainStore().order.currentDeductible;
}

View file

@ -21,6 +21,7 @@ import {
noCoverageForSelectedVehicle,
repairWaivedForSelectedVehicle
} from '@/helpers/policy-vehicle-helper';
import partTypeStrings from '@/constants/part-type-strings';
const storeId = 'main';
@ -197,6 +198,7 @@ const getDefaultState = () => ({
referralSequenceNumber: null,
eon: null,
workOrderNumber: null,
customerPortalLoginToken: null,
originalDeductible: null,
currentDeductible: null,
carrierPhoneNumber: null,
@ -259,7 +261,8 @@ export const useMainStore = defineStore({
isClaimRegistrationRequired: (state) => state.issConfig.isClaimRegistrationRequired,
isClaimAlreadyRegistered: (state) => state.order.payment.insuranceCoverage.claimNumber !== null,
isBailout: (state) => state.applicationUser.pageData[issPageValues.BAILOUT_PAGE] != null,
isNoComp: (state) => state.order.payment.insuranceCoverage.coverageStatus === coverageStatuses.NO_COMP,
isNoComp: (state) => !!state.order.policy.noCoverage,
isITAC: (state) => !!state.order.policy.isITAC,
isVerifiedCoverageStatus: (state) => state.order.payment.insuranceCoverage.coverageStatus === coverageStatuses.VERIFIED,
eventBusItem: (state) => (eventCategory, eventSubCategory) => {
const matchedEvent = state.applicationUser.eventBus.find(({ category, subCategory }) => category === eventCategory && subCategory === eventSubCategory);
@ -1142,6 +1145,7 @@ export const useMainStore = defineStore({
this.order.referralCorrelationId = response.referralCorrelationId;
this.order.eon = response.eon;
this.order.workOrderNumber = response.workOrderNumber;
this.order.customerPortalLoginToken = response.customerPortalLoginToken;
this.applicationUser.savedSessionId = response.savedSessionId;
this.applicationUser.crmCustomerId = response.crmCustomerId.toString();
},
@ -1531,7 +1535,17 @@ export const useMainStore = defineStore({
},
updateSupportingItems(partsData) {
this.order.lineItems.supportingItems = partsData;
if (partsData == null) {
this.order.lineItems.supportingItems = null;
return;
}
let parts = partsData;
if (!this.isNoComp && !this.isITAC) {
parts = parts.filter((i) => i.partNumber !== partTypeStrings.RECYCLE_FEE);
}
this.order.lineItems.supportingItems = parts;
},
updateVaps(partsData) {

View file

@ -1,6 +1,7 @@
/* eslint-disable max-len */
process.env.VUE_APP_CONSUMER_CF_DISTRO = 'https://digitalapi.dev.safelite.io';
process.env.VUE_APP_CURRENT_ENVIRONMENT = 'Localhost';
process.env.VUE_APP_CUSTOMER_PORTAL_URL = 'https://myaccountdev.safelite.com/';
process.env.VUE_APP_GOOGLE_PLACES_API_KEY = 'AIzaSyCuLhQcDdZTTb4JzpUFms1OCch2dk5lHF0';
process.env.VUE_APP_SAFELITE_HOP = 'https://iss-hop-sys.glassclaim.com/fmgCheckoutEmbedded.aspx';

View file

@ -1,5 +1,6 @@
process.env.VUE_APP_CONSUMER_CF_DISTRO = "__VUE_APP_CONSUMER_CF_DISTRO__";
process.env.VUE_APP_CURRENT_ENVIRONMENT = "__VUE_APP_CURRENT_ENVIRONMENT__";
process.env.VUE_APP_CUSTOMER_PORTAL_URL = '__VUE_APP_CUSTOMER_PORTAL_URL__';
process.env.VUE_APP_GOOGLE_PLACES_API_KEY = "__VUE_APP_GOOGLE_PLACES_API_KEY__";
process.env.VUE_APP_SAFELITE_HOP = "__VUE_APP_SAFELITE_HOP__";
@ -24,7 +25,7 @@ module.exports = {
`,
},
},
},
},
configureWebpack: {
devtool: 'source-map'
},