/* global describe, it, expect */
import React from 'react';
import { render, screen } from '@testing-library/react';
import { SettingsPopover } from '../SettingsPopover';
const defaultProps = {
userName: 'Jane Doe',
userTier: 'Pro',
userEmail: 'jane@example.com',
actions: [{ key: 'logout', label: 'Logout', onClick: () => {} }],
};
describe('SettingsPopover', () => {
it('renders the trigger button with userName', () => {
render();
expect(screen.getByText('Jane Doe')).toBeDefined();
});
it('renders userTier in the trigger', () => {
render();
expect(screen.getByText('Pro')).toBeDefined();
});
it('trigger button has correct aria-label (default: "User settings")', () => {
render();
expect(screen.getByRole('button', { name: 'User settings' })).toBeDefined();
});
it('accepts custom ariaLabel prop', () => {
render();
expect(screen.getByRole('button', { name: 'Account menu' })).toBeDefined();
});
it('renders the trigger as a button element', () => {
render();
const btn = screen.getByRole('button', { name: 'User settings' });
expect(btn.tagName.toLowerCase()).toBe('button');
});
});