Refine desktop setup and remove bundled app center apps

This commit is contained in:
inman
2026-06-04 09:58:58 +08:00
parent 6153579b90
commit 84128dbe23
73 changed files with 3888 additions and 2024 deletions

View File

@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { fireEvent, render, screen } from '@testing-library/react';
import { MemoryRouter, Route, Routes } from 'react-router-dom';
import { render, screen } from '@testing-library/react';
import { MemoryRouter } from 'react-router-dom';
import { AppCenter } from '@/pages/AppCenter';
import { useAppCenterStore } from '@/stores/app-center';
import i18n from '@/i18n';
@@ -8,10 +8,7 @@ import i18n from '@/i18n';
function renderAppCenter() {
return render(
<MemoryRouter initialEntries={['/app-center']}>
<Routes>
<Route path="/app-center" element={<AppCenter />} />
<Route path="/app-center/product-center" element={<div data-testid="product-center-route" />} />
</Routes>
<AppCenter />
</MemoryRouter>,
);
}
@@ -19,7 +16,6 @@ function renderAppCenter() {
function resetAppCenterStore() {
useAppCenterStore.setState({
items: [],
selectedItemId: null,
selectedTagKey: 'all',
initialized: false,
});
@@ -32,28 +28,26 @@ describe('App Center', () => {
resetAppCenterStore();
});
it('lists Travel Resource Ordering and opens it inside the desktop route', () => {
it('renders the empty state after clearing built-in apps', () => {
renderAppCenter();
expect(screen.getByTestId('app-center-item-product-center')).toHaveTextContent('旅游资源订购');
expect(screen.getByTestId('app-center-item-product-center')).toHaveTextContent('旅游资源底价订购');
expect(useAppCenterStore.getState().selectedItemId).toBeNull();
fireEvent.click(screen.getByTestId('app-center-item-product-center'));
expect(screen.getByTestId('product-center-route')).toBeVisible();
expect(screen.getByText('暂无应用')).toBeVisible();
expect(screen.getByText('全部 · 0')).toBeVisible();
expect(screen.queryByTestId('app-center-item-product-center')).not.toBeInTheDocument();
expect(screen.queryByTestId('app-center-item-nianxx-play')).not.toBeInTheDocument();
expect(window.electron.openExternal).not.toHaveBeenCalled();
expect(useAppCenterStore.getState().selectedItemId).toBeNull();
});
it('covers built-in apps in English without exposing translation keys', async () => {
it('keeps the cleared state in English without exposing deleted app keys', async () => {
await i18n.changeLanguage('en');
resetAppCenterStore();
renderAppCenter();
expect(screen.getByTestId('app-center-item-product-center')).toHaveTextContent('Travel Resource Ordering');
expect(screen.getByTestId('app-center-item-nianxx-play')).toHaveTextContent('Quick Video Creation');
expect(screen.getByText('No apps yet')).toBeVisible();
expect(screen.getByText('All · 0')).toBeVisible();
expect(screen.queryByTestId('app-center-item-product-center')).not.toBeInTheDocument();
expect(screen.queryByTestId('app-center-item-nianxx-play')).not.toBeInTheDocument();
expect(screen.queryByText('items.productCenter.name')).not.toBeInTheDocument();
expect(screen.queryByText('items.nianxxPlay.name')).not.toBeInTheDocument();
});