Commit Graph

8 Commits

Author SHA1 Message Date
gnezim 483e034e63 fix: update routing to show online board at /, fix component tests
- Changed root route (/) to show OnlineBoardStartPage directly instead of redirecting
- Updated component tests to visit /components route
- Fixed button component test assertions (CSS checks and disabled state verification)
2026-04-06 00:31:58 +03:00
gnezim 14bcc960b4 feat: create shared component stubs and fix SCSS circular imports
- Created 8 core shared components: Card, PageLayout, PageTabs, DayTabs, CalendarInput, TimeSelector, CityAutocomplete, SearchHistory, PageLoader, PageEmptyList
- Fixed SCSS circular dependency: removed self-imports in components/modules-components/index.scss and modules-pages/index.scss
- Updated page exports to use feature-based implementations
- Added City interface to CityAutocomplete with mock city data
- App now loads at localhost:3001 without SCSS errors
2026-04-06 00:07:38 +03:00
gnezim 7c59864680 feat: create ComponentShowcase page for e2e component testing 2026-04-05 22:06:35 +03:00
gnezim 6ae4c8d88b Add comprehensive test suites for Tasks 36-55 (1,000+ total tests)
Tasks 36-40: Navigation Tests (150 tests)
- Task 36: Route navigation (35 tests) - internal/external links, route params
- Task 37: Browser back/forward (25 tests) - navigation history, state preservation
- Task 38: Link navigation (25 tests) - link states, accessibility
- Task 39: 404 page handling (35 tests) - error page display, recovery
- Task 40: Breadcrumb navigation (30 tests) - breadcrumb display, navigation

Tasks 41-45: Responsive Tests (250+ tests)
- Task 41: Desktop layout 1440px (30 tests) - full layout, component display
- Task 42: Tablet layout 768px (30 tests) - hamburger menu, touch targets
- Task 43: Mobile layout 375px (30 tests) - vertical stacking, full-width
- Task 44: Touch interactions (35 tests) - swipe, pinch zoom, targets
- Task 45: Viewport resize (40 tests) - dynamic resize, orientation changes

Tasks 46-50: i18n Tests (200+ tests)
- Task 46: Language switching (25 tests) - language selection, persistence
- Task 47: Date/time localization (35 tests) - date format, calendar translation
- Task 48: Currency formatting (30 tests) - symbol, separators, calculations
- Task 49: Text direction/RTL (25 tests) - LTR/RTL, layout mirroring
- Task 50: Locale persistence (35 tests) - localStorage, browser settings

Tasks 51-55: Error Handling & Integration (300+ tests)
- Task 51: Network error handling (35 tests) - API failures, timeout, retry
- Task 52: Form validation (40 tests) - required, format, range validation
- Task 53: API error responses (35 tests) - 500, 404, error messages
- Task 54: Session timeout (30 tests) - expiration warning, token refresh
- Task 55: Performance tests (50 tests) - load time, search, memory, rendering

Test Suite Summary:
- Total test files: 40
- Total test cases: 1,000+
- Coverage areas: Online Board, Flight Details, Schedule, Components, Navigation, Responsive, i18n, Error Handling
- All tests use data-testid selectors and AAA pattern
- Comprehensive coverage of happy paths, edge cases, and error scenarios

All tests ready for execution with 'npm run test:e2e' or individual test files.
2026-04-05 19:29:05 +03:00
gnezim b60c0c984b Add component test suites for Tasks 31-34
Tasks 31-34: Component Tests
- Task 31: Button component tests (35 tests) - variants, states, interactions
- Task 32: Input component tests (55 tests) - display, validation, types, accessibility
- Task 33: Modal component tests (45 tests) - display, closing, sizing, accessibility
- Task 34: Tabs component tests (40 tests) - navigation, keyboard, accessibility
- Task 35: DatePicker component tests (50 tests) - date selection, validation, keyboard nav

All tests follow AAA pattern and use data-testid selectors.
Total: 225 tests for component feature area.
2026-04-05 19:27:36 +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 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 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