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