import {mount} from '@vue/test-utils';

import {describe, expect, it} from 'vitest';

import AiPromptInput from './AiPromptInput.vue';

describe('AiPromptInput', () => {
  it('emits send when loading is false', async () => {
    const wrapper = mount(AiPromptInput, {
      props: {
        loading: false,
      },
    });

    await wrapper.find('textarea').setValue('你好');
    await wrapper.find('[aria-label="发送"]').trigger('click');

    expect(wrapper.emitted('send')?.[0]?.[0]).toBe('你好');
  });

  it('emits stop when loading is true', async () => {
    const wrapper = mount(AiPromptInput, {
      props: {
        loading: true,
      },
    });

    expect(wrapper.find('[aria-label="中止"]').exists()).toBe(true);
    await wrapper.find('[aria-label="中止"]').trigger('click');

    expect(wrapper.emitted('stop')).toBeTruthy();
  });
});
