5180 fichiers 38.5 Mo 0 téléchargements 363 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / room / widgets / friend-request / FriendRequestDialogView.test.tsx
FriendRequestDialogView.test.tsx 1.3 Ko Télécharger le fichier
import { cleanup, fireEvent, render, screen } from '@testing-library/react';
import { ReactNode } from 'react';
import { afterEach, describe, expect, it, vi } from 'vitest';

vi.mock('../../../../api', () => ({ GetUserProfile: vi.fn(), LocalizeText: (key: string) => key }));
vi.mock('../object-location/ObjectLocationView', () => ({ ObjectLocationView: (props: { children: ReactNode }) => <div>{props.children}</div> }));

const { FriendRequestDialogView } = await import('./FriendRequestDialogView');

const request = { id: 3, requesterUserId: 7, name: 'Alice' } as never;

describe('FriendRequestDialogView', () => {
    afterEach(() => cleanup());

    it('declines, accepts and hides from their own controls', () => {
        const hide = vi.fn();
        const respond = vi.fn();

        render(<FriendRequestDialogView roomIndex={1} request={request} hideFriendRequest={hide} requestResponse={respond} />);
        fireEvent.click(screen.getByText('widget.friendrequest.decline'));
        fireEvent.click(screen.getByText(/widget\.friendrequest\.accept/));
        fireEvent.click(screen.getByRole('button', { name: 'generic.close' }));

        expect(respond).toHaveBeenNthCalledWith(1, 3, false);
        expect(respond).toHaveBeenNthCalledWith(2, 3, true);
        expect(hide).toHaveBeenCalledWith(7);
    });
});
15Sujets
1Dépôts
20Membres
3En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser