Files
portal/app/tests/Frontend/HelpView.spec.ts
T
Дмитрий 7d506bb0ec feat/help: страница FAQ Частые вопросы в разделе Помощь Фаза 2
10 вопросов-ответов простым языком над контактами — самопомощь новичка до обращения
в поддержку (что такое заявка, как пополнить, почему списали, что значит хватит на N дней,
почему пауза и т.д.). Тексты статически в коде. Контакт и форма обращения сохранены.
Тест HelpView 3/3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 12:25:04 +03:00

42 lines
1.7 KiB
TypeScript

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