import { faker } from '@faker-js/faker'; import { CallToActionFaker } from '@test/fakers/call-to-action.faker'; import { Vector3Faker } from '@test/fakers/vector3.faker'; import { InvertTransformFaker } from '@test/fakers/invert-transform.faker'; import { ColourFaker } from '@test/fakers/colour.faker'; import { OrientationFaker } from '@test/fakers/orientation.faker'; import { DataOverlayMcad, DataOverlayMcadRaw } from '@3cr/viewer-types-ts'; export class DataOverlayMcadFaker { static random(): DataOverlayMcad { return { ...DataOverlayMcadFaker.randomBase(), CallToAction: CallToActionFaker.random(), }; } static randomRaw(): DataOverlayMcadRaw { return { ...DataOverlayMcadFaker.randomBase(), CallToAction: JSON.stringify(CallToActionFaker.randomRaw()), }; } private static randomBase() { const keyId = faker.string.uuid(); return { Version: faker.system.semver(), Id: keyId, Title: faker.lorem.word(), Description: faker.lorem.text(), Position: Vector3Faker.random(), Rotation: Vector3Faker.random(), Scale: Vector3Faker.random(), Inverted: InvertTransformFaker.random(), Colour: ColourFaker.random(), Visibility: faker.datatype.boolean(), Key: keyId, Orientation: OrientationFaker.random(), }; } }