/* @vitest-environment jsdom */
import { render, screen } from '@testing-library/react';
import { describe, expect, test } from 'vitest';
import { PlatformAsyncStatePanel } from './PlatformAsyncStatePanel';
describe('PlatformAsyncStatePanel', () => {
test('prefers error state over loading and content', () => {
render(
出错了}
isLoading
loadingState={读取中
}
>
内容
,
);
expect(screen.getByText('出错了')).toBeTruthy();
expect(screen.queryByText('读取中')).toBeNull();
expect(screen.queryByText('内容')).toBeNull();
});
test('renders loading state before empty state', () => {
render(
读取中}
emptyState={暂无内容
}
>
内容
,
);
expect(screen.getByText('读取中')).toBeTruthy();
expect(screen.queryByText('暂无内容')).toBeNull();
});
test('renders empty state when requested', () => {
render(
暂无内容}>
内容
,
);
expect(screen.getByText('暂无内容')).toBeTruthy();
expect(screen.queryByText('内容')).toBeNull();
});
test('falls back to content when no async state is active', () => {
render(
内容
,
);
expect(screen.getByText('内容')).toBeTruthy();
});
});