import { mount } from '@vue/test-utils'; import Carousel from './Carousel.vue'; describe('Carousel.vue', () => { it('should exist', async () => { const wrapper = mount(Carousel, { props: { value: [ { "id": "1000", "code": "vbb124btr", "name": "Game Controller", "description": "Product Description", "image": "game-controller.jpg", "price": 99, "category": "Electronics", "quantity": 2, "inventoryStatus": "LOWSTOCK", "rating": 4 }, { "id": "1001", "code": "nvklal433", "name": "Black Watch", "description": "Product Description", "image": "black-watch.jpg", "price": 72, "category": "Accessories", "quantity": 61, "inventoryStatus": "INSTOCK", "rating": 4 }, { "id": "1002", "code": "zz21cz3c1", "name": "Blue Band", "description": "Product Description", "image": "blue-band.jpg", "price": 79, "category": "Fitness", "quantity": 2, "inventoryStatus": "LOWSTOCK", "rating": 3 }, { "id": "1003", "code": "244wgerg2", "name": "Blue T-Shirt", "description": "Product Description", "image": "blue-t-shirt.jpg", "price": 29, "category": "Clothing", "quantity": 25, "inventoryStatus": "INSTOCK", "rating": 5 } ] }, slots: { header: 'Basic', item: ` ` } }); expect(wrapper.findAll('.p-carousel-item').length).toBe(4); const firstItem = wrapper.findAll('.p-carousel-item')[0]; expect(firstItem.classes()).toContain('p-carousel-item-active'); const nextBtn = wrapper.find('.p-carousel-next'); await nextBtn.trigger('click'); expect(firstItem.classes()).not.toContain('p-carousel-item-active'); }) });