Skip to content

Commit 20e62b7

Browse files
committed
FO-2760 Forbedring av mock data
1 parent 5ffe112 commit 20e62b7

File tree

4 files changed

+42
-8
lines changed

4 files changed

+42
-8
lines changed

src/components/user-table/user-table-row.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { Bruker } from '../../rest/data/bruker';
3-
import { formatDateStr, formatDateTime } from '../../utils/date-utils';
3+
import { formatDateTime, dagerSiden } from '../../utils/date-utils';
44

55
export const UserRow = (props: {bruker: Bruker}) => {
66
const {
@@ -13,7 +13,7 @@ export const UserRow = (props: {bruker: Bruker}) => {
1313
<tr className="user-table__row">
1414
<td>{fnr}</td>
1515
<td>{fornavn + ' ' + etternavn}</td>
16-
<td>{formatDateStr(oppfolgingStartet)}</td>
16+
<td>{dagerSiden(oppfolgingStartet)}</td>
1717
<td>{oppfolgingsenhetNavn}</td>
1818
<td>{beslutterNavn}</td>
1919
<td>{status}</td>

src/mock/data/brukere.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,34 @@
11
import faker from 'faker';
22
import { Bruker, BrukerStatus } from '../../rest/data/bruker';
33
import { enheter } from './enheter';
4+
import { randBetween } from '../../utils';
5+
6+
function randomFnr(): string {
7+
const dag = randBetween(1, 31);
8+
const mnd = randBetween(1, 12);
9+
const ar = randBetween(0, 99);
10+
const arhundre = randBetween(0, 99).toString().padStart(2, '0');
11+
const kjonnsiffer = faker.random.boolean() ? 4 : 1;
12+
const individsifre = `${arhundre}${kjonnsiffer}`;
13+
const kontrollsifre = `${randBetween(0, 9)}${randBetween(0, 9)}`;
14+
15+
return `${dag.toString().padStart(2, '0')}${mnd.toString().padStart(2, '0')}${ar.toString().padStart(2, '0')}${individsifre}${kontrollsifre}`;
16+
}
417

518
export const lagBrukere = (antallBrukere: number): Bruker[] => {
619
const brukere: Bruker[] = [];
720

821
for (let i = 0; i < antallBrukere; i++) {
922
const randomEnhet = faker.random.arrayElement(enheter);
10-
1123
const bruker: Bruker = {
1224
beslutterNavn: faker.name.firstName() + ' ' + faker.name.lastName(),
13-
fnr: faker.random.number(1231999999999).toString(),
25+
fnr: randomFnr(),
1426
fornavn: faker.name.firstName(),
1527
etternavn: faker.name.lastName(),
16-
oppfolgingStartet: faker.date.recent().toISOString(),
28+
oppfolgingStartet: faker.date.recent(30).toISOString(),
1729
oppfolgingsenhetId: randomEnhet.enhetId,
1830
oppfolgingsenhetNavn: randomEnhet.navn,
19-
status: BrukerStatus.KLAR_TIL_UTSENDING,
31+
status: faker.random.objectElement(BrukerStatus) as BrukerStatus,
2032
utkastSistEndret: faker.date.recent().toISOString()
2133
};
2234

src/utils/date-utils.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import dayjs from 'dayjs';
22

33
export function formatDateTime(dateStr: string) {
4-
return dayjs(dateStr).format('DD. MMM. YYYY kl. HH:mm');
4+
return dayjs(dateStr).format('DD. MMM YYYY kl. HH:mm');
55
}
66

77
export function formatDateStr(dateStr: string) {
@@ -11,3 +11,21 @@ export function formatDateStr(dateStr: string) {
1111
export function formatDate(date: Date, format: string = 'DD.MM.YYYY') {
1212
return dayjs(date).format(format);
1313
}
14+
15+
export function daysFromToday(date: Date): number {
16+
const today = dayjs();
17+
return today.diff(dayjs(date), 'day');
18+
}
19+
20+
export function dagerSiden(dateStr: string): string {
21+
const date = dayjs(dateStr).toDate();
22+
const days = daysFromToday(date);
23+
24+
if (days <= 0) {
25+
return 'i dag';
26+
} else if (days < 30) {
27+
return `${days} dager siden`;
28+
}
29+
30+
return formatDate(date);
31+
}

src/utils/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,8 @@ export function doNothing() {}
44

55
export function isEmpty(str: string): boolean {
66
return str ? str.trim().length === 0 : true;
7-
}
7+
}
8+
9+
export function randBetween(from: number, to: number): number {
10+
return Math.round(Math.random() * (to - from) + from);
11+
}

0 commit comments

Comments
 (0)