import { describe, it, expect, vi } from 'vitest' import { useCancelPromotion } from '../use-cancel-promotion' // Mock the usePromotion composable vi.mock('#lib/composables', () => { return { usePromotion: () => ({ onCancelPromotion: vi.fn(), }), } }) describe('useCancelPromotion', () => { it('should initialize modals as closed', () => { const { isOpenCancelPromotionModal, isOpenConfirmCancelPromotionModal } = useCancelPromotion() expect(isOpenCancelPromotionModal.value).toBe(false) expect(isOpenConfirmCancelPromotionModal.value).toBe(false) }) it('should open the cancel promotion modal and close the confirm cancel promotion modal', () => { const { openModalCancelPromotion, isOpenCancelPromotionModal, isOpenConfirmCancelPromotionModal, } = useCancelPromotion() openModalCancelPromotion() expect(isOpenCancelPromotionModal.value).toBe(true) expect(isOpenConfirmCancelPromotionModal.value).toBe(false) }) it('should open the confirm cancel promotion modal and close the cancel promotion modal', () => { const { openModalConfirmCancelPromotion, isOpenCancelPromotionModal, isOpenConfirmCancelPromotionModal, } = useCancelPromotion() openModalConfirmCancelPromotion() expect(isOpenCancelPromotionModal.value).toBe(false) expect(isOpenConfirmCancelPromotionModal.value).toBe(true) }) it('should call onCancelPromotion when the composable is used', () => { const { onCancelPromotion } = useCancelPromotion() onCancelPromotion() expect(onCancelPromotion).toHaveBeenCalled() }) })