import { describe, it, expect, vi, beforeEach } from 'vitest';
import { mount } from '@vue/test-utils';
import { createPinia, setActivePinia } from 'pinia';
import { createVuetify } from 'vuetify';
import HelpView from '../../resources/js/views/HelpView.vue';

vi.mock('../../resources/js/api/support');

const vuetify = createVuetify();

describe('HelpView.vue', () => {
    beforeEach(() => {
        setActivePinia(createPinia());
    });

    const factory = () =>
        mount(HelpView, {
            global: { plugins: [vuetify, createPinia()] },
        });

    // Фаза 2 (UX-аудит 25.06): на «Помощи» есть FAQ — самопомощь до обращения.
    it('показывает блок «Частые вопросы» с вопросами', () => {
        const w = factory();
        const text = w.text();
        expect(text).toContain('Частые вопросы');
        expect(text).toContain('Что такое «заявка»');
        expect(text).toContain('Как пополнить баланс?');
        expect(text).toContain('Почему приём заявок «на паузе»?');
    });

    it('FAQ-панелей столько же, сколько вопросов (10)', () => {
        const w = factory();
        expect(w.findAll('[data-testid="faq-panels"] .v-expansion-panel').length).toBe(10);
    });

    it('сохраняет контакт поддержки и форму обращения', () => {
        const w = factory();
        expect(w.find('[data-testid="support-email"]').exists()).toBe(true);
        expect(w.find('[data-testid="support-submit"]').exists()).toBe(true);
    });
});
