mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-28 09:23:08 +08:00
feat: Implement dynamic test-fix execution phase with adaptive task generation
- Added Phase 2: Test-Cycle Execution documentation outlining the process for dynamic test-fix execution, including agent roles, core responsibilities, intelligent strategy engine, and progressive testing. - Introduced new PowerShell scripts for analyzing TypeScript errors, focusing on error categorization and reporting. - Created end-to-end tests for the Help Page, ensuring content visibility, documentation navigation, internationalization support, and accessibility compliance.
This commit is contained in:
@@ -54,15 +54,12 @@ export function AppShell({
|
||||
const urlPath = searchParams.get('path');
|
||||
const persistedPath = projectPath; // Path from rehydrated store
|
||||
|
||||
let pathFound = false;
|
||||
|
||||
// Priority 1: URL parameter.
|
||||
if (urlPath) {
|
||||
console.log('[AppShell] Initializing workspace from URL parameter:', urlPath);
|
||||
switchWorkspace(urlPath).catch((error) => {
|
||||
console.error('[AppShell] Failed to initialize from URL:', error);
|
||||
});
|
||||
pathFound = true;
|
||||
}
|
||||
// Priority 2: Rehydrated path from localStorage.
|
||||
else if (persistedPath) {
|
||||
@@ -71,7 +68,6 @@ export function AppShell({
|
||||
switchWorkspace(persistedPath).catch((error) => {
|
||||
console.error('[AppShell] Failed to re-initialize from persisted state:', error);
|
||||
});
|
||||
pathFound = true;
|
||||
}
|
||||
|
||||
// Mark as initialized regardless of whether a path was found.
|
||||
|
||||
@@ -151,7 +151,7 @@ describe('Header Component - i18n Tests', () => {
|
||||
|
||||
describe('translated project path display', () => {
|
||||
it('should display translated fallback when no project path', () => {
|
||||
render(<Header projectPath="" />);
|
||||
render(<Header />);
|
||||
|
||||
// Header should render correctly even without project path
|
||||
const header = screen.getByRole('banner');
|
||||
@@ -162,21 +162,13 @@ describe('Header Component - i18n Tests', () => {
|
||||
expect(brandLink).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should render workspace selector when project path is provided', () => {
|
||||
render(<Header projectPath="/test/path" />);
|
||||
it('should render workspace selector', () => {
|
||||
render(<Header />);
|
||||
|
||||
// Should render the workspace selector button with aria-label
|
||||
const workspaceButton = screen.getByRole('button', { name: /workspace selector/i });
|
||||
expect(workspaceButton).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should not render workspace selector when project path is empty', () => {
|
||||
render(<Header projectPath="" />);
|
||||
|
||||
// Should NOT render the workspace selector button
|
||||
const workspaceButton = screen.queryByRole('button', { name: /workspace selector/i });
|
||||
expect(workspaceButton).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
describe('accessibility with i18n', () => {
|
||||
|
||||
Reference in New Issue
Block a user