import { TripStatus, PunchType } from '../common/constants/enums';
import {
  mapTripStatusToTracking,
  trackingStatusFromPunch,
} from './tracking-status.util';

describe('tracking-status.util', () => {
  it('maps travelling to started', () => {
    expect(mapTripStatusToTracking(TripStatus.TRAVELLING)).toBe('started');
  });

  it('maps arrived to paused', () => {
    expect(mapTripStatusToTracking(TripStatus.ARRIVED)).toBe('paused');
  });

  it('maps return trip to resumed', () => {
    expect(mapTripStatusToTracking(TripStatus.RETURN_TRIP)).toBe('resumed');
  });

  it('maps completed to ended', () => {
    expect(mapTripStatusToTracking(TripStatus.COMPLETED)).toBe('ended');
  });

  it('maps departure punch to started', () => {
    expect(trackingStatusFromPunch(PunchType.DEPARTURE)).toBe('started');
  });

  it('maps arrival punch to paused', () => {
    expect(trackingStatusFromPunch(PunchType.ARRIVAL)).toBe('paused');
  });
});
