-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtemba-date.test.ts
83 lines (70 loc) · 2.17 KB
/
temba-date.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import { html, fixture, expect } from '@open-wc/testing';
import { TembaDate } from '../src/date/TembaDate';
import {
assertScreenshot,
getClip,
getComponent,
loadStore,
mockNow
} from './utils.test';
const TAG = 'temba-date';
export const getDate = async (attrs: any = {}) => {
attrs['width'] = 100;
return (await getComponent(TAG, attrs)) as TembaDate;
};
mockNow('2022-12-02T21:00:00.000000');
describe('temba-date', () => {
beforeEach(() => {
loadStore();
});
it('renders default', async () => {
const date = await getDate({ value: '1978-11-18T02:22:00.000000' });
const dateString = (
date.shadowRoot.querySelector('.date') as HTMLSpanElement
).innerText;
await assertScreenshot('date/date', getClip(date));
expect(dateString).to.equal('11/18/1978');
});
it('renders duration', async () => {
const date = await getDate({
value: '1978-11-18T02:22:00.000000',
display: 'duration'
});
const dateString = (
date.shadowRoot.querySelector('.date') as HTMLSpanElement
).innerText;
await assertScreenshot('date/duration', getClip(date));
expect(dateString).to.equal('44 years ago');
});
it('renders datetime', async () => {
const date = await getDate({
value: '1978-11-18T02:22:00.000000',
display: 'datetime'
});
const dateString = (
date.shadowRoot.querySelector('.date') as HTMLSpanElement
).innerText;
await assertScreenshot('date/datetime', getClip(date));
expect(dateString).to.equal('11/18/1978, 2:22 AM');
});
it('renders timedate', async () => {
const date = await getDate({
value: '2022-12-01T21:30:00.000000',
display: 'timedate'
});
const dateString = (
date.shadowRoot.querySelector('.date') as HTMLSpanElement
).innerText;
await assertScreenshot('date/timedate', getClip(date));
expect(dateString).to.equal('Dec 1');
});
it('renders inline', async () => {
const el: HTMLElement = await fixture(html`
<span
>Your birthday is
<temba-date value="1978-11-18T02:22:00.000000"></temba-date>!</span
>
`);
await assertScreenshot('date/date-inline', getClip(el));
});
});