import faker from '@faker-js/faker'; const arrayOf = (f: () => T) => { const length = 3; return Array.from({ length, }, f); }; const objectOf = (f: () => T) => { const keys = ['foo', 'bar', 'qux']; return keys.reduce>((object, key) => { object[key] = f(); return object; }, {}); }; const factories = { boolean: () => faker.datatype.boolean(), date_iso_8601: () => faker.datatype.datetime().toISOString().slice(0, 10), date_time_iso_8601: () => faker.datatype.datetime().toISOString(), decimal: () => faker.datatype.float(), double: () => faker.datatype.float(), integer: () => faker.datatype.number(), json: () => faker.datatype.json(), long: () => faker.datatype.number(), object: () => faker.datatype.json(), string: () => faker.datatype.string(), unit: () => undefined, uuid: () => faker.datatype.uuid(), 'DaniTest.competition.api.from.swagger.v0.enums.CompetitionStatus': (): DaniTest.competition.api.from.swagger.v0.enums.CompetitionStatus => faker.helpers.arrayElement(['pending', 'active', 'closed']), 'DaniTest.competition.api.from.swagger.v0.models.competition': (): DaniTest.competition.api.from.swagger.v0.models.Competition => ({ guid: factories.uuid(), name: factories.string(), status: factories['DaniTest.competition.api.from.swagger.v0.enums.CompetitionStatus'](), start_at: factories.date_time_iso_8601(), end_at: factories.date_time_iso_8601(), created_at: factories.date_time_iso_8601(), updated_at: factories.date_time_iso_8601(), }), 'DaniTest.competition.api.from.swagger.v0.models.competition_participant': (): DaniTest.competition.api.from.swagger.v0.models.CompetitionParticipant => ({ guid: factories.uuid(), competition_id: factories.uuid(), competitor_id: factories.uuid(), }), 'DaniTest.competition.api.from.swagger.v0.models.competitor': (): DaniTest.competition.api.from.swagger.v0.models.Competitor => ({ guid: factories.uuid(), name: factories.string(), }), 'DaniTest.competition.api.from.swagger.v0.models.vote': (): DaniTest.competition.api.from.swagger.v0.models.Vote => ({ guid: factories.uuid(), competition_participant_id: factories.uuid(), voter_id: factories.uuid(), type: factories.string(), points: factories.integer(), }), 'DaniTest.competition.api.from.swagger.v0.models.voter': (): DaniTest.competition.api.from.swagger.v0.models.Voter => ({ guid: factories.uuid(), name: factories.string(), }), }; export const makeCompetitionStatus = () => factories['DaniTest.competition.api.from.swagger.v0.enums.CompetitionStatus'](); export const makeCompetition = () => factories['DaniTest.competition.api.from.swagger.v0.models.competition'](); export const makeCompetitionParticipant = () => factories['DaniTest.competition.api.from.swagger.v0.models.competition_participant'](); export const makeCompetitor = () => factories['DaniTest.competition.api.from.swagger.v0.models.competitor'](); export const makeVote = () => factories['DaniTest.competition.api.from.swagger.v0.models.vote'](); export const makeVoter = () => factories['DaniTest.competition.api.from.swagger.v0.models.voter']();