CSR-120: add vehicleBanner component
This commit is contained in:
parent
6cb0bdee23
commit
120abf57ab
4 changed files with 104 additions and 0 deletions
BIN
src/assets/img/blurrycar.png
Normal file
BIN
src/assets/img/blurrycar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
41
src/commonComponents/vehicleBanner/vehicleBanner.spec.js
Normal file
41
src/commonComponents/vehicleBanner/vehicleBanner.spec.js
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { mount } from '@vue/test-utils';
|
||||
import vehicleBanner from './vehicleBanner';
|
||||
|
||||
describe('vehicleBanner with no props', () => {
|
||||
|
||||
const wrapper = mount(vehicleBanner, {
|
||||
propsData: {}
|
||||
});
|
||||
|
||||
it('renders the blurrycar image', () => {
|
||||
expect(wrapper.find('img').attributes('class')).toContain('blurrycar');
|
||||
})
|
||||
});
|
||||
|
||||
describe('vehicleBanner with isBlurred true', () => {
|
||||
|
||||
const wrapper = mount(vehicleBanner, {
|
||||
propsData: {
|
||||
isBlurred: true,
|
||||
carId: "00test"
|
||||
}
|
||||
});
|
||||
|
||||
it('renders the blurrycar image', () => {
|
||||
expect(wrapper.find('img').attributes('class')).toContain('blurrycar');
|
||||
})
|
||||
});
|
||||
|
||||
describe('vehicleBanner with valid src image', () => {
|
||||
|
||||
const wrapper = mount(vehicleBanner, {
|
||||
propsData: {
|
||||
carId: "00test"
|
||||
}
|
||||
});
|
||||
|
||||
it('does not render the blurry image', () => {
|
||||
expect(wrapper.find('img').attributes('class')).not.toContain('blurrycar');
|
||||
})
|
||||
});
|
||||
|
||||
41
src/commonComponents/vehicleBanner/vehicleBanner.vue
Normal file
41
src/commonComponents/vehicleBanner/vehicleBanner.vue
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<template>
|
||||
<div class="vehicle_banner mb-3">
|
||||
<img
|
||||
class="vehicle-image img-fluid"
|
||||
:class="carId"
|
||||
:src="imgSrc"
|
||||
v-if="!isBlurred && imgSrc"
|
||||
/>
|
||||
<img
|
||||
class="vehicle-image img-fluid blurrycar"
|
||||
src='@/assets/img/blurrycar.png'
|
||||
v-else
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mockEvoxCall } from "@/global-methods";
|
||||
|
||||
export default {
|
||||
name: "vehicle-banner",
|
||||
props: {
|
||||
isBlurred: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
carId: String
|
||||
},
|
||||
computed: {
|
||||
imgSrc: function () {
|
||||
return mockEvoxCall(this.carId);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.vehicle-image {
|
||||
max-width: 290px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -30,3 +30,25 @@ export default {
|
|||
});
|
||||
},
|
||||
};
|
||||
|
||||
export function mockEvoxCall(carId) {
|
||||
// console.log('running mockEvoxCall...');
|
||||
if (carId) {
|
||||
return "https://s3.amazonaws.com/safelite-lab-vehicle-images/Evox/8963_cc0320_032_UG_white_2014_Ford_Focus_18029225538399034889.jpg"
|
||||
// "https://s7g10.scene7.com/is/image/maserati/maserati/international/Models/default/2022/ghibli/gh_front.png?$600x2000$&fmt=png-alpha&fit=constrain";
|
||||
}
|
||||
};
|
||||
|
||||
export function mockGetCarId(vin, ymmsObj) {
|
||||
// console.log('running mockGetCardId...');
|
||||
if (vin) {
|
||||
// TODO make API call with vin here
|
||||
return "owuetr98";
|
||||
}
|
||||
if (ymmsObj) {
|
||||
// TODO make API call with yearMakeModelStyle object here
|
||||
console.log('ymmsObj: ', ymmsObj)
|
||||
return "fhgmsg";
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue