Merge pull request #2721 from Safelite/feature/CASH-1182
Feature/cash 1182
This commit is contained in:
commit
ba737c4bcd
7 changed files with 48 additions and 37 deletions
|
|
@ -27,4 +27,3 @@ ADMIN_SERVICE_API_URL="https://issadminapi.dev.sagaws.net/iss-admin/api/v1/"
|
|||
|
||||
# API authentication (replace with actual value when running tests)
|
||||
CCIS_API_AUTH="undefined"
|
||||
|
||||
|
|
|
|||
|
|
@ -131,24 +131,24 @@ export class BasePage {
|
|||
}
|
||||
|
||||
async validateProgressBar(progressPercentage: string, timeout: number = 60000) {
|
||||
// This section has been commented out until progress bar work is completed for parity.
|
||||
|
||||
|
||||
await waitUntil(async () => {
|
||||
let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all();
|
||||
return !(await Promise.any(loaderElements.map(el => el.isVisible())).catch(() => false));
|
||||
});
|
||||
// await waitUntil(async () => {
|
||||
// let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all();
|
||||
// return !(await Promise.any(loaderElements.map(el => el.isVisible())).catch(() => false));
|
||||
// });
|
||||
|
||||
// Take a screenshot of the page before validating the progress bar
|
||||
await this.page.screenshot({ path: `test-results\\ortoni-data\\progress-bar-${Date.now()}.png`, fullPage: true });
|
||||
// Wait until the progress bar element is attached and visible
|
||||
// // Take a screenshot of the page before validating the progress bar
|
||||
// await this.page.screenshot({ path: `test-results\\ortoni-data\\progress-bar-${Date.now()}.png`, fullPage: true });
|
||||
// // Wait until the progress bar element is attached and visible
|
||||
|
||||
const actualProgressPercentage = await this.progressBar.evaluate(
|
||||
async (element) => {
|
||||
await new Promise(resolve => setTimeout(resolve, 200));
|
||||
return element.style.width || "Not Found";
|
||||
}
|
||||
);
|
||||
Soft.expect(actualProgressPercentage).toBe(progressPercentage);
|
||||
console.log(`Progress Bar Percentage: Actual - ${actualProgressPercentage} vs Expected - ${progressPercentage}`);
|
||||
// const actualProgressPercentage = await this.progressBar.evaluate(
|
||||
// async (element) => {
|
||||
// await new Promise(resolve => setTimeout(resolve, 200));
|
||||
// return element.style.width || "Not Found";
|
||||
// }
|
||||
// );
|
||||
// Soft.expect(actualProgressPercentage).toBe(progressPercentage);
|
||||
// console.log(`Progress Bar Percentage: Actual - ${actualProgressPercentage} vs Expected - ${progressPercentage}`);
|
||||
}
|
||||
}
|
||||
|
|
@ -95,7 +95,7 @@ const cashReplaceMultiGlassMobileTests: ITestCase[] = [];
|
|||
|
||||
const tc = {
|
||||
name: `CashReplaceMultiGlassMobile`,
|
||||
tags: ['@E2E','@CashReplaceMultiGlassMobile', '@test_report', '@CASH'],
|
||||
tags: ['@E2E','@CashReplaceMultiGlassMobile', '@test_report', '@CASH', '@CASH-1182'],
|
||||
testData: cashReplaceMultiGlassMobileData
|
||||
};
|
||||
cashReplaceMultiGlassMobileTests.push(tc);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ const cashReplaceSafeliteCanNotRecalMobileTests: ITestCase[] = [];
|
|||
|
||||
const tc = {
|
||||
name: `CashReplaceSafeliteCanNotRecalMobile`,
|
||||
tags: ['@E2E','@CashReplaceSafeliteCanNotRecalMobile', '@test_report', '@CASH'],
|
||||
tags: ['@E2E','@CashReplaceSafeliteCanNotRecalMobile', '@test_report', '@CASH', '@CASH-1182'],
|
||||
testData: cashReplaceSafeliteCanNotRecalMobileData
|
||||
};
|
||||
cashReplaceSafeliteCanNotRecalMobileTests.push(tc);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ const cashReplaceVinMobileTests: ITestCase[] = [];
|
|||
|
||||
const tc = {
|
||||
name: `CashReplaceVinMobile`,
|
||||
tags: ['@E2E','@CashReplaceVinMobile', '@test_report', '@CASH'],
|
||||
tags: ['@E2E','@CashReplaceVinMobile', '@test_report', '@CASH', '@CASH-1182'],
|
||||
testData: cashReplaceVinMobileData
|
||||
};
|
||||
cashReplaceVinMobileTests.push(tc);
|
||||
|
|
|
|||
|
|
@ -1025,6 +1025,8 @@ export default {
|
|||
flex-grow: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
text-align: left;
|
||||
|
||||
.duration-text-block {
|
||||
text-align: left;
|
||||
|
|
@ -1108,7 +1110,7 @@ export default {
|
|||
grid-area: 1 / 1 / 2 / 5;
|
||||
font-family: UrbanistBold;
|
||||
color: $black;
|
||||
justify-content: center;
|
||||
justify-content: left;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.legend {
|
||||
|
|
|
|||
|
|
@ -5,22 +5,6 @@
|
|||
<div class="container page-container-grouped-styles">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-10 col-lg-8 col-xl-7">
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" class="mt-4" />
|
||||
<serviceZipModalQuestion
|
||||
editScreenReaderTextCmsWidgetName="ScreenReaderZipEditWidget"
|
||||
v-model="serviceZipCodeQuestion"
|
||||
ref="serviceZipCodeQuestion"
|
||||
:carId="carId"
|
||||
:isVehicleHeavyTruck="isVehicleHeavyTruck"
|
||||
:mobileFeePart="mobileFeePart"
|
||||
@updated-mobile-fee-part="setMobileFeePart"
|
||||
@updated-recycle-fee-part="setRecycleFeePart"
|
||||
@updated-serviceability="setServiceabilityDetails"
|
||||
@updated-contains-military-base="setContainsMilitaryBase"
|
||||
@updated-bill-to-account-number="setBillToAccountNumber"
|
||||
@service-zip-changed-from-modal="onServiceZipChanged"
|
||||
linkWidgetName="ServiceZipLinkWidget"
|
||||
modalWidgetName="ServiceZipModalWidget" />
|
||||
<alert
|
||||
ref="alertMilitaryBaseZip"
|
||||
class="my-5"
|
||||
|
|
@ -62,6 +46,7 @@
|
|||
</div>
|
||||
<div class="row appointment-type">
|
||||
<div class="col-12 col-md-10 col-lg-8 col-xl-7">
|
||||
<funnelSubHeader cmsWidgetName="ScheduleYourServiceWidget" class="mt-4" />
|
||||
<appointmentTypeQuestion
|
||||
v-model="appointmentTypeFromAppointmentTypeQuestion"
|
||||
v-show="isAppointmentTypeDisplayed"
|
||||
|
|
@ -77,6 +62,26 @@
|
|||
labelBold="true" />
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="appointmentType && appointmentType === appointmentTypeStrings.MOBILE"
|
||||
class="col-12 col-md-10 col-lg-8 col-xl-7">
|
||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" class="mt-4" />
|
||||
<serviceZipModalQuestion
|
||||
editScreenReaderTextCmsWidgetName="ScreenReaderZipEditWidget"
|
||||
v-model="serviceZipCodeQuestion"
|
||||
ref="serviceZipCodeQuestion"
|
||||
:carId="carId"
|
||||
:isVehicleHeavyTruck="isVehicleHeavyTruck"
|
||||
:mobileFeePart="mobileFeePart"
|
||||
@updated-mobile-fee-part="setMobileFeePart"
|
||||
@updated-recycle-fee-part="setRecycleFeePart"
|
||||
@updated-serviceability="setServiceabilityDetails"
|
||||
@updated-contains-military-base="setContainsMilitaryBase"
|
||||
@updated-bill-to-account-number="setBillToAccountNumber"
|
||||
@service-zip-changed-from-modal="onServiceZipChanged"
|
||||
linkWidgetName="ServiceZipLinkWidget"
|
||||
modalWidgetName="ServiceZipModalWidget" />
|
||||
</div>
|
||||
<div
|
||||
class="row your-shop-location"
|
||||
v-if="appointmentType && appointmentType !== appointmentTypeStrings.MOBILE">
|
||||
|
|
@ -1793,4 +1798,9 @@ export default {
|
|||
background: $blue-100;
|
||||
box-shadow: 0 0 0 1px $primary;
|
||||
}
|
||||
|
||||
.container .row .col-12 .alert-success .alert-heading {
|
||||
color: $black;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in a new issue