Fix TypeScript typecheck errors
This commit is contained in:
@@ -2,6 +2,8 @@ import React from 'react';
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import { act, render, screen } from '@testing-library/react';
|
||||
import { MemoryRouter } from 'react-router-dom';
|
||||
import type { EventContextValue } from '../../../context/EventContext';
|
||||
import type { TenantEvent } from '../../../api';
|
||||
|
||||
vi.mock('react-i18next', () => ({
|
||||
useTranslation: () => ({ t: (key: string, fallback?: string) => fallback ?? key, i18n: { language: 'en-GB' } }),
|
||||
@@ -55,12 +57,27 @@ vi.mock('../UserMenuSheet', () => ({
|
||||
UserMenuSheet: () => <div data-testid="user-menu-sheet" />,
|
||||
}));
|
||||
|
||||
const eventContext = {
|
||||
const baseEvent: TenantEvent = {
|
||||
id: 1,
|
||||
name: 'Test Event',
|
||||
slug: 'event-1',
|
||||
event_date: '2024-01-01',
|
||||
event_type_id: null,
|
||||
event_type: null,
|
||||
status: 'published',
|
||||
settings: {},
|
||||
};
|
||||
|
||||
const eventContext: EventContextValue = {
|
||||
events: [],
|
||||
activeEvent: { slug: 'event-1', name: 'Test Event', event_date: '2024-01-01', status: 'active', settings: {} },
|
||||
isLoading: false,
|
||||
isError: false,
|
||||
activeEvent: baseEvent,
|
||||
activeSlug: baseEvent.slug,
|
||||
hasMultipleEvents: false,
|
||||
hasEvents: true,
|
||||
selectEvent: vi.fn(),
|
||||
refetch: vi.fn(),
|
||||
};
|
||||
|
||||
vi.mock('../../../context/EventContext', () => ({
|
||||
@@ -129,9 +146,25 @@ describe('MobileShell', () => {
|
||||
addEventListener: vi.fn(),
|
||||
removeEventListener: vi.fn(),
|
||||
});
|
||||
document.title = '';
|
||||
eventContext.events = [];
|
||||
eventContext.hasMultipleEvents = false;
|
||||
eventContext.activeEvent = { slug: 'event-1', name: 'Test Event', event_date: '2024-01-01', status: 'active', settings: {} };
|
||||
eventContext.activeEvent = { ...baseEvent };
|
||||
eventContext.activeSlug = baseEvent.slug;
|
||||
});
|
||||
|
||||
it('sets the document title with the app prefix', async () => {
|
||||
await act(async () => {
|
||||
render(
|
||||
<MemoryRouter>
|
||||
<MobileShell activeTab="home" title="Dashboard">
|
||||
<div>Body</div>
|
||||
</MobileShell>
|
||||
</MemoryRouter>
|
||||
);
|
||||
});
|
||||
|
||||
expect(document.title).toBe('Fotospiel.App Event Admin · Dashboard');
|
||||
});
|
||||
|
||||
it('renders quick QR as icon-only button', async () => {
|
||||
@@ -171,8 +204,14 @@ describe('MobileShell', () => {
|
||||
|
||||
it('shows the event switcher when multiple events are available', async () => {
|
||||
eventContext.events = [
|
||||
{ slug: 'event-1', name: 'Test Event', event_date: '2024-01-01', status: 'active', settings: {} },
|
||||
{ slug: 'event-2', name: 'Second Event', event_date: '2024-02-01', status: 'active', settings: {} },
|
||||
{ ...baseEvent },
|
||||
{
|
||||
...baseEvent,
|
||||
id: 2,
|
||||
slug: 'event-2',
|
||||
name: 'Second Event',
|
||||
event_date: '2024-02-01',
|
||||
},
|
||||
];
|
||||
|
||||
await act(async () => {
|
||||
@@ -190,8 +229,14 @@ describe('MobileShell', () => {
|
||||
|
||||
it('hides the event switcher on the events list page', async () => {
|
||||
eventContext.events = [
|
||||
{ slug: 'event-1', name: 'Test Event', event_date: '2024-01-01', status: 'active', settings: {} },
|
||||
{ slug: 'event-2', name: 'Second Event', event_date: '2024-02-01', status: 'active', settings: {} },
|
||||
{ ...baseEvent },
|
||||
{
|
||||
...baseEvent,
|
||||
id: 2,
|
||||
slug: 'event-2',
|
||||
name: 'Second Event',
|
||||
event_date: '2024-02-01',
|
||||
},
|
||||
];
|
||||
|
||||
await act(async () => {
|
||||
|
||||
Reference in New Issue
Block a user