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.
68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
var tape = require('tape')
|
|
, caseless = require('./')
|
|
;
|
|
|
|
tape('set get has', function (t) {
|
|
var headers = {}
|
|
, c = caseless(headers)
|
|
;
|
|
t.plan(17)
|
|
c.set('a-Header', 'asdf')
|
|
t.equal(c.get('a-header'), 'asdf')
|
|
t.equal(c.has('a-header'), 'a-Header')
|
|
t.ok(!c.has('nothing'))
|
|
// old bug where we used the wrong regex
|
|
t.ok(!c.has('a-hea'))
|
|
c.set('a-header', 'fdsa')
|
|
t.equal(c.get('a-header'), 'fdsa')
|
|
t.equal(c.get('a-Header'), 'fdsa')
|
|
c.set('a-HEADER', 'more', false)
|
|
t.equal(c.get('a-header'), 'fdsa,more')
|
|
|
|
t.deepEqual(headers, {'a-Header': 'fdsa,more'})
|
|
c.swap('a-HEADER')
|
|
t.deepEqual(headers, {'a-HEADER': 'fdsa,more'})
|
|
|
|
c.set('deleteme', 'foobar')
|
|
t.ok(c.has('deleteme'))
|
|
t.ok(c.del('deleteme'))
|
|
t.notOk(c.has('deleteme'))
|
|
t.notOk(c.has('idonotexist'))
|
|
t.ok(c.del('idonotexist'))
|
|
|
|
c.set('tva', 'test1')
|
|
c.set('tva-header', 'test2')
|
|
t.equal(c.has('tva'), 'tva')
|
|
t.notOk(c.has('header'))
|
|
|
|
t.equal(c.get('tva'), 'test1')
|
|
|
|
})
|
|
|
|
tape('swap', function (t) {
|
|
var headers = {}
|
|
, c = caseless(headers)
|
|
;
|
|
t.plan(4)
|
|
// No Header to Swap.
|
|
t.throws(function () {
|
|
c.swap('content-type')
|
|
})
|
|
// Set Header.
|
|
c.set('content-type', 'application/json')
|
|
// Swap Header With Itself.
|
|
c.swap('content-type')
|
|
// Does Not Delete Itself.
|
|
t.ok(c.has('content-type'))
|
|
// Swap Header With a Different Header.
|
|
c.swap('Content-Type')
|
|
// Still Has Header.
|
|
t.ok(c.has('Content-Type'))
|
|
// Delete Header.
|
|
c.del('Content-Type')
|
|
// No Header to Swap.
|
|
t.throws(function () {
|
|
c.swap('content-type')
|
|
})
|
|
})
|