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.
This commit is contained in:
gnezim
2026-04-05 19:25:03 +03:00
parent 21c6ed4f82
commit 60e2149072
31032 changed files with 5222883 additions and 2 deletions
+7
View File
@@ -0,0 +1,7 @@
{
"main": "./row.cjs.js",
"module": "./row.esm.js",
"unpkg": "./row.min.js",
"types": "./row.d.ts",
"sideEffects": false
}
+61
View File
@@ -0,0 +1,61 @@
'use client';
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var api = require('primereact/api');
var hooks = require('primereact/hooks');
var componentbase = require('primereact/componentbase');
var utils = require('primereact/utils');
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var React__namespace = /*#__PURE__*/_interopNamespace(React);
var RowBase = componentbase.ComponentBase.extend({
defaultProps: {
__TYPE: 'Row',
style: null,
className: null,
children: undefined
},
getCProp: function getCProp(row, name) {
return utils.ObjectUtils.getComponentProp(row, name, RowBase.defaultProps);
}
});
var Row = function Row(inProps) {
var mergeProps = hooks.useMergeProps();
var context = React__namespace.useContext(api.PrimeReactContext);
var props = RowBase.getProps(inProps, context);
//@todo Pass Parent MetaData
var _RowBase$setMetaData = RowBase.setMetaData({
props: props
}),
ptm = _RowBase$setMetaData.ptm;
var rootProps = mergeProps({
className: props.className,
style: props.style
}, RowBase.getOtherProps(props), ptm('root'));
return /*#__PURE__*/React__namespace.createElement("tr", rootProps, props.children);
};
Row.displayName = 'Row';
exports.Row = Row;
+1
View File
@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("primereact/api"),t=require("primereact/hooks"),o=require("primereact/componentbase"),a=require("primereact/utils");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=n(e),u=o.ComponentBase.extend({defaultProps:{__TYPE:"Row",style:null,className:null,children:void 0},getCProp:function(e,r){return a.ObjectUtils.getComponentProp(e,r,u.defaultProps)}}),c=function(e){var o=t.useMergeProps(),a=s.useContext(r.PrimeReactContext),n=u.getProps(e,a),c=u.setMetaData({props:n}).ptm,i=o({className:n.className,style:n.style},u.getOtherProps(n),c("root"));return s.createElement("tr",i,n.children)};c.displayName="Row",exports.Row=c;
+88
View File
@@ -0,0 +1,88 @@
/**
*
* Row component is a helper component used to create grouping structures in DataTable.
*
* [Live Demo](https://www.primereact.org/datatable/)
*
* @module row
*
*/
import * as React from 'react';
import { ColumnGroupPassThroughOptions } from '../columngroup/columngroup';
import { ComponentHooks } from '../componentbase/componentbase';
import { PassThroughOptions } from '../passthrough';
import { PassThroughType } from '../utils/utils';
export declare type RowPassThroughType<T> = PassThroughType<T, RowPassThroughMethodOptions>;
/**
* Custom passthrough(pt) option method.
*/
export interface RowPassThroughMethodOptions {
props: RowProps;
parent: ColumnGroupPassThroughOptions;
}
/**
* Custom passthrough(pt) options.
* @see {@link RowProps.pt}
*/
export interface RowPassThroughOptions {
/**
* Uses to pass attributes to the root's DOM element.
*/
root?: RowPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
/**
* Used to manage all lifecycle hooks
* @see {@link ComponentHooks}
*/
hooks?: ComponentHooks;
}
/**
* Defines valid properties in Row component.
* @group Properties
*/
export interface RowProps {
/**
* Inline style of the element.
*/
style?: React.CSSProperties | undefined;
/**
* Style class of the row.
*/
className?: string | undefined;
/**
* Used to get the child elements of the component.
* @readonly
*/
children?: React.ReactNode | undefined;
/**
* Uses to pass attributes to DOM elements inside the component.
* @type {RowPassThroughOptions}
*/
pt?: RowPassThroughOptions;
/**
* Used to configure passthrough(pt) options of the component.
* @type {PassThroughOptions}
*/
ptOptions?: PassThroughOptions;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false
*/
unstyled?: boolean;
}
/**
* **PrimeReact - Row**
*
* _Row component is a helper component used to create grouping structures in DataTable._
*
* [Live Demo](https://www.primereact.org/datatable/)
* --- ---
* ![PrimeReact](https://primefaces.org/cdn/primereact/images/logo-100.png)
*
* @group Component
*/
export declare class Row extends React.Component<RowProps, any> {}
+37
View File
@@ -0,0 +1,37 @@
'use client';
import * as React from 'react';
import { PrimeReactContext } from 'primereact/api';
import { useMergeProps } from 'primereact/hooks';
import { ComponentBase } from 'primereact/componentbase';
import { ObjectUtils } from 'primereact/utils';
var RowBase = ComponentBase.extend({
defaultProps: {
__TYPE: 'Row',
style: null,
className: null,
children: undefined
},
getCProp: function getCProp(row, name) {
return ObjectUtils.getComponentProp(row, name, RowBase.defaultProps);
}
});
var Row = function Row(inProps) {
var mergeProps = useMergeProps();
var context = React.useContext(PrimeReactContext);
var props = RowBase.getProps(inProps, context);
//@todo Pass Parent MetaData
var _RowBase$setMetaData = RowBase.setMetaData({
props: props
}),
ptm = _RowBase$setMetaData.ptm;
var rootProps = mergeProps({
className: props.className,
style: props.style
}, RowBase.getOtherProps(props), ptm('root'));
return /*#__PURE__*/React.createElement("tr", rootProps, props.children);
};
Row.displayName = 'Row';
export { Row };
+1
View File
@@ -0,0 +1 @@
import*as e from"react";import{PrimeReactContext as r}from"primereact/api";import{useMergeProps as t}from"primereact/hooks";import{ComponentBase as o}from"primereact/componentbase";import{ObjectUtils as a}from"primereact/utils";var p=o.extend({defaultProps:{__TYPE:"Row",style:null,className:null,children:void 0},getCProp:function(e,r){return a.getComponentProp(e,r,p.defaultProps)}}),m=function(o){var a=t(),m=e.useContext(r),s=p.getProps(o,m),i=p.setMetaData({props:s}).ptm,l=a({className:s.className,style:s.style},p.getOtherProps(s),i("root"));return e.createElement("tr",l,s.children)};m.displayName="Row";export{m as Row};
+60
View File
@@ -0,0 +1,60 @@
this.primereact = this.primereact || {};
this.primereact.row = (function (exports, React, api, hooks, componentbase, utils) {
'use strict';
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var React__namespace = /*#__PURE__*/_interopNamespace(React);
var RowBase = componentbase.ComponentBase.extend({
defaultProps: {
__TYPE: 'Row',
style: null,
className: null,
children: undefined
},
getCProp: function getCProp(row, name) {
return utils.ObjectUtils.getComponentProp(row, name, RowBase.defaultProps);
}
});
var Row = function Row(inProps) {
var mergeProps = hooks.useMergeProps();
var context = React__namespace.useContext(api.PrimeReactContext);
var props = RowBase.getProps(inProps, context);
//@todo Pass Parent MetaData
var _RowBase$setMetaData = RowBase.setMetaData({
props: props
}),
ptm = _RowBase$setMetaData.ptm;
var rootProps = mergeProps({
className: props.className,
style: props.style
}, RowBase.getOtherProps(props), ptm('root'));
return /*#__PURE__*/React__namespace.createElement("tr", rootProps, props.children);
};
Row.displayName = 'Row';
exports.Row = Row;
Object.defineProperty(exports, '__esModule', { value: true });
return exports;
})({}, React, primereact.api, primereact.hooks, primereact.componentbase, primereact.utils);
+1
View File
@@ -0,0 +1 @@
this.primereact=this.primereact||{},this.primereact.row=function(e,t,r,o,n,a){"use strict";function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=c(t),i=n.ComponentBase.extend({defaultProps:{__TYPE:"Row",style:null,className:null,children:void 0},getCProp:function(e,t){return a.ObjectUtils.getComponentProp(e,t,i.defaultProps)}}),u=function(e){var t=o.useMergeProps(),n=s.useContext(r.PrimeReactContext),a=i.getProps(e,n),c=i.setMetaData({props:a}).ptm,u=t({className:a.className,style:a.style},i.getOtherProps(a),c("root"));return s.createElement("tr",u,a.children)};return u.displayName="Row",e.Row=u,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.hooks,primereact.componentbase,primereact.utils);