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(), 'com.edsancha.medallia.api.v0.enums.compareString': (): com.edsancha.medallia.api.v0.enums.CompareString => faker.helpers.arrayElement(['greaterThan', 'equals', 'smallerThan']), 'com.edsancha.medallia.api.v0.enums.formType': (): com.edsancha.medallia.api.v0.enums.FormType => faker.helpers.arrayElement(['mobileInvitation', 'code']), 'com.edsancha.medallia.api.v0.enums.ratingViewType': (): com.edsancha.medallia.api.v0.enums.RatingViewType => faker.helpers.arrayElement([ 'slide', 'numbersSquare', 'gradingSlider', 'gradingDropdown', 'stars', 'emoticons', 'numbers', 'smilies', 'bars', ]), 'com.edsancha.medallia.api.v0.models.access_token_wrapper': (): com.edsancha.medallia.api.v0.models.AccessTokenWrapper => ({ accessToken: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_checkbox': (): com.edsancha.medallia.api.v0.models.ComponentCheckbox => ({ component: 'checkbox', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), label: factories.string(), options: arrayOf(() => factories.string()), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_dropdown': (): com.edsancha.medallia.api.v0.models.ComponentDropdown => ({ component: 'select', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), placeholder: factories.string(), label: factories.string(), options: arrayOf(() => factories.string()), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_grading': (): com.edsancha.medallia.api.v0.models.ComponentGrading => ({ component: 'grading', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), label: factories.string(), ratingViewType: factories['com.edsancha.medallia.api.v0.enums.ratingViewType'](), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_grading0to10': (): com.edsancha.medallia.api.v0.models.ComponentGrading0To10 => ({ component: 'grading0to10', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), label: factories.string(), ratingViewType: factories['com.edsancha.medallia.api.v0.enums.ratingViewType'](), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_grading1to10': (): com.edsancha.medallia.api.v0.models.ComponentGrading1To10 => ({ component: 'grading1to10', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), label: factories.string(), ratingViewType: factories['com.edsancha.medallia.api.v0.enums.ratingViewType'](), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_image': (): com.edsancha.medallia.api.v0.models.ComponentImage => ({ component: 'image', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), imageObject: factories['com.edsancha.medallia.api.v0.models.image'](), uploadedResource: factories['com.edsancha.medallia.api.v0.models.image'](), }), 'com.edsancha.medallia.api.v0.models.component_label': (): com.edsancha.medallia.api.v0.models.ComponentLabel => ({ component: 'label', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), labelContent: factories.string(), num_of_lines: factories.integer(), }), 'com.edsancha.medallia.api.v0.models.component_nps': (): com.edsancha.medallia.api.v0.models.ComponentNps => ({ component: 'nps', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), label: factories.string(), description: factories.string(), ratingViewType: factories['com.edsancha.medallia.api.v0.enums.ratingViewType'](), }), 'com.edsancha.medallia.api.v0.models.component_radioSelector': (): com.edsancha.medallia.api.v0.models.ComponentRadioSelector => ({ component: 'radio', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), label: factories.string(), options: arrayOf(() => factories.string()), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_textArea': (): com.edsancha.medallia.api.v0.models.ComponentTextArea => ({ component: 'textArea', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), placeholder: factories.string(), label: factories.string(), num_of_lines: factories.integer(), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.component_textInput': (): com.edsancha.medallia.api.v0.models.ComponentTextInput => ({ component: 'textInput', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), required: factories.boolean(), placeholder: factories.string(), label: factories.string(), max_chars: factories.integer(), description: factories.string(), }), 'com.edsancha.medallia.api.v0.models.configuration': (): com.edsancha.medallia.api.v0.models.Configuration => ({ propertyId: factories.integer(), feedbackSubmitUrl: factories.string(), forms: arrayOf(() => factories['com.edsancha.medallia.api.v0.models.form']()), }), 'com.edsancha.medallia.api.v0.models.dynamicData': (): com.edsancha.medallia.api.v0.models.DynamicData => ({ index: factories.integer(), id: factories.integer(), required: factories.boolean(), component: factories.string(), unique_name: factories.string(), placeholder: factories.string(), label: factories.string(), description: factories.string(), options: arrayOf(() => factories.string()), imageObject: factories['com.edsancha.medallia.api.v0.models.image'](), }), 'com.edsancha.medallia.api.v0.models.feedback': (): com.edsancha.medallia.api.v0.models.Feedback => ({ formId: factories.integer(), dynamicData: factories['com.edsancha.medallia.api.v0.models.feedback_data'](), }), 'com.edsancha.medallia.api.v0.models.feedback_checkbox': (): com.edsancha.medallia.api.v0.models.FeedbackCheckbox => ({ component: 'checkbox', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: arrayOf(() => factories.integer()), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_data': (): com.edsancha.medallia.api.v0.models.FeedbackData => ({ customParams: factories.json(), pages: arrayOf(() => factories['com.edsancha.medallia.api.v0.models.feedback_page']()), }), 'com.edsancha.medallia.api.v0.models.feedback_dropdown': (): com.edsancha.medallia.api.v0.models.FeedbackDropdown => ({ component: 'select', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.integer(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_grading': (): com.edsancha.medallia.api.v0.models.FeedbackGrading => ({ component: 'grading', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.integer(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_grading0to10': (): com.edsancha.medallia.api.v0.models.FeedbackGrading0To10 => ({ component: 'grading0to10', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.integer(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_grading1to10': (): com.edsancha.medallia.api.v0.models.FeedbackGrading1To10 => ({ component: 'grading1to10', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.integer(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_nps': (): com.edsancha.medallia.api.v0.models.FeedbackNps => ({ component: 'nps', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.integer(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_page': (): com.edsancha.medallia.api.v0.models.FeedbackPage => ({ components: arrayOf(() => factories['com.edsancha.medallia.api.v0.unions.feedback_union']()), }), 'com.edsancha.medallia.api.v0.models.feedback_radioSelector': (): com.edsancha.medallia.api.v0.models.FeedbackRadioSelector => ({ component: 'radio', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.integer(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_textArea': (): com.edsancha.medallia.api.v0.models.FeedbackTextArea => ({ component: 'textArea', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.string(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.feedback_textInput': (): com.edsancha.medallia.api.v0.models.FeedbackTextInput => ({ component: 'textInput', index: factories.integer(), id: factories.integer(), unique_name: factories.string(), value: factories.string(), type: factories.string(), }), 'com.edsancha.medallia.api.v0.models.form': (): com.edsancha.medallia.api.v0.models.Form => ({ formId: factories.integer(), name: factories.string(), title: factories.string(), formType: factories['com.edsancha.medallia.api.v0.enums.formType'](), inviteData: factories['com.edsancha.medallia.api.v0.models.inviteData'](), triggerData: factories['com.edsancha.medallia.api.v0.models.triggerData'](), formJson: factories['com.edsancha.medallia.api.v0.models.formJson'](), }), 'com.edsancha.medallia.api.v0.models.formJson': (): com.edsancha.medallia.api.v0.models.FormJson => ({ pages: arrayOf(() => factories['com.edsancha.medallia.api.v0.models.page']()), }), 'com.edsancha.medallia.api.v0.models.image': (): com.edsancha.medallia.api.v0.models.Image => ({ name: factories.string(), url: factories.string(), }), 'com.edsancha.medallia.api.v0.models.inviteData': (): com.edsancha.medallia.api.v0.models.InviteData => ({ invitationHeadline: factories.string(), invitationText: factories.string(), provideButtonText: factories.string(), declineButtonText: factories.string(), laterButtonText: factories.string(), }), 'com.edsancha.medallia.api.v0.models.numberOfAppSession': (): com.edsancha.medallia.api.v0.models.NumberOfAppSession => ({ number: factories.string(), compareString: factories['com.edsancha.medallia.api.v0.enums.compareString'](), }), 'com.edsancha.medallia.api.v0.models.numberOfDays': (): com.edsancha.medallia.api.v0.models.NumberOfDays => ({ days: factories.string(), }), 'com.edsancha.medallia.api.v0.models.page': (): com.edsancha.medallia.api.v0.models.Page => ({ name: factories.string(), index: factories.integer(), dynamicData: arrayOf(() => factories['com.edsancha.medallia.api.v0.unions.component_union']()), }), 'com.edsancha.medallia.api.v0.models.percentageOfSessions': (): com.edsancha.medallia.api.v0.models.PercentageOfSessions => ({ prec: factories.string(), }), 'com.edsancha.medallia.api.v0.models.timeInForeground': (): com.edsancha.medallia.api.v0.models.TimeInForeground => ({ time: factories.string(), compareString: factories['com.edsancha.medallia.api.v0.enums.compareString'](), }), 'com.edsancha.medallia.api.v0.models.triggerData': (): com.edsancha.medallia.api.v0.models.TriggerData => ({ numberOfAppSession: factories['com.edsancha.medallia.api.v0.models.numberOfAppSession'](), timeInForeground: factories['com.edsancha.medallia.api.v0.models.timeInForeground'](), mobileappVersion: arrayOf(() => factories.string()), submitted: factories['com.edsancha.medallia.api.v0.models.numberOfDays'](), declined: factories['com.edsancha.medallia.api.v0.models.numberOfDays'](), mobileosVersion: arrayOf(() => factories.string()), percentageOfSessions: factories['com.edsancha.medallia.api.v0.models.percentageOfSessions'](), genericRule: factories.string(), }), 'com.edsancha.medallia.api.v0.unions.component_union': (): com.edsancha.medallia.api.v0.unions.ComponentUnion => { const f = faker.helpers.arrayElement([ () => factories['com.edsancha.medallia.api.v0.models.component_label'](), () => factories['com.edsancha.medallia.api.v0.models.component_image'](), () => factories['com.edsancha.medallia.api.v0.models.component_nps'](), () => factories['com.edsancha.medallia.api.v0.models.component_textArea'](), () => factories['com.edsancha.medallia.api.v0.models.component_textInput'](), () => factories['com.edsancha.medallia.api.v0.models.component_radioSelector'](), () => factories['com.edsancha.medallia.api.v0.models.component_checkbox'](), () => factories['com.edsancha.medallia.api.v0.models.component_dropdown'](), () => factories['com.edsancha.medallia.api.v0.models.component_grading'](), () => factories['com.edsancha.medallia.api.v0.models.component_grading0to10'](), () => factories['com.edsancha.medallia.api.v0.models.component_grading1to10'](), ]); return f(); }, 'com.edsancha.medallia.api.v0.unions.feedback_union': (): com.edsancha.medallia.api.v0.unions.FeedbackUnion => { const f = faker.helpers.arrayElement([ () => factories['com.edsancha.medallia.api.v0.models.feedback_nps'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_textArea'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_textInput'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_radioSelector'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_checkbox'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_dropdown'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_grading'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_grading0to10'](), () => factories['com.edsancha.medallia.api.v0.models.feedback_grading1to10'](), ]); return f(); }, 'com.edsancha.survey.models.v0.enums.component': (): com.edsancha.survey.models.v0.enums.Component => faker.helpers.arrayElement([ 'label', 'image', 'nps', 'textArea', 'textInput', 'radio', 'checkbox', 'grading', 'grading0to10', 'grading1to10', ]), }; export const makeAccessTokenWrapper = () => factories['com.edsancha.medallia.api.v0.models.access_token_wrapper'](); export const makeCompareString = () => factories['com.edsancha.medallia.api.v0.enums.compareString'](); export const makeComponentCheckbox = () => factories['com.edsancha.medallia.api.v0.models.component_checkbox'](); export const makeComponentDropdown = () => factories['com.edsancha.medallia.api.v0.models.component_dropdown'](); export const makeComponentGrading = () => factories['com.edsancha.medallia.api.v0.models.component_grading'](); export const makeComponentGrading0To10 = () => factories['com.edsancha.medallia.api.v0.models.component_grading0to10'](); export const makeComponentGrading1To10 = () => factories['com.edsancha.medallia.api.v0.models.component_grading1to10'](); export const makeComponentImage = () => factories['com.edsancha.medallia.api.v0.models.component_image'](); export const makeComponentLabel = () => factories['com.edsancha.medallia.api.v0.models.component_label'](); export const makeComponentNps = () => factories['com.edsancha.medallia.api.v0.models.component_nps'](); export const makeComponentRadioSelector = () => factories['com.edsancha.medallia.api.v0.models.component_radioSelector'](); export const makeComponentTextArea = () => factories['com.edsancha.medallia.api.v0.models.component_textArea'](); export const makeComponentTextInput = () => factories['com.edsancha.medallia.api.v0.models.component_textInput'](); export const makeComponentUnion = () => factories['com.edsancha.medallia.api.v0.unions.component_union'](); export const makeConfiguration = () => factories['com.edsancha.medallia.api.v0.models.configuration'](); export const makeDynamicData = () => factories['com.edsancha.medallia.api.v0.models.dynamicData'](); export const makeFeedback = () => factories['com.edsancha.medallia.api.v0.models.feedback'](); export const makeFeedbackCheckbox = () => factories['com.edsancha.medallia.api.v0.models.feedback_checkbox'](); export const makeFeedbackData = () => factories['com.edsancha.medallia.api.v0.models.feedback_data'](); export const makeFeedbackDropdown = () => factories['com.edsancha.medallia.api.v0.models.feedback_dropdown'](); export const makeFeedbackGrading = () => factories['com.edsancha.medallia.api.v0.models.feedback_grading'](); export const makeFeedbackGrading0To10 = () => factories['com.edsancha.medallia.api.v0.models.feedback_grading0to10'](); export const makeFeedbackGrading1To10 = () => factories['com.edsancha.medallia.api.v0.models.feedback_grading1to10'](); export const makeFeedbackNps = () => factories['com.edsancha.medallia.api.v0.models.feedback_nps'](); export const makeFeedbackPage = () => factories['com.edsancha.medallia.api.v0.models.feedback_page'](); export const makeFeedbackRadioSelector = () => factories['com.edsancha.medallia.api.v0.models.feedback_radioSelector'](); export const makeFeedbackTextArea = () => factories['com.edsancha.medallia.api.v0.models.feedback_textArea'](); export const makeFeedbackTextInput = () => factories['com.edsancha.medallia.api.v0.models.feedback_textInput'](); export const makeFeedbackUnion = () => factories['com.edsancha.medallia.api.v0.unions.feedback_union'](); export const makeForm = () => factories['com.edsancha.medallia.api.v0.models.form'](); export const makeFormJson = () => factories['com.edsancha.medallia.api.v0.models.formJson'](); export const makeFormType = () => factories['com.edsancha.medallia.api.v0.enums.formType'](); export const makeImage = () => factories['com.edsancha.medallia.api.v0.models.image'](); export const makeInviteData = () => factories['com.edsancha.medallia.api.v0.models.inviteData'](); export const makeNumberOfAppSession = () => factories['com.edsancha.medallia.api.v0.models.numberOfAppSession'](); export const makeNumberOfDays = () => factories['com.edsancha.medallia.api.v0.models.numberOfDays'](); export const makePage = () => factories['com.edsancha.medallia.api.v0.models.page'](); export const makePercentageOfSessions = () => factories['com.edsancha.medallia.api.v0.models.percentageOfSessions'](); export const makeRatingViewType = () => factories['com.edsancha.medallia.api.v0.enums.ratingViewType'](); export const makeTimeInForeground = () => factories['com.edsancha.medallia.api.v0.models.timeInForeground'](); export const makeTriggerData = () => factories['com.edsancha.medallia.api.v0.models.triggerData']();