Files
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

8 lines
1.3 KiB
JavaScript
Executable File

'use strict';
/**
* @license Angular
* (c) 2010-2026 Google LLC. https://angular.dev/
* License: MIT
*/
var l=Object.defineProperty;var g=(r,e,n)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var c=(r,e,n)=>(g(r,typeof e!="symbol"?e+"":e,n),n);var T=class{constructor(){c(this,"name","TaskTrackingZone");c(this,"microTasks",[]);c(this,"macroTasks",[]);c(this,"eventTasks",[]);c(this,"properties",{TaskTrackingZone:this})}static get(){return Zone.current.get("TaskTrackingZone")}getTasksFor(e){switch(e){case"microTask":return this.microTasks;case"macroTask":return this.macroTasks;case"eventTask":return this.eventTasks}throw new Error("Unknown task format: "+e)}onScheduleTask(e,n,o,s){return s.creationLocation=new Error(`Task '${s.type}' from '${s.source}'.`),this.getTasksFor(s.type).push(s),e.scheduleTask(o,s)}onCancelTask(e,n,o,s){let t=this.getTasksFor(s.type);for(let a=0;a<t.length;a++)if(t[a]==s){t.splice(a,1);break}return e.cancelTask(o,s)}onInvokeTask(e,n,o,s,t,a){var h;if(s.type==="eventTask"||(h=s.data)!=null&&h.isPeriodic)return e.invokeTask(o,s,t,a);let k=this.getTasksFor(s.type);for(let i=0;i<k.length;i++)if(k[i]==s){k.splice(i,1);break}return e.invokeTask(o,s,t,a)}clearEvents(){for(;this.eventTasks.length;)Zone.current.cancelTask(this.eventTasks[0])}};function u(r){r.TaskTrackingZoneSpec=T}u(Zone);