Merge pull request #1066 from Safelite/feature/digital/INSR-2208
INSR-2208 Only show big truck providers
This commit is contained in:
commit
ab2a352ac8
7 changed files with 36 additions and 38 deletions
|
|
@ -81,7 +81,16 @@ const endpoints = Object.freeze({
|
|||
method: 'POST'
|
||||
},
|
||||
GetProviders: {
|
||||
url: `${LOCATION_BASE_URL}/providers`,
|
||||
url: (
|
||||
zipCode,
|
||||
damageType,
|
||||
radius,
|
||||
parentAccountNumber,
|
||||
safeliteOnly,
|
||||
carId,
|
||||
recalPartNumber,
|
||||
isBigTruck
|
||||
) => `${LOCATION_BASE_URL}/providers/${zipCode}/${damageType}/${radius}/${parentAccountNumber}/${safeliteOnly}/${carId}/${recalPartNumber != null ? `${recalPartNumber}/` : ''}${isBigTruck}`,
|
||||
method: 'GET'
|
||||
},
|
||||
GetCapabilityQuestions: {
|
||||
|
|
|
|||
|
|
@ -237,7 +237,7 @@ export default {
|
|||
const mobileFeePartPromise = getPricedMobileFeePart(serviceZipCode);
|
||||
const serviceabilityDetailsPromise = getServiceabilityDetails(serviceZipCode);
|
||||
const getGlassFeesPromise = useMainStore().getGlassFees();
|
||||
const providersPromise = useMainStore().getProviders(serviceZipCode);
|
||||
const providersPromise = useMainStore().getSafeliteProviders(serviceZipCode);
|
||||
|
||||
const premiumFeePromise = useMainStore().getMobilePremiumFee();
|
||||
const premiumFeeWithPricePromise = premiumFeePromise.then((result) => {
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ function setupMocks({ appointmentType = AppointmentTypeStrings.IN_SHOP }) {
|
|||
}
|
||||
}
|
||||
})];
|
||||
useMainStore().getProviders = jest.fn().mockImplementation(() => mockProviders());
|
||||
useMainStore().getSafeliteProviders = jest.fn().mockImplementation(() => mockProviders());
|
||||
const wrapper = mount(serviceLocation, mountOptions);
|
||||
|
||||
wrapper.vm.$router.navigateWithSpinner = jest.fn();
|
||||
|
|
|
|||
|
|
@ -557,7 +557,7 @@ export default {
|
|||
}
|
||||
});
|
||||
|
||||
const providersPromise = useMainStore().getProviders(this.mobileZipCode);
|
||||
const providersPromise = useMainStore().getSafeliteProviders(this.mobileZipCode);
|
||||
await providersPromise.then((result) => {
|
||||
const providers = result.data;
|
||||
if (providers) {
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ export default {
|
|||
}
|
||||
},
|
||||
async getNearbyShops(radiusInMiles) {
|
||||
const result = await useMainStore().getProviders(this.internalZipcode, radiusInMiles);
|
||||
const result = await useMainStore().getSafeliteProviders(this.internalZipcode, radiusInMiles);
|
||||
return result.data.shopProviders;
|
||||
},
|
||||
getFullProviderAddress(provider) {
|
||||
|
|
|
|||
|
|
@ -1029,46 +1029,35 @@ export const useMainStore = defineStore({
|
|||
});
|
||||
},
|
||||
|
||||
getProviders(serviceZipCode, shopRadiusInMiles = 100) {
|
||||
const { carId, isBigTruck } = this.order.vehicle;
|
||||
const damageType = this.damage.isRepair ? 'Repair' : 'Replace';
|
||||
const { parentAccountNumber } = this.order;
|
||||
const partsWithRecal = getTopLevelGlassPartsWithRecal(this.order.lineItems.glassParts);
|
||||
const windshieldPartWithRecal = partsWithRecal?.length > 0 ? partsWithRecal[0] : null;
|
||||
const safeliteOnly = true;
|
||||
|
||||
let url = `${endpoints.GetProviders.url}/${serviceZipCode}/${damageType}/${shopRadiusInMiles}/${parentAccountNumber}/${safeliteOnly}/${carId}`;
|
||||
if (windshieldPartWithRecal) {
|
||||
url += `/${windshieldPartWithRecal.partNumber}`;
|
||||
}
|
||||
url += `/${isBigTruck}`;
|
||||
return globalMethods.callHttpClient({
|
||||
method: endpoints.GetProviders.method,
|
||||
endpoint: url
|
||||
});
|
||||
getSafeliteProviders(zipCode, radius = 100) {
|
||||
return this.getProviders(zipCode, radius, true)
|
||||
},
|
||||
|
||||
getTpaProviders(zipCode, radius) {
|
||||
return this.getProviders(zipCode, radius, false)
|
||||
},
|
||||
|
||||
getProviders(zipcode, radius, safeliteOnly) {
|
||||
const { carId, isBigTruck } = this.order.vehicle;
|
||||
const damageType = this.damage.isRepair ? 'Repair' : 'Replace';
|
||||
const { parentAccountNumber } = this.order;
|
||||
const partsWithRecal = getTopLevelGlassPartsWithRecal(this.order.lineItems.glassParts);
|
||||
const windshieldPartWithRecal = partsWithRecal?.length > 0 ? partsWithRecal[0] : null;
|
||||
const safeliteOnly = false;
|
||||
|
||||
let url = `${endpoints.GetProviders.url}/${zipCode}/${damageType}/${radius}/${parentAccountNumber}/${safeliteOnly}/${carId}`;
|
||||
if (windshieldPartWithRecal) {
|
||||
url += `/${windshieldPartWithRecal.partNumber}`;
|
||||
}
|
||||
url += `/${isBigTruck}`;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
globalMethods.callHttpClient({
|
||||
method: endpoints.GetProviders.method,
|
||||
endpoint: url
|
||||
}).then((response) => resolve(response), (error) => reject(error));
|
||||
return globalMethods.callHttpClient({
|
||||
method: endpoints.GetProviders.method,
|
||||
endpoint: endpoints.GetProviders.url(
|
||||
zipcode,
|
||||
damageType,
|
||||
radius,
|
||||
parentAccountNumber,
|
||||
safeliteOnly,
|
||||
carId,
|
||||
windshieldPartWithRecal?.partNumber,
|
||||
isBigTruck
|
||||
)
|
||||
});
|
||||
},
|
||||
|
||||
getCarrierAccountInfo() {
|
||||
return new Promise((resolve, reject) => {
|
||||
globalMethods.callHttpClient({
|
||||
|
|
|
|||
|
|
@ -1983,16 +1983,16 @@ describe('Store', () => {
|
|||
const radius = getRandomInt(5, 100);
|
||||
const isBigTruck = false;
|
||||
store.order.vehicle.isBigTruck = isBigTruck;
|
||||
const expectedEndpoint = [
|
||||
endpoints.GetProviders.url,
|
||||
const expectedEndpoint = endpoints.GetProviders.url(
|
||||
zipCode,
|
||||
damageType,
|
||||
radius,
|
||||
parentAccountNumber,
|
||||
'false',
|
||||
carId,
|
||||
null,
|
||||
isBigTruck
|
||||
].join('/');
|
||||
);
|
||||
|
||||
// Act
|
||||
await store.getTpaProviders(zipCode, radius);
|
||||
|
|
|
|||
Loading…
Reference in a new issue