import { test, expect } from 'vitest'import HookStats from '../../src/stats/hook.js'test('should get initialized', () => {const hook = new HookStats({cid: '0-0',title: 'foobar',parent: 'barfoo',currentTest: 'sometest'})expect(hook.type).toBe('hook')expect(hook.cid).toBe('0-0')expect(hook.title).toBe('foobar')expect(hook.parent).toBe('barfoo')expect(hook.currentTest).toBe('sometest')})test('should allow to be called complete', () => {const hook = new HookStats({cid: '0-0',title: 'foobar',parent: 'barfoo'})expect(typeof hook.end).toBe('undefined')hook.complete()expect(hook.end).toBeInstanceOf(Date)})test('should mark hook as failed if onComplete has errors', () => {const hook = new HookStats({cid: '0-0',title: 'foobar',parent: 'barfoo'})const errors = [new Error('boom')]hook.complete(errors)expect(hook.errors).toBe(errors)expect(hook.error!.message).toBe('boom')expect(hook.state).toBe('failed')})test('Should not mark hook as failed if onComplete has no errors', () => {const hook = new HookStats({cid: '0-0',title: 'foobar',parent: 'barfoo'})const errors: [] = []hook.complete(errors)expect(hook.errors).toBe(errors)expect(hook.error).toBeUndefined()expect(hook.state).not.toBe('failed')})