// The Lucia project. // Copyright 2026-2026 DSP, inc. All rights reserved. // Authors: // imacat.yang@dsp.im (imacat), 2026/03/05 import { describe, it, expect } from 'vitest'; import { mount } from '@vue/test-utils'; import IconChecked from '@/components/icons/IconChecked.vue'; describe('IconChecked', () => { it('shows gray frame when not checked', () => { const wrapper = mount(IconChecked, { props: { isChecked: false }, }); const imgs = wrapper.findAll('img[alt="checkbox"]'); // When not checked: gray frame visible, blue frame hidden, check mark hidden expect(imgs.length).toBe(1); }); it('shows blue frame and check mark when checked', () => { const wrapper = mount(IconChecked, { props: { isChecked: true }, }); const imgs = wrapper.findAll('img[alt="checkbox"]'); // When checked: blue frame + check mark visible (2 imgs), gray frame hidden expect(imgs.length).toBe(2); }); it('updates rendering when isChecked prop changes', async () => { const wrapper = mount(IconChecked, { props: { isChecked: false }, }); expect(wrapper.findAll('img[alt="checkbox"]').length).toBe(1); await wrapper.setProps({ isChecked: true }); expect(wrapper.findAll('img[alt="checkbox"]').length).toBe(2); }); });