Skip to content

Commit

Permalink
[#12588] Add unit tests to DatePickerFormatter (#12593)
Browse files Browse the repository at this point in the history
* Add unit tests to datepickerformatter

* Update wording for comment regarding date

---------

Co-authored-by: Jason Qiu <[email protected]>
  • Loading branch information
dlimyy and jasonqiu212 authored Sep 26, 2023
1 parent 8bc5ed6 commit 70be153
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions src/web/app/components/datepicker/datepicker-formatter.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';
import { DatePickerFormatter } from './datepicker-formatter';

describe('DatepickerFormatter', () => {
let formatter : DatePickerFormatter;

beforeEach(() => {
formatter = new DatePickerFormatter();
});

it('should create an instance', () => {
expect(formatter).toBeTruthy();
});

it('should return an empty string if date is null', () => {
// Any is used as the type for date here as it is the only way to pass in null to NgbDateStruct
const date: any = null;
const formattedDate: String = formatter.format(date);
expect(formattedDate).toEqual('');
});

it('should return a properly formatted date string', () => {
const date: NgbDateStruct = { year: 2023, month: 12, day: 12 };
const formattedDate = formatter.format(date);
expect(formattedDate).toEqual('Tue, 12 Dec, 2023');
});

it('should parse the valid date string correctly', () => {
const date : string = 'Tue, 12 Dec, 2023';
const parsedDate : NgbDateStruct = formatter.parse(date);
expect(parsedDate.day).toEqual(12);
expect(parsedDate.month).toEqual(12);
expect(parsedDate.year).toEqual(2023);
});

it('should return NaN for all the fields if invalid date string format is parsed', () => {
const date : string = '12th December 2023';
const parsedDate : NgbDateStruct = formatter.parse(date);
expect(parsedDate.day).toEqual(NaN);
expect(parsedDate.month).toEqual(NaN);
expect(parsedDate.year).toEqual(NaN);
});
});

0 comments on commit 70be153

Please sign in to comment.