import { flushPromises, mount } from '@vue/test-utils'; import { VBtn, VIcon, VSnackbar } from 'vuetify/components'; import AnnotationDeleteSnackbar from '@/components/navigation/annotation/AnnotationDeleteSnackbar.vue'; import { DataOverlayPolygonFaker } from '@test/fakers/data-overlay-polygon.faker'; describe('AnnotationDeleteSnackbar tests', () => { it('should mount', async () => { const wrapper = mount(AnnotationDeleteSnackbar, { props: { measurement: DataOverlayPolygonFaker.random(), }, }); await flushPromises(); expect(wrapper).toBeTruthy(); }); it('should open AnnotationDeleteSnackbar', async () => { const wrapper = mount(AnnotationDeleteSnackbar, { props: { measurement: DataOverlayPolygonFaker.random(), }, }); const snack = wrapper.findComponent(VSnackbar); await snack.setValue(true); expect(snack.isVisible()).toBe(true); }); it('should close AnnotationDeleteSnackbar', async () => { const wrapper = mount(AnnotationDeleteSnackbar, { props: { measurement: DataOverlayPolygonFaker.random(), }, }); const snack = wrapper.findComponent(VSnackbar); await snack.setValue(true); expect(snack.isVisible()).toBe(true); const vbtn = snack.findComponent(VBtn); await vbtn.trigger('click'); expect(snack.vm.modelValue).toBe(false); }); it('should close AnnotationDeleteSnackbar', async () => { const wrapper = mount(AnnotationDeleteSnackbar, { props: { measurement: DataOverlayPolygonFaker.random(), }, }); const snack = wrapper.findComponent(VSnackbar); await snack.setValue(true); expect(snack.isVisible()).toBe(true); const vbtn = snack.findAllComponents(VIcon)[1]; await vbtn.trigger('click'); expect(snack.vm.modelValue).toBe(false); }); });