import { beforeEach, describe, expect, it, vi } from 'vitest'; import { render, screen } from '@testing-library/react'; import { MemoryRouter } from 'react-router-dom'; import { ProductCenter } from '@/pages/ProductCenter'; import { useYinianStore } from '@/stores/yinian'; import i18n from '@/i18n'; describe('Travel Resource Ordering page', () => { beforeEach(async () => { await i18n.changeLanguage('zh'); vi.clearAllMocks(); useYinianStore.setState({ status: 'authenticated', session: { authenticated: true, user: { id: 'user-1', name: '王管理员' }, hotels: [{ id: 'workspace-1', name: '智念空间' }], currentHotelId: 'workspace-1', accessTokenExpiresAt: 100, }, config: null, error: null, }); }); it('uses a persistent Electron webview partition for embedded login state', () => { render( , ); const frame = screen.getByTestId('product-center-frame'); expect(frame.tagName.toLowerCase()).toBe('webview'); expect(frame).toHaveAttribute('partition', 'persist:yinian-travel-resource-ordering'); expect(frame).toHaveAttribute('src', expect.stringContaining('https://ticket.nianxx.cn/')); expect(frame).toHaveAttribute('src', expect.stringContaining('zhinianEmbed=1')); }); });