With Matty & Juan
describe('Given check-in flow', function () {
it('should list the checked-in segments', function() {
var firstFlightOnly = [];
var lastFlightAfterFirst = [];
var arrangeFirstFlight = _.cloneDeep(segments);
var arrangeLastFlight = _.cloneDeep(segments);
// set last flight not available for check-in
arrangeFirstFlight[1].IsSegmentCheckInAvailable = false;
arrangeFirstFlight[1].PaxSegments[0].HasCheckedIn = false;
arrangeFirstFlight[1].PaxSegments[1].HasCheckedIn = false;
arrangeFirstFlight[1].PaxSegments[2].HasCheckedIn = false;
// set first flight to already checked-in
arrangeLastFlight[0].IsSegmentCheckInAvailable = false;
arrangeLastFlight[0].PaxSegments[0].HasCheckedIn = true;
arrangeLastFlight[0].PaxSegments[1].HasCheckedIn = true;
arrangeLastFlight[0].PaxSegments[2].HasCheckedIn = true;
// set some people checked-in on last flight
arrangeLastFlight[1].IsSegmentCheckInAvailable = true;
arrangeLastFlight[1].PaxSegments[0].HasCheckedIn = true;
arrangeLastFlight[1].PaxSegments[1].HasCheckedIn = true;
arrangeLastFlight[1].PaxSegments[2].HasCheckedIn = false;
});
});
describe('Given check-in flow', function () {
it('should list the checked-in segments', function() {
// ... already arranged data...
// act on the data so a new model is made
_.each(arrangeFirstFlight, function(segment){
firstFlightOnly.push(new SegmentModelWithPaxInfo(
segment,
mockBoarding.booking.Passengers
));
});
// act on the data so another model is made, different to the last
_.each(arrangeLastFlight, function(segment){
lastFlightAfterFirst.push(new SegmentModelWithPaxInfo(
segment,
mockBoarding.booking.Passengers
));
});
});
});
describe('Given check-in flow', function () {
it('should list the checked-in segments', function() {
// ... already arranged data...
// ... already acted models...
// prove aboth flights with passengers are shown
expect(allFlights[0].availablePaxList.length).toBeGreaterThan(0);
expect(allFlights[0].isCheckingIn).toBe(true);
expect(allFlights[1].availablePaxList.length).toBeGreaterThan(0);
expect(allFlights[1].isCheckingIn).toBe(true);
// prove only the first flight is shown
expect(firstFlightOnly[0].availablePaxList.length).not.toBe(0);
expect(firstFlightOnly[0].isCheckingIn).toBe(true);
expect(firstFlightOnly[1].availablePaxList.length).toBe(0);
expect(firstFlightOnly[1].isCheckingIn).toBe(false);
// prove only the last flight is shown
expect(lastFlightAfterFirst[0].availablePaxList.length).toBe(3);
expect(lastFlightAfterFirst[0].isCheckingIn).toBe(false);
expect(lastFlightAfterFirst[1].availablePaxList.length).toBeGreaterThan(0);
expect(lastFlightAfterFirst[1].availablePaxList.length).toBe(2);
expect(lastFlightAfterFirst[1].isCheckingIn).toBe(true);
});
});