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.
157 lines
5.2 KiB
TypeScript
157 lines
5.2 KiB
TypeScript
export type event = (symbol|string);
|
|
export type eventNS = string|event[];
|
|
|
|
export interface ConstructorOptions {
|
|
/**
|
|
* @default false
|
|
* @description set this to `true` to use wildcards.
|
|
*/
|
|
wildcard?: boolean,
|
|
/**
|
|
* @default '.'
|
|
* @description the delimiter used to segment namespaces.
|
|
*/
|
|
delimiter?: string,
|
|
/**
|
|
* @default false
|
|
* @description set this to `true` if you want to emit the newListener events.
|
|
*/
|
|
newListener?: boolean,
|
|
/**
|
|
* @default false
|
|
* @description set this to `true` if you want to emit the removeListener events.
|
|
*/
|
|
removeListener?: boolean,
|
|
/**
|
|
* @default 10
|
|
* @description the maximum amount of listeners that can be assigned to an event.
|
|
*/
|
|
maxListeners?: number
|
|
/**
|
|
* @default false
|
|
* @description show event name in memory leak message when more than maximum amount of listeners is assigned, default false
|
|
*/
|
|
verboseMemoryLeak?: boolean
|
|
/**
|
|
* @default false
|
|
* @description disable throwing uncaughtException if an error event is emitted and it has no listeners
|
|
*/
|
|
ignoreErrors?: boolean
|
|
}
|
|
export interface ListenerFn {
|
|
(...values: any[]): void;
|
|
}
|
|
export interface EventAndListener {
|
|
(event: string | string[], ...values: any[]): void;
|
|
}
|
|
|
|
export interface WaitForFilter { (...values: any[]): boolean }
|
|
|
|
export interface WaitForOptions {
|
|
/**
|
|
* @default 0
|
|
*/
|
|
timeout: number,
|
|
/**
|
|
* @default null
|
|
*/
|
|
filter: WaitForFilter,
|
|
/**
|
|
* @default false
|
|
*/
|
|
handleError: boolean,
|
|
/**
|
|
* @default Promise
|
|
*/
|
|
Promise: Function,
|
|
/**
|
|
* @default false
|
|
*/
|
|
overload: boolean
|
|
}
|
|
|
|
export interface CancelablePromise<T> extends Promise<T>{
|
|
cancel(reason: string): undefined
|
|
}
|
|
|
|
export interface OnceOptions {
|
|
/**
|
|
* @default 0
|
|
*/
|
|
timeout: number,
|
|
/**
|
|
* @default Promise
|
|
*/
|
|
Promise: Function,
|
|
/**
|
|
* @default false
|
|
*/
|
|
overload: boolean
|
|
}
|
|
|
|
export interface ListenToOptions {
|
|
on?: { (event: event | eventNS, handler: ListenerFn): void },
|
|
off?: { (event: event | eventNS, handler: ListenerFn): void },
|
|
reducers: Function | Object
|
|
}
|
|
|
|
export interface GeneralEventEmitter{
|
|
addEventListener(event: event, handler: ListenerFn): this,
|
|
removeEventListener(event: event, handler: ListenerFn): this,
|
|
addListener?(event: event, handler: ListenerFn): this,
|
|
removeListener?(event: event, handler: ListenerFn): this,
|
|
on?(event: event, handler: ListenerFn): this,
|
|
off?(event: event, handler: ListenerFn): this
|
|
}
|
|
|
|
export interface OnOptions {
|
|
async?: boolean,
|
|
promisify?: boolean,
|
|
nextTick?: boolean,
|
|
objectify?: boolean
|
|
}
|
|
|
|
export interface Listener {
|
|
emitter: EventEmitter2;
|
|
event: event|eventNS;
|
|
listener: ListenerFn;
|
|
off(): this;
|
|
}
|
|
|
|
export declare class EventEmitter2 {
|
|
constructor(options?: ConstructorOptions)
|
|
emit(event: event | eventNS, ...values: any[]): boolean;
|
|
emitAsync(event: event | eventNS, ...values: any[]): Promise<any[]>;
|
|
addListener(event: event | eventNS, listener: ListenerFn): this|Listener;
|
|
on(event: event | eventNS, listener: ListenerFn, options?: boolean|OnOptions): this|Listener;
|
|
prependListener(event: event | eventNS, listener: ListenerFn, options?: boolean|OnOptions): this|Listener;
|
|
once(event: event | eventNS, listener: ListenerFn, options?: true|OnOptions): this|Listener;
|
|
prependOnceListener(event: event | eventNS, listener: ListenerFn, options?: boolean|OnOptions): this|Listener;
|
|
many(event: event | eventNS, timesToListen: number, listener: ListenerFn, options?: boolean|OnOptions): this|Listener;
|
|
prependMany(event: event | eventNS, timesToListen: number, listener: ListenerFn, options?: boolean|OnOptions): this|Listener;
|
|
onAny(listener: EventAndListener): this;
|
|
prependAny(listener: EventAndListener): this;
|
|
offAny(listener: ListenerFn): this;
|
|
removeListener(event: event | eventNS, listener: ListenerFn): this;
|
|
off(event: event | eventNS, listener: ListenerFn): this;
|
|
removeAllListeners(event?: event | eventNS): this;
|
|
setMaxListeners(n: number): void;
|
|
getMaxListeners(): number;
|
|
eventNames(nsAsArray?: boolean): (event|eventNS)[];
|
|
listenerCount(event?: event | eventNS): number
|
|
listeners(event?: event | eventNS): ListenerFn[]
|
|
listenersAny(): ListenerFn[]
|
|
waitFor(event: event | eventNS, timeout?: number): CancelablePromise<any[]>
|
|
waitFor(event: event | eventNS, filter?: WaitForFilter): CancelablePromise<any[]>
|
|
waitFor(event: event | eventNS, options?: WaitForOptions): CancelablePromise<any[]>
|
|
listenTo(target: GeneralEventEmitter, events: event | eventNS, options?: ListenToOptions): this;
|
|
listenTo(target: GeneralEventEmitter, events: event[], options?: ListenToOptions): this;
|
|
listenTo(target: GeneralEventEmitter, events: Object, options?: ListenToOptions): this;
|
|
stopListeningTo(target?: GeneralEventEmitter, event?: event | eventNS): Boolean;
|
|
hasListeners(event?: String): Boolean
|
|
static once(emitter: EventEmitter2, event: event | eventNS, options?: OnceOptions): CancelablePromise<any[]>;
|
|
static defaultMaxListeners: number;
|
|
}
|
|
|
|
export default EventEmitter2;
|