Commit Graph

21 Commits

Author SHA1 Message Date
gnezim 296baebe7f docs: add comprehensive README for Tasks 56-59
- Overview of all 4 tasks and objectives
- File and configuration reference
- Test scenario breakdown
- Execution flow diagram
- Success criteria for each task
- Command reference
- Time estimates and next steps
2026-04-05 19:26:37 +03:00
gnezim 15028e0210 Add schedule test suites for Tasks 26-30
Tasks 26-30: Schedule Tests
- Task 26: Schedule Search tests (40 tests) - search form, results, filters, history
- Task 27: Schedule Results Display tests (40 tests) - display, sorting, filtering, pagination
- Task 28: Download Schedule tests (50 tests) - CSV/PDF/Excel export, batch download, validation
- Task 29: Schedule Filtering tests (50 tests) - operating days, time range, airline, multi-filter
- Task 30: Route Display tests (45 tests) - route info, map visualization, multi-leg routes

All tests follow AAA pattern and use data-testid selectors.
Total: 225 tests for schedule feature area.
2026-04-05 19:26:33 +03:00
gnezim 9174cae406 docs: add quick reference checklist for Tasks 56-59
- Pre-execution verification checklist
- Quick commands for each task
- Common issues and fixes
- Success criteria and time estimates
- Final validation checklist
2026-04-05 19:26:06 +03:00
gnezim 358c31eafe docs: add detailed step-by-step execution guide for Tasks 56-59
- Task 56: Generate BackstopJS baseline from Angular
- Task 57: Run visual comparison against React
- Task 58: Fix visual differences (iterative process)
- Task 59: Run full validation suite
- Include troubleshooting section
- Provide command reference and success indicators
2026-04-05 19:25:29 +03:00
gnezim 60e2149072 Add comprehensive e2e test suites for Tasks 16-25
Tasks 16-20: Online Board Tests (Search/Filter, Tabs, Flight List, Details Modal, Time/Date)
- Task 16: Search & Filter tests (37 tests) - departure/arrival cities, passenger count, cabin class
- Task 17: Arrival/Departure Tabs tests (45 tests) - tab switching, flight display, sorting
- Task 18: Flight List View tests (50 tests) - display, sorting, filtering, pagination, loading states
- Task 19: Flight Details Modal tests (40 tests) - opening/closing, content display, actions
- Task 20: Time & Date Filter tests (43 tests) - date selection, time ranges, calendar navigation

Tasks 21-25: Flight Details Tests (Flight Info, Passengers, Seats, Services, Fares)
- Task 21: Flight Info Display tests (40 tests) - basic info, airports, route visualization, timeline
- Task 22: Passenger Info tests (50 tests) - passenger list, details, services, special requirements
- Task 23: Seat Selection tests (50 tests) - seat map, selection, categories, recommendations
- Task 24: Service Selection tests (25 tests) - baggage, meals, seats, summary
- Task 25: Fare Display tests (55 tests) - fare breakdown, comparisons, discounts, refunds

All tests follow AAA pattern and use data-testid selectors matching Angular version.
Total: 245 tests across 10 feature suites.
2026-04-05 19:25:03 +03:00
gnezim 21c6ed4f82 docs: add comprehensive implementation status report
- Document completion status of Tasks 1-10
- Detail infrastructure prepared for Tasks 56-59
- Provide execution flow and success criteria
- List all configuration files and test infrastructure
- Include next steps and success metrics
2026-04-05 19:24:23 +03:00
gnezim d30071b756 Tasks 11-15: Implement CityAutocomplete, OnlineBoard, and BackstopJS setup
Tasks completed:
- Task 11: Create CityAutocomplete React component with debounced search
- Task 12: Implement OnlineBoard page with search and details components
- Task 13: Create BackstopJS baseline configuration for Angular
- Task 14: Create BackstopJS test configuration for React
- Task 15: Create full-validation.sh script for e2e and visual regression testing

All components built and tested successfully.
2026-04-05 19:23:52 +03:00
gnezim 30cad656b4 docs: add comprehensive Tasks 56-59 implementation guide 2026-04-05 19:23:45 +03:00
gnezim 95f49d7deb Task 9: Create React Router configuration with lazy loading and route structure 2026-04-05 19:20:23 +03:00
gnezim 4b34a78890 Task 8: Create Modal, Tabs, and DatePicker components
- Modal component with size variants (small, medium, large)
- Tabs component with active state management and onChange callback
- DatePicker component with calendar interface and date selection
- All components implement BEM naming convention
- All components include data-testid attributes for testing
- SCSS files provide complete styling for each component
- Index files export components and types for easy importing
2026-04-05 19:20:06 +03:00
gnezim 9356945d93 Task 10: Create test helper files and base test templates
- Create helpers directory structure
- Add api-helpers.ts with authentication and API mocking functions
- Add ui-helpers.ts with common UI interaction utilities
- Add data-helpers.ts with test data generators
- Create base.spec.ts as reusable test template
- Update support/index.ts to import and expose helper modules globally
2026-04-05 19:19:49 +03:00
gnezim 8d562dd55c feat: create Input component with label, error, and helper text support 2026-04-05 19:19:43 +03:00
gnezim f8120c154f styles: copy global and component SCSS files from Angular to React
- Copy 30+ global SCSS files to apps/react/src/styles/
- Copy 75+ component SCSS files to apps/react/src/styles/components/
- Organize by feature: online-board, schedule, flights-map, popular-requests, shared, toolkit
- Organize pages styles: board, schedule, adaptive
- Update main.tsx to import styles entry point
2026-04-05 19:17:57 +03:00
gnezim e0c989755e Fix code quality issues in E2E Cypress infrastructure
- Fix specPattern in cypress.config.ts: change from '*.cy.ts' to '*.spec.ts' to match actual test file naming convention
- Fix forbidGeolocation command: use callsFake() instead of rejects() which is not a valid Cypress stub method
- Remove redundant localStorage cleanup: keep only afterEach hook, remove beforeEach hook to avoid duplication
- Remove unused @cypress/schematic dependency from e2e/package.json
- Add comprehensive README.md with E2E testing documentation covering test structure, setup, running tests, custom commands, and best practices
2026-04-05 19:09:43 +03:00
gnezim 6ed2a3e65a infrastructure: set up e2e folder with Cypress config and support commands 2026-04-05 19:05:16 +03:00
gnezim 7de28854cf fix: move index.html to src/ subdirectory per specification
- Moved index.html from apps/react/ to apps/react/src/
- Updated vite.config.ts to set src as root directory
- Adjusted build output path from 'dist' to '../dist'
- Updated script reference in index.html from absolute to relative path
2026-04-05 19:02:26 +03:00
gnezim 6786c4df23 infrastructure: scaffold React app with Vite, TypeScript, and basic App component 2026-04-05 19:00:51 +03:00
gnezim 22aac303c7 fix: remove non-existent validate script reference from root package.json
The validate script will be added in Task 15 when the full-validation.sh script is created. For now, remove it to prevent npm script execution errors.
2026-04-05 18:56:48 +03:00
gnezim 382d8c453a infrastructure: create monorepo structure with apps/angular, apps/react, e2e directories 2026-04-05 18:53:38 +03:00
gnezim c012c7ebe8 docs: add comprehensive implementation plan for Angular → React migration
- 59 detailed tasks across 10 phases
- Infrastructure setup (monorepo, React scaffold)
- Styling foundation (SCSS copy/validation)
- Core components (Button, Input, Modal, Tabs, DatePicker)
- Routing setup (React Router config)
- E2E test infrastructure (Cypress, helpers, test templates)
- Feature implementation (Online Board, Schedule, etc.)
- BackstopJS setup (visual regression)
- Complete test suite (1,225+ tests)
- Final validation pipeline

Each task is bite-sized (2-5 mins) with exact code, paths, and commands.
2026-04-05 18:51:39 +03:00
gnezim 0a5ab058a6 Initial commit: Aeroflot Flights Web - Angular 12 baseline
- Angular 12 application with PrimeNG components
- 5 existing Cypress e2e test suites
- SCSS styling with BEM naming convention
- i18n support (10 languages)
- Leaflet map integration
- Complete component hierarchy and routing structure

This baseline will be used for Angular → React migration.
2026-04-05 18:47:57 +03:00