收口个人中心泥点账单弹窗壳层
RpgEntryHomeView 的 WalletLedgerModal 改用 UnifiedModal 并保留渐变面板与关闭语义 账单弹窗测试改为断言具名 dialog 与关闭卸载路径 更新 PlatformUiKit 收口计划与 .hermes 决策记录
This commit is contained in:
@@ -1256,10 +1256,12 @@ test('opens wallet ledger modal from narrative coin card', async () => {
|
||||
renderProfileView();
|
||||
await user.click(screen.getByRole('button', { name: /泥点余额\s*0/u }));
|
||||
|
||||
expect(await screen.findByText('泥点账单')).toBeTruthy();
|
||||
const ledgerModal = screen
|
||||
.getByText('泥点账单')
|
||||
.closest('.fixed') as HTMLElement;
|
||||
const ledgerModal = await screen.findByRole('dialog', { name: '泥点账单' });
|
||||
|
||||
expect(ledgerModal).toBeTruthy();
|
||||
expect(
|
||||
within(ledgerModal).getByRole('button', { name: '关闭泥点账单' }),
|
||||
).toBeTruthy();
|
||||
const balanceBadge = within(ledgerModal).getByText('29泥点');
|
||||
expect(balanceBadge.className).toContain('rounded-full');
|
||||
expect(balanceBadge.className).toContain('border-rose-100');
|
||||
@@ -3197,10 +3199,13 @@ test('wallet ledger modal shows empty and error states', async () => {
|
||||
});
|
||||
|
||||
await user.click(screen.getByLabelText('关闭泥点账单'));
|
||||
await waitFor(() => {
|
||||
expect(screen.queryByRole('dialog', { name: '泥点账单' })).toBeNull();
|
||||
});
|
||||
mockGetRpgProfileWalletLedger.mockRejectedValueOnce(new Error('加载失败'));
|
||||
await user.click(screen.getByRole('button', { name: /泥点余额\s*0/u }));
|
||||
|
||||
expect(await screen.findByText('泥点账单')).toBeTruthy();
|
||||
expect(await screen.findByRole('dialog', { name: '泥点账单' })).toBeTruthy();
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText('加载失败')).toBeTruthy();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user