Files
portal/app/tests/Frontend/HelpView.spec.ts
T

42 lines
1.7 KiB
TypeScript
Raw Normal View History

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);
});
});