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
2.3 KiB
JavaScript
Executable File

'use strict';
/**
* @license Angular
* (c) 2010-2026 Google LLC. https://angular.dev/
* License: MIT
*/
function S(Z){Z.__load_patch("mocha",(t,o)=>{let i=t.Mocha;if(typeof i=="undefined")return;if(typeof o=="undefined")throw new Error("Missing Zone.js");let h=o.ProxyZoneSpec,_=o.SyncTestZoneSpec;if(!h)throw new Error("Missing ProxyZoneSpec");if(i.__zone_patch__)throw new Error('"Mocha" has already been patched with "Zone".');i.__zone_patch__=!0;let y=o.current,k=y.fork(new _("Mocha.describe")),f=null,m=y.fork(new h),s={after:t.after,afterEach:t.afterEach,before:t.before,beforeEach:t.beforeEach,describe:t.describe,it:t.it};function a(e,u,c){for(let n=0;n<e.length;n++){let r=e[n];typeof r=="function"&&(e[n]=r.length===0?u(r):c(r),e[n].toString=function(){return r.toString()})}return e}function d(e){return a(e,function(c){return function(){return k.run(c,this,arguments)}})}function p(e){return a(e,function(n){return function(){return f.run(n,this)}},function(n){return function(r){return f.run(n,this,[r])}})}function T(e){return a(e,function(n){return function(){return m.run(n,this)}},function(n){return function(r){return m.run(n,this,[r])}})}t.describe=t.suite=function(){return s.describe.apply(this,d(arguments))},t.xdescribe=t.suite.skip=t.describe.skip=function(){return s.describe.skip.apply(this,d(arguments))},t.describe.only=t.suite.only=function(){return s.describe.only.apply(this,d(arguments))},t.it=t.specify=t.test=function(){return s.it.apply(this,p(arguments))},t.xit=t.xspecify=t.it.skip=function(){return s.it.skip.apply(this,p(arguments))},t.it.only=t.test.only=function(){return s.it.only.apply(this,p(arguments))},t.after=t.suiteTeardown=function(){return s.after.apply(this,T(arguments))},t.afterEach=t.teardown=function(){return s.afterEach.apply(this,p(arguments))},t.before=t.suiteSetup=function(){return s.before.apply(this,T(arguments))},t.beforeEach=t.setup=function(){return s.beforeEach.apply(this,p(arguments))},((e,u)=>{i.Runner.prototype.runTest=function(c){o.current.scheduleMicroTask("mocha.forceTask",()=>{e.call(this,c)})},i.Runner.prototype.run=function(c){return this.on("test",n=>{f=y.fork(new h)}),this.on("fail",(n,r)=>{let w=f&&f.get("ProxyZoneSpec");if(w&&r)try{r.message+=w.getAndClearPendingTasksInfo()}catch(E){}}),u.call(this,c)}})(i.Runner.prototype.runTest,i.Runner.prototype.run)})}S(Zone);