Update signup question types
This commit is contained in:
@@ -2,7 +2,9 @@ export interface Question {
|
||||
id: string;
|
||||
name: string;
|
||||
type: OptionTypes;
|
||||
options: string[];
|
||||
enum?: string[];
|
||||
enumNames?: string[];
|
||||
description?: string;
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
@@ -13,7 +15,7 @@ export interface InputProps {
|
||||
type: string;
|
||||
}
|
||||
|
||||
type OptionTypes =
|
||||
export type OptionTypes =
|
||||
"text" |
|
||||
"info" |
|
||||
"integer" |
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import React, {
|
||||
import fi from "./locales/fi/common.json";
|
||||
import en from "./locales/en/common.json";
|
||||
|
||||
type Lang = "fi" | "en";
|
||||
export type Lang = "fi" | "en";
|
||||
const LOCAL_STORAGE_KEY = "locale";
|
||||
|
||||
type TranslateFunc = (key: string) => string;
|
||||
|
||||
+19
-2
@@ -1,4 +1,4 @@
|
||||
import { Question } from "@components/Widgets/SignupQuestionsWidget/common";
|
||||
import { OptionTypes } from "@components/Widgets/SignupQuestionsWidget/common";
|
||||
|
||||
export interface Signup {
|
||||
id?: number;
|
||||
@@ -6,14 +6,31 @@ export interface Signup {
|
||||
answer: string;
|
||||
}
|
||||
|
||||
// Describes how forms are stored in backend
|
||||
export interface SignupFormQuestion {
|
||||
id: string;
|
||||
title_fi: string;
|
||||
title_en: string;
|
||||
description_fi?: string;
|
||||
description_en?: string;
|
||||
type: OptionTypes;
|
||||
options?: {
|
||||
enum: string[];
|
||||
enumNames_fi: string[];
|
||||
enumNames_en: string[];
|
||||
};
|
||||
required?: boolean;
|
||||
}
|
||||
export interface SignupForm {
|
||||
id?: number;
|
||||
title_fi: string;
|
||||
title_en: string;
|
||||
visible: boolean;
|
||||
isOpen: boolean;
|
||||
start_time: string;
|
||||
end_time: string;
|
||||
questions: Question[];
|
||||
email_content: string;
|
||||
questions: SignupFormQuestion[];
|
||||
signups: string[];
|
||||
quota: number;
|
||||
schema: {
|
||||
|
||||
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
|
||||
import { NextPage } from "next";
|
||||
import { useRouter } from "next/router";
|
||||
import AdminCreateCommon from "@views/admin/AdminCreateCommon";
|
||||
import { SignupForm } from "@models/Signup";
|
||||
import { SignupForm, SignupFormQuestion } from "@models/Signup";
|
||||
import SignupApi from "@api/signupApi";
|
||||
import DatetimeWidget from "@components/Widgets/DatetimeWidget";
|
||||
import SignupQuestionsWidget from "@components/Widgets/SignupQuestionsWidget/SignupQuestionsWidget";
|
||||
@@ -124,7 +124,7 @@ const SignupCreatePage: NextPage = () => {
|
||||
|
||||
const onSubmit = async (data: any) => {
|
||||
try {
|
||||
const questions = JSON.parse(data.formData.questions);
|
||||
const questions: SignupFormQuestion[] = JSON.parse(data.formData.questions);
|
||||
const payload: SignupForm = {
|
||||
...data.formData,
|
||||
questions,
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { Question } from "@components/Widgets/SignupQuestionsWidget/common";
|
||||
import { SignupForm } from "@models/Signup";
|
||||
import { SignupFormQuestion } from "@models/Signup";
|
||||
import { EMAIL_REGEX } from "@utils/regexes";
|
||||
import escapeRegExp from "lodash/escapeRegExp";
|
||||
import { Lang } from "src/i18n";
|
||||
|
||||
const questionToUISchemaProp = (question: Question) => {
|
||||
let obj: Record<"ui:widget", string>;
|
||||
@@ -30,7 +31,7 @@ const questionToValidationSchema = (question: Question) => {
|
||||
obj = {
|
||||
type: "null",
|
||||
title: question.name,
|
||||
description: question.options,
|
||||
description: question.description,
|
||||
};
|
||||
} else if (question.type === "email") {
|
||||
// Format is just a "FYI" field, so we also have pattern.
|
||||
@@ -45,37 +46,37 @@ const questionToValidationSchema = (question: Question) => {
|
||||
obj = {
|
||||
type: "string",
|
||||
title: question.name,
|
||||
pattern: question.options.map((x) => `^${escapeRegExp(x)}$`).join("|"),
|
||||
enum: question.options,
|
||||
pattern: question.enum.map((x) => `^${escapeRegExp(x)}$`).join("|"),
|
||||
enum: question.enum,
|
||||
};
|
||||
} else if (question.type === "checkbox") {
|
||||
obj = {
|
||||
type: "array",
|
||||
title: question.name,
|
||||
uniqueItems: true,
|
||||
maxItems: question.options.length,
|
||||
maxItems: question.enum.length,
|
||||
items: {
|
||||
type: "string",
|
||||
enum: question.options,
|
||||
pattern: question.options.map((x) => `^${escapeRegExp(x)}$`).join("|"),
|
||||
enum: question.enum,
|
||||
pattern: question.enum.map((x) => `^${escapeRegExp(x)}$`).join("|"),
|
||||
},
|
||||
};
|
||||
} else if (question.type === "integer") {
|
||||
// https://json-schema.org/understanding-json-schema/reference/numeric.html
|
||||
if (question.options.length === 1) {
|
||||
if (question.enum.length === 1) {
|
||||
obj = {
|
||||
type: "number",
|
||||
title: `${question.name} (Max: ${question.options[0]})`,
|
||||
title: `${question.name} (Max: ${question.enum[0]})`,
|
||||
multipleOf: 1.0,
|
||||
maximum: Number(question.options[0]),
|
||||
maximum: Number(question.enum[0]),
|
||||
};
|
||||
} else if (question.options.length === 2) {
|
||||
} else if (question.enum.length === 2) {
|
||||
obj = {
|
||||
type: "number",
|
||||
title: `${question.name} (${question.options[0]} -- ${question.options[1]})`,
|
||||
title: `${question.name} (${question.enum[0]} -- ${question.enum[1]})`,
|
||||
multipleOf: 1.0,
|
||||
minimum: Number(question.options[0]),
|
||||
maximum: Number(question.options[1]),
|
||||
minimum: Number(question.enum[0]),
|
||||
maximum: Number(question.enum[1]),
|
||||
};
|
||||
} else {
|
||||
obj = {
|
||||
@@ -92,9 +93,8 @@ const questionToValidationSchema = (question: Question) => {
|
||||
};
|
||||
};
|
||||
|
||||
export const buildFormSchema = (signUpForm: SignupForm) => {
|
||||
export const buildFormSchema = (questions: Question[], title: string) => {
|
||||
let schemaProps = {};
|
||||
const { questions } = signUpForm;
|
||||
const requiredIds = questions.filter((q) => q.required).map((q) => q.id);
|
||||
const schemaPropsArray = questions.map(questionToValidationSchema);
|
||||
schemaPropsArray.forEach((schemaProp) => {
|
||||
@@ -105,7 +105,7 @@ export const buildFormSchema = (signUpForm: SignupForm) => {
|
||||
});
|
||||
|
||||
const schema = {
|
||||
title: signUpForm.id ? signUpForm.title_fi : "Loading...",
|
||||
title,
|
||||
type: "object",
|
||||
required: requiredIds,
|
||||
properties: schemaProps,
|
||||
@@ -114,9 +114,24 @@ export const buildFormSchema = (signUpForm: SignupForm) => {
|
||||
return schema;
|
||||
};
|
||||
|
||||
export const buildValidationSchema = (questions: Question[]) => {
|
||||
export const signupFormQuestionToQuestion = ({
|
||||
id, title_fi, title_en, description_fi, description_en, type, options, required,
|
||||
}: SignupFormQuestion, language: Lang): Question => ({
|
||||
id,
|
||||
type,
|
||||
name: language === "fi" ? title_fi : title_en,
|
||||
enum: options?.enum,
|
||||
enumNames: language === "fi" ? options?.enumNames_fi : options?.enumNames_en,
|
||||
description: language === "fi" ? description_fi : description_en,
|
||||
required,
|
||||
});
|
||||
|
||||
export const buildValidationSchema = (sfQuestions: SignupFormQuestion[]) => {
|
||||
let schemaProps = {};
|
||||
|
||||
// Remove translations. We use Finnish translations as values for validation
|
||||
const questions = sfQuestions.map((q) => signupFormQuestionToQuestion(q, "fi"));
|
||||
|
||||
// Force every radiobutton to be required field
|
||||
questions.forEach((q) => {
|
||||
if (q.type === "radiobutton") {
|
||||
@@ -144,8 +159,7 @@ export const buildValidationSchema = (questions: Question[]) => {
|
||||
return validationSchema;
|
||||
};
|
||||
|
||||
export const buildUISchema = (signUpForm: SignupForm) => {
|
||||
const { questions } = signUpForm;
|
||||
export const buildUISchema = (questions: Question[]) => {
|
||||
const uiSchemaPropsArray = questions.map(questionToUISchemaProp);
|
||||
let uiSchemaProps = {};
|
||||
uiSchemaPropsArray.forEach((uiSchemaProp) => {
|
||||
|
||||
@@ -8,7 +8,7 @@ import { TextSection, ChangeLanguageButton } from "@components/index";
|
||||
import colors from "@theme/colors";
|
||||
import FormWrapper from "@views/common/FormWrapper";
|
||||
import Loader from "@components/Loader";
|
||||
import { buildFormSchema, buildUISchema } from "./FormUtils";
|
||||
import { buildFormSchema, buildUISchema, signupFormQuestionToQuestion } from "./FormUtils";
|
||||
import { useTranslation } from "../../i18n";
|
||||
|
||||
const customWidgets = {
|
||||
@@ -106,12 +106,14 @@ const SignUpPageView: React.FC<SignUpPageViewProps> = ({
|
||||
);
|
||||
signups = renderList();
|
||||
} else {
|
||||
const formTitle = signUpForm.id ? signUpForm.title_fi : "Loading...";
|
||||
const questions = signUpForm.questions.map((q) => signupFormQuestionToQuestion(q, i18n.language));
|
||||
form = (
|
||||
<>
|
||||
<p>{`${t("Ilmoittauminen sulkeutuu")} ${endDateStr}`}.</p>
|
||||
<FormWrapper
|
||||
schema={buildFormSchema(signUpForm) as unknown}
|
||||
uiSchema={buildUISchema(signUpForm)}
|
||||
schema={buildFormSchema(questions, formTitle) as unknown}
|
||||
uiSchema={buildUISchema(questions)}
|
||||
formData={formData}
|
||||
widgets={customWidgets}
|
||||
idPrefix="rjsf"
|
||||
|
||||
@@ -43,7 +43,7 @@ Object {
|
||||
"Alkoholiton",
|
||||
],
|
||||
"pattern": "^Alkoholillinen$|^Alkoholiton$",
|
||||
"title": "Pääjuhlan juomatarjoilut ",
|
||||
"title": "Pääjuhlan juomatarjoilut",
|
||||
"type": "string",
|
||||
},
|
||||
"OF55WBbOx": Object {
|
||||
@@ -272,7 +272,7 @@ Object {
|
||||
"Alkoholiton",
|
||||
],
|
||||
"pattern": "^Alkoholillinen$|^Alkoholiton$",
|
||||
"title": "Pääjuhlan juomatarjoilut ",
|
||||
"title": "Pääjuhlan juomatarjoilut",
|
||||
"type": "string",
|
||||
},
|
||||
"OF55WBbOx": Object {
|
||||
@@ -409,3 +409,549 @@ Object {
|
||||
"type": "object",
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`signupFormQuestionToQuestion mathces snapshot in English 1`] = `
|
||||
Array [
|
||||
Object {
|
||||
"description": "EN - Tämä ilmoittautuminen kustantaa 120€ opiskelijoille ja 180€ alumneille. Ilmoittautuminen on sitova.",
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "yigh6mhd4",
|
||||
"name": "EN-Ilmoittautuminen",
|
||||
"required": undefined,
|
||||
"type": "info",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "WRflgsBe_",
|
||||
"name": "Name",
|
||||
"required": true,
|
||||
"type": "name",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "OF55WBbOx",
|
||||
"name": "Email",
|
||||
"required": true,
|
||||
"type": "email",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Killan jäsen",
|
||||
"Killan alumni",
|
||||
"Jäsenen avec",
|
||||
"Alumnin avec",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Member",
|
||||
"Alumni",
|
||||
"Member avec",
|
||||
"Alumni avec",
|
||||
],
|
||||
"id": "ZY5UpArqx",
|
||||
"name": "I am ",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "dUzh31kag",
|
||||
"name": "Freshman year (yyyy)",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "1LaFnZ-Of",
|
||||
"name": "Allergies",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": "EN - Huomioimme allergiat menuvalinnan lisäksi. Esimerkiksi jos on allerginen kalalle tämä otetaan huomioon jos on valinnut \\"liha ja kala\\" vaihtoehdon.",
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "PajprpSLa",
|
||||
"name": "EN - Liha ja kala menuvaihtoehto tarkoittaa sitä että menuun kuuluu molempia alku- tai pääruokana.",
|
||||
"required": undefined,
|
||||
"type": "info",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Vegaaninen",
|
||||
"Liha ja Kala",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Vegan",
|
||||
"Meat and fish",
|
||||
],
|
||||
"id": "0GMtDu46R",
|
||||
"name": "EN - Pääjuhlan ruokatarjoilut",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Alkoholillinen",
|
||||
"Alkoholiton",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Alcoholic",
|
||||
"Alcohol free",
|
||||
],
|
||||
"id": "MMghazOPT",
|
||||
"name": "EN - Pääjuhlan juomatarjoilut",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Punaviini (42€)",
|
||||
"Valkoviini (42€)",
|
||||
"Kuohuviini (42€)",
|
||||
"Shamppanja (68€)",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Red wine (42€)",
|
||||
"White wine (42€)",
|
||||
"Sparkling wine (42€)",
|
||||
"Champagne (68€)",
|
||||
],
|
||||
"id": "fCYJxDSrL",
|
||||
"name": "EN - Haluan tilata pöytään pullon viiniä tai kuohuvaa",
|
||||
"required": undefined,
|
||||
"type": "checkbox",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "0q74weKci",
|
||||
"name": "Avec",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "kqPI12VK_",
|
||||
"name": "EN - Pöytäseurue",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
"id": "ofKH9GhFg",
|
||||
"name": "EN - Annan lahjan lahjanantotilaisuudessa",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "AsYHmSz2V",
|
||||
"name": "EN - Jos annat lahjan, mitä tahoa edustat?",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
"id": "hA3b8X6P4",
|
||||
"name": "EN - Haluan osallistua jatkoille",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": "EN - Ilmoitamme sähköpostilla siinä tapauksessa jos olet jonossa tai et maahtunut silliksen kiintiöön. ",
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "rf34jMWSe",
|
||||
"name": "EN - Sillikselle on rajattu määrä paikkoja, jolloin emme voi varmistaa kaikille pääsyä.",
|
||||
"required": undefined,
|
||||
"type": "info",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
"id": "PnzuTUxZH",
|
||||
"name": "EN - Haluan osallistua sillikselle seuraavana päivänä (25€)",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
"id": "aM8Xjhsqs",
|
||||
"name": "EN - Haluan kuulla lisää SIK100-historiateoksesta ja mahdollisuudesta ostaa teoksen",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
"id": "m2aKUikfI",
|
||||
"name": "EN - Vapaaehtoinen kannatusmaksu",
|
||||
"required": undefined,
|
||||
"type": "checkbox",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
"id": "13qShsW03",
|
||||
"name": "EN - Haluan saada sähköpostiini lisää tietoa SIK100-vuodesta",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "xI_OlVAxM",
|
||||
"name": "EN - Terveisiä killalle",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "04FkeTQZm",
|
||||
"name": "EN - Paras vuosijuhlamuisto",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`signupFormQuestionToQuestion mathces snapshot in Finnish 1`] = `
|
||||
Array [
|
||||
Object {
|
||||
"description": "Tämä ilmoittautuminen kustantaa 120€ opiskelijoille ja 180€ alumneille. Ilmoittautuminen on sitova.",
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "yigh6mhd4",
|
||||
"name": "Ilmoittautuminen",
|
||||
"required": undefined,
|
||||
"type": "info",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "WRflgsBe_",
|
||||
"name": "Nimi",
|
||||
"required": true,
|
||||
"type": "name",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "OF55WBbOx",
|
||||
"name": "Sähköposti",
|
||||
"required": true,
|
||||
"type": "email",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Killan jäsen",
|
||||
"Killan alumni",
|
||||
"Jäsenen avec",
|
||||
"Alumnin avec",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Killan jäsen",
|
||||
"Killan alumni",
|
||||
"Jäsenen avec",
|
||||
"Alumnin avec",
|
||||
],
|
||||
"id": "ZY5UpArqx",
|
||||
"name": "Olen ",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "dUzh31kag",
|
||||
"name": "Fuksivuosi (yyyy)",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "1LaFnZ-Of",
|
||||
"name": "Erikoisruokavaliot / Allergiat",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": "Huomioimme allergiat menuvalinnan lisäksi. Esimerkiksi jos on allerginen kalalle tämä otetaan huomioon jos on valinnut \\"liha ja kala\\" vaihtoehdon.",
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "PajprpSLa",
|
||||
"name": "Liha ja kala menuvaihtoehto tarkoittaa sitä että menuun kuuluu molempia alku- tai pääruokana.",
|
||||
"required": undefined,
|
||||
"type": "info",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Vegaaninen",
|
||||
"Liha ja Kala",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Vegaaninen",
|
||||
"Liha ja Kala",
|
||||
],
|
||||
"id": "0GMtDu46R",
|
||||
"name": "Pääjuhlan ruokatarjoilut",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Alkoholillinen",
|
||||
"Alkoholiton",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Alkoholillinen",
|
||||
"Alkoholiton",
|
||||
],
|
||||
"id": "MMghazOPT",
|
||||
"name": "Pääjuhlan juomatarjoilut",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Punaviini (42€)",
|
||||
"Valkoviini (42€)",
|
||||
"Kuohuviini (42€)",
|
||||
"Shamppanja (68€)",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Punaviini (42€)",
|
||||
"Valkoviini (42€)",
|
||||
"Kuohuviini (42€)",
|
||||
"Shamppanja (68€)",
|
||||
],
|
||||
"id": "fCYJxDSrL",
|
||||
"name": "Haluan tilata pöytään pullon viiniä tai kuohuvaa",
|
||||
"required": undefined,
|
||||
"type": "checkbox",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "0q74weKci",
|
||||
"name": "Avec",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "kqPI12VK_",
|
||||
"name": "Pöytäseurue",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"id": "ofKH9GhFg",
|
||||
"name": "Annan lahjan lahjanantotilaisuudessa",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "AsYHmSz2V",
|
||||
"name": "Jos annat lahjan, mitä tahoa edustat?",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"id": "hA3b8X6P4",
|
||||
"name": "Haluan osallistua jatkoille",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": "Ilmoitamme sähköpostilla siinä tapauksessa jos olet jonossa tai et maahtunut silliksen kiintiöön. ",
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "rf34jMWSe",
|
||||
"name": "Sillikselle on rajattu määrä paikkoja, jolloin emme voi varmistaa kaikille pääsyä.",
|
||||
"required": undefined,
|
||||
"type": "info",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"id": "PnzuTUxZH",
|
||||
"name": "Haluan osallistua sillikselle seuraavana päivänä (25€)",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"id": "aM8Xjhsqs",
|
||||
"name": "Haluan kuulla lisää SIK100-historiateoksesta ja mahdollisuudesta ostaa teoksen",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
"id": "m2aKUikfI",
|
||||
"name": "Vapaaehtoinen kannatusmaksu",
|
||||
"required": undefined,
|
||||
"type": "checkbox",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"enumNames": Array [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
"id": "13qShsW03",
|
||||
"name": "Haluan saada sähköpostiini lisää tietoa SIK100-vuodesta",
|
||||
"required": true,
|
||||
"type": "radiobutton",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "xI_OlVAxM",
|
||||
"name": "Terveisiä killalle",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
Object {
|
||||
"description": undefined,
|
||||
"enum": undefined,
|
||||
"enumNames": undefined,
|
||||
"id": "04FkeTQZm",
|
||||
"name": "Paras vuosijuhlamuisto",
|
||||
"required": undefined,
|
||||
"type": "text",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
||||
@@ -1,192 +1,321 @@
|
||||
import { SignupForm } from "@models/Signup";
|
||||
import { buildFormSchema, buildValidationSchema, buildUISchema } from "./FormUtils";
|
||||
import {
|
||||
signupFormQuestionToQuestion, buildFormSchema, buildValidationSchema, buildUISchema,
|
||||
} from "./FormUtils";
|
||||
|
||||
const signupForm: SignupForm = {
|
||||
id: 250,
|
||||
title_fi: "Potentiaalin Tasaus 100 ilmoittautuminen - deviversio",
|
||||
title_en: "Pota100 dev",
|
||||
visible: true,
|
||||
// isOpen: true,
|
||||
isOpen: true,
|
||||
start_time: "2021-08-17T16:45:15+03:00",
|
||||
end_time: "2021-09-30T23:59:59+03:00",
|
||||
// email_content: "Hei, \r\n\r\nIlmoittautumisesi on saapunut perille!\r\n\r\nMaksutiedot lähetetään sinulle vasta kun ilmoittautuminen on sulkeutunut. \r\n\r\nJos ilmoittautumisessa ilmenee ongelmia tai pääjuhlasta nousee kysymyksiä, olethan yhetydessä Potentiaalin Tasaus 100 pääjuhlavastaaviin:\r\n\r\nEmmaleena Ahonen ja Jonna Tammikivi \r\npota@sik100.fi\r\n\r\nPS. Jos tulet juhlaan avecin kanssa, muista, että hänen tulee myös ilmoittautua juhlaan erikseen!\r\n\r\nPoTassa nähdään!",
|
||||
email_content: "Hei, \r\n\r\nIlmoittautumisesi on saapunut perille!\r\n\r\nMaksutiedot lähetetään sinulle vasta kun ilmoittautuminen on sulkeutunut. \r\n\r\nJos ilmoittautumisessa ilmenee ongelmia tai pääjuhlasta nousee kysymyksiä, olethan yhetydessä Potentiaalin Tasaus 100 pääjuhlavastaaviin:\r\n\r\nEmmaleena Ahonen ja Jonna Tammikivi \r\npota@sik100.fi\r\n\r\nPS. Jos tulet juhlaan avecin kanssa, muista, että hänen tulee myös ilmoittautua juhlaan erikseen!\r\n\r\nPoTassa nähdään!",
|
||||
questions: [
|
||||
{
|
||||
id: "yigh6mhd4",
|
||||
name: "Ilmoittautuminen",
|
||||
title_fi: "Ilmoittautuminen",
|
||||
title_en: "EN-Ilmoittautuminen",
|
||||
type: "info",
|
||||
options: "Tämä ilmoittautuminen kustantaa 120€ opiskelijoille ja 180€ alumneille. Ilmoittautuminen on sitova." as unknown as string[],
|
||||
description_fi: "Tämä ilmoittautuminen kustantaa 120€ opiskelijoille ja 180€ alumneille. Ilmoittautuminen on sitova.",
|
||||
description_en: "EN - Tämä ilmoittautuminen kustantaa 120€ opiskelijoille ja 180€ alumneille. Ilmoittautuminen on sitova.",
|
||||
},
|
||||
{
|
||||
id: "WRflgsBe_",
|
||||
name: "Nimi",
|
||||
title_fi: "Nimi",
|
||||
title_en: "Name",
|
||||
type: "name",
|
||||
options: [],
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "OF55WBbOx",
|
||||
name: "Sähköposti",
|
||||
title_fi: "Sähköposti",
|
||||
title_en: "Email",
|
||||
type: "email",
|
||||
options: [],
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "ZY5UpArqx",
|
||||
name: "Olen ",
|
||||
title_fi: "Olen ",
|
||||
title_en: "I am ",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Killan jäsen",
|
||||
"Killan alumni",
|
||||
"Jäsenen avec",
|
||||
"Alumnin avec",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Killan jäsen",
|
||||
"Killan alumni",
|
||||
"Jäsenen avec",
|
||||
"Alumnin avec",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Killan jäsen",
|
||||
"Killan alumni",
|
||||
"Jäsenen avec",
|
||||
"Alumnin avec",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Member",
|
||||
"Alumni",
|
||||
"Member avec",
|
||||
"Alumni avec",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "dUzh31kag",
|
||||
name: "Fuksivuosi (yyyy)",
|
||||
title_fi: "Fuksivuosi (yyyy)",
|
||||
title_en: "Freshman year (yyyy)",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
{
|
||||
id: "1LaFnZ-Of",
|
||||
name: "Erikoisruokavaliot / Allergiat",
|
||||
title_fi: "Erikoisruokavaliot / Allergiat",
|
||||
title_en: "Allergies",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
{
|
||||
id: "PajprpSLa",
|
||||
name: "Liha ja kala menuvaihtoehto tarkoittaa sitä että menuun kuuluu molempia alku- tai pääruokana.",
|
||||
title_fi: "Liha ja kala menuvaihtoehto tarkoittaa sitä että menuun kuuluu molempia alku- tai pääruokana.",
|
||||
title_en: "EN - Liha ja kala menuvaihtoehto tarkoittaa sitä että menuun kuuluu molempia alku- tai pääruokana.",
|
||||
type: "info",
|
||||
options: "Huomioimme allergiat menuvalinnan lisäksi. Esimerkiksi jos on allerginen kalalle tämä otetaan huomioon jos on valinnut \"liha ja kala\" vaihtoehdon." as unknown as string[],
|
||||
description_fi: "Huomioimme allergiat menuvalinnan lisäksi. Esimerkiksi jos on allerginen kalalle tämä otetaan huomioon jos on valinnut \"liha ja kala\" vaihtoehdon.",
|
||||
description_en: "EN - Huomioimme allergiat menuvalinnan lisäksi. Esimerkiksi jos on allerginen kalalle tämä otetaan huomioon jos on valinnut \"liha ja kala\" vaihtoehdon.",
|
||||
},
|
||||
{
|
||||
id: "0GMtDu46R",
|
||||
name: "Pääjuhlan ruokatarjoilut",
|
||||
title_fi: "Pääjuhlan ruokatarjoilut",
|
||||
title_en: "EN - Pääjuhlan ruokatarjoilut",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Vegaaninen",
|
||||
"Liha ja Kala",
|
||||
],
|
||||
|
||||
options: {
|
||||
enum: [
|
||||
"Vegaaninen",
|
||||
"Liha ja Kala",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Vegaaninen",
|
||||
"Liha ja Kala",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Vegan",
|
||||
"Meat and fish",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "MMghazOPT",
|
||||
name: "Pääjuhlan juomatarjoilut ",
|
||||
title_fi: "Pääjuhlan juomatarjoilut",
|
||||
title_en: "EN - Pääjuhlan juomatarjoilut",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Alkoholillinen",
|
||||
"Alkoholiton",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Alkoholillinen",
|
||||
"Alkoholiton",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Alkoholillinen",
|
||||
"Alkoholiton",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Alcoholic",
|
||||
"Alcohol free",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "fCYJxDSrL",
|
||||
name: "Haluan tilata pöytään pullon viiniä tai kuohuvaa",
|
||||
title_fi: "Haluan tilata pöytään pullon viiniä tai kuohuvaa",
|
||||
title_en: "EN - Haluan tilata pöytään pullon viiniä tai kuohuvaa",
|
||||
type: "checkbox",
|
||||
options: [
|
||||
"Punaviini (42€)",
|
||||
"Valkoviini (42€)",
|
||||
"Kuohuviini (42€)",
|
||||
"Shamppanja (68€)",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Punaviini (42€)",
|
||||
"Valkoviini (42€)",
|
||||
"Kuohuviini (42€)",
|
||||
"Shamppanja (68€)",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Punaviini (42€)",
|
||||
"Valkoviini (42€)",
|
||||
"Kuohuviini (42€)",
|
||||
"Shamppanja (68€)",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Red wine (42€)",
|
||||
"White wine (42€)",
|
||||
"Sparkling wine (42€)",
|
||||
"Champagne (68€)",
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "0q74weKci",
|
||||
name: "Avec",
|
||||
title_fi: "Avec",
|
||||
title_en: "Avec",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
{
|
||||
id: "kqPI12VK_",
|
||||
name: "Pöytäseurue",
|
||||
title_fi: "Pöytäseurue",
|
||||
title_en: "EN - Pöytäseurue",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
{
|
||||
id: "ofKH9GhFg",
|
||||
name: "Annan lahjan lahjanantotilaisuudessa",
|
||||
title_fi: "Annan lahjan lahjanantotilaisuudessa",
|
||||
title_en: "EN - Annan lahjan lahjanantotilaisuudessa",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "AsYHmSz2V",
|
||||
name: "Jos annat lahjan, mitä tahoa edustat?",
|
||||
title_fi: "Jos annat lahjan, mitä tahoa edustat?",
|
||||
title_en: "EN - Jos annat lahjan, mitä tahoa edustat?",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
{
|
||||
id: "hA3b8X6P4",
|
||||
name: "Haluan osallistua jatkoille",
|
||||
title_fi: "Haluan osallistua jatkoille",
|
||||
title_en: "EN - Haluan osallistua jatkoille",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "rf34jMWSe",
|
||||
name: "Sillikselle on rajattu määrä paikkoja, jolloin emme voi varmistaa kaikille pääsyä.",
|
||||
title_fi: "Sillikselle on rajattu määrä paikkoja, jolloin emme voi varmistaa kaikille pääsyä.",
|
||||
title_en: "EN - Sillikselle on rajattu määrä paikkoja, jolloin emme voi varmistaa kaikille pääsyä.",
|
||||
type: "info",
|
||||
options: "Ilmoitamme sähköpostilla siinä tapauksessa jos olet jonossa tai et maahtunut silliksen kiintiöön. " as unknown as string[],
|
||||
description_fi: "Ilmoitamme sähköpostilla siinä tapauksessa jos olet jonossa tai et maahtunut silliksen kiintiöön. ",
|
||||
description_en: "EN - Ilmoitamme sähköpostilla siinä tapauksessa jos olet jonossa tai et maahtunut silliksen kiintiöön. ",
|
||||
},
|
||||
{
|
||||
id: "PnzuTUxZH",
|
||||
name: "Haluan osallistua sillikselle seuraavana päivänä (25€)",
|
||||
title_fi: "Haluan osallistua sillikselle seuraavana päivänä (25€)",
|
||||
title_en: "EN - Haluan osallistua sillikselle seuraavana päivänä (25€)",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "aM8Xjhsqs",
|
||||
name: "Haluan kuulla lisää SIK100-historiateoksesta ja mahdollisuudesta ostaa teoksen",
|
||||
title_fi: "Haluan kuulla lisää SIK100-historiateoksesta ja mahdollisuudesta ostaa teoksen",
|
||||
title_en: "EN - Haluan kuulla lisää SIK100-historiateoksesta ja mahdollisuudesta ostaa teoksen",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "m2aKUikfI",
|
||||
name: "Vapaaehtoinen kannatusmaksu",
|
||||
title_fi: "Vapaaehtoinen kannatusmaksu",
|
||||
title_en: "EN - Vapaaehtoinen kannatusmaksu",
|
||||
type: "checkbox",
|
||||
options: [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
enumNames_en: [
|
||||
"15€",
|
||||
"25€",
|
||||
"50€",
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "13qShsW03",
|
||||
name: "Haluan saada sähköpostiini lisää tietoa SIK100-vuodesta",
|
||||
title_fi: "Haluan saada sähköpostiini lisää tietoa SIK100-vuodesta",
|
||||
title_en: "EN - Haluan saada sähköpostiini lisää tietoa SIK100-vuodesta",
|
||||
type: "radiobutton",
|
||||
options: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
options: {
|
||||
enum: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_fi: [
|
||||
"Kyllä",
|
||||
"Ei",
|
||||
],
|
||||
enumNames_en: [
|
||||
"Yes",
|
||||
"No",
|
||||
],
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: "xI_OlVAxM",
|
||||
name: "Terveisiä killalle",
|
||||
title_fi: "Terveisiä killalle",
|
||||
title_en: "EN - Terveisiä killalle",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
{
|
||||
id: "04FkeTQZm",
|
||||
name: "Paras vuosijuhlamuisto",
|
||||
title_fi: "Paras vuosijuhlamuisto",
|
||||
title_en: "EN - Paras vuosijuhlamuisto",
|
||||
type: "text",
|
||||
options: [],
|
||||
},
|
||||
],
|
||||
schema: {
|
||||
@@ -373,9 +502,27 @@ const signupForm: SignupForm = {
|
||||
quota: 200,
|
||||
};
|
||||
|
||||
const finnishQuestions = signupForm.questions.map((q) => signupFormQuestionToQuestion(q, "fi"));
|
||||
const englishQuestions = signupForm.questions.map((q) => signupFormQuestionToQuestion(q, "en"));
|
||||
|
||||
describe("signupFormQuestionToQuestion", () => {
|
||||
it("mathces snapshot in Finnish", () => {
|
||||
expect(finnishQuestions).toMatchSnapshot();
|
||||
});
|
||||
it("mathces snapshot in English", () => {
|
||||
expect(englishQuestions).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
describe("buildFormSchema", () => {
|
||||
it("matches snapshot", () => {
|
||||
expect(buildFormSchema(signupForm)).toMatchSnapshot();
|
||||
expect(buildFormSchema(finnishQuestions, signupForm.title_fi)).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
describe("buildUISchema", () => {
|
||||
it("matches snapshot", () => {
|
||||
expect(buildUISchema(finnishQuestions)).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -384,9 +531,3 @@ describe("buildValidationSchema", () => {
|
||||
expect(buildValidationSchema(signupForm.questions)).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
describe("buildUISchema", () => {
|
||||
it("matches snapshot", () => {
|
||||
expect(buildUISchema(signupForm)).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user