From 0b6e8a17c38c542d535ca20196cfd1e848abfeac Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 23 Apr 2023 12:59:06 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20(record)=20test=20hook=20useTaskRec?= =?UTF-8?q?ordMetadata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hooks/useTaskRecordMetadata.test.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/modules/record/hooks/useTaskRecordMetadata.test.ts diff --git a/src/modules/record/hooks/useTaskRecordMetadata.test.ts b/src/modules/record/hooks/useTaskRecordMetadata.test.ts new file mode 100644 index 0000000..ae20701 --- /dev/null +++ b/src/modules/record/hooks/useTaskRecordMetadata.test.ts @@ -0,0 +1,33 @@ +import { toISODate } from '@/shared/types/date' +import { faker } from '@faker-js/faker' +import { describe, expect, it } from 'vitest' +import { ref } from 'vue' +import { createRecordableFixture } from '../interfaces/recordable.fixture' +import { TaskRecord } from '../models/task-record' +import { useTaskRecordMetadata } from './useTaskRecordMetadata' + +describe('use task record metadata', () => { + it('has no duration if there is no task', () => { + const { duration } = useTaskRecordMetadata(ref(null)) + + expect(duration.value).toEqual(0) + }) + + it('returns the right duration', () => { + const end = toISODate(new Date('2023-04-17T20:00:00.000Z')) + const record = createRecordableFixture({ + stepRecords: { + [faker.datatype.uuid()]: { + start: toISODate(new Date('2023-04-17T19:00:00.000Z')), + end + } + }, + end + }) + const { duration } = useTaskRecordMetadata( + TaskRecord.fromRecordable(record) + ) + + expect(duration.value).toEqual(60) + }) +})