60e2149072
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.
8 lines
3.2 KiB
JavaScript
Executable File
8 lines
3.2 KiB
JavaScript
Executable File
'use strict';
|
|
/**
|
|
* @license Angular
|
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
* License: MIT
|
|
*/
|
|
var d=Object.defineProperty;var p=(i,e,t)=>e in i?d(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var o=(i,e,t)=>(p(i,typeof e!="symbol"?e+"":e,t),t);var h=class i{constructor(e=null){o(this,"defaultSpecDelegate");o(this,"name","ProxyZone");o(this,"_delegateSpec",null);o(this,"properties",{ProxyZoneSpec:this});o(this,"propertyKeys",null);o(this,"lastTaskState",null);o(this,"isNeedToTriggerHasTask",!1);o(this,"tasks",[]);this.defaultSpecDelegate=e,this.setDelegate(e)}static get(){return Zone.current.get("ProxyZoneSpec")}static isLoaded(){return i.get()instanceof i}static assertPresent(){let e=i.get();if(e===void 0)throw new Error("Expected to be running in 'ProxyZone', but it was not found.");return e}setDelegate(e){let t=this._delegateSpec!==e;this._delegateSpec=e,this.propertyKeys&&this.propertyKeys.forEach(s=>delete this.properties[s]),this.propertyKeys=null,e&&e.properties&&(this.propertyKeys=Object.keys(e.properties),this.propertyKeys.forEach(s=>this.properties[s]=e.properties[s])),t&&this.lastTaskState&&(this.lastTaskState.macroTask||this.lastTaskState.microTask)&&(this.isNeedToTriggerHasTask=!0)}getDelegate(){return this._delegateSpec}resetDelegate(){let e=this.getDelegate();this.setDelegate(this.defaultSpecDelegate)}tryTriggerHasTask(e,t,s){this.isNeedToTriggerHasTask&&this.lastTaskState&&(this.isNeedToTriggerHasTask=!1,this.onHasTask(e,t,s,this.lastTaskState))}removeFromTasks(e){if(this.tasks){for(let t=0;t<this.tasks.length;t++)if(this.tasks[t]===e){this.tasks.splice(t,1);return}}}getAndClearPendingTasksInfo(){if(this.tasks.length===0)return"";let t="--Pending async tasks are: ["+this.tasks.map(s=>{let r=s.data&&Object.keys(s.data).map(n=>n+":"+s.data[n]).join(",");return`type: ${s.type}, source: ${s.source}, args: {${r}}`})+"]";return this.tasks=[],t}onFork(e,t,s,r){return this._delegateSpec&&this._delegateSpec.onFork?this._delegateSpec.onFork(e,t,s,r):e.fork(s,r)}onIntercept(e,t,s,r,n){return this._delegateSpec&&this._delegateSpec.onIntercept?this._delegateSpec.onIntercept(e,t,s,r,n):e.intercept(s,r,n)}onInvoke(e,t,s,r,n,a,c){return this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvoke?this._delegateSpec.onInvoke(e,t,s,r,n,a,c):e.invoke(s,r,n,a,c)}onHandleError(e,t,s,r){return this._delegateSpec&&this._delegateSpec.onHandleError?this._delegateSpec.onHandleError(e,t,s,r):e.handleError(s,r)}onScheduleTask(e,t,s,r){return r.type!=="eventTask"&&this.tasks.push(r),this._delegateSpec&&this._delegateSpec.onScheduleTask?this._delegateSpec.onScheduleTask(e,t,s,r):e.scheduleTask(s,r)}onInvokeTask(e,t,s,r,n,a){return r.type!=="eventTask"&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvokeTask?this._delegateSpec.onInvokeTask(e,t,s,r,n,a):e.invokeTask(s,r,n,a)}onCancelTask(e,t,s,r){return r.type!=="eventTask"&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onCancelTask?this._delegateSpec.onCancelTask(e,t,s,r):e.cancelTask(s,r)}onHasTask(e,t,s,r){this.lastTaskState=r,this._delegateSpec&&this._delegateSpec.onHasTask?this._delegateSpec.onHasTask(e,t,s,r):e.hasTask(s,r)}};function l(i){i.ProxyZoneSpec=h}l(Zone);
|