All files / app/src/features/warehouse-mutation/lib validation.ts

100% Statements 43/43
100% Branches 1/1
100% Functions 1/1
100% Lines 43/43

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 471x       1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x  
import * as yup from 'yup'
import { TFunction } from '@/shared/@types'
import { validateSelect } from '@/shared/lib'
 
export const warehouseCreateValidationSchema = (t: TFunction) =>
  yup.object({
    id: yup.string().required(),
    name: yup.string().required(t('common:Required_field')),
    contracts: yup
      .array()
      .of(
        yup.object({
          id: yup.string().required(),
          contract: yup.object().shape({
            number: yup.string().required(t('common:Required_field')),
            date: yup.string().required(t('common:Required_field')),
            client: validateSelect(t),
          }),
          nomenclatures: yup
            .array()
            .of(
              yup.object().shape({
                id: yup.string().required(),
                accountingObjectType: validateSelect(t),
                accountingType: validateSelect(t),
                connection: validateSelect(t),
                diameter: validateSelect(t),
                side: validateSelect(t),
                strengthGroup: validateSelect(t),
              })
            )
            .notRequired(),
          responsibilityPersons: yup
            .array()
            .of(
              yup.object({
                id: yup.string().required(),
                role: validateSelect(t),
                user: validateSelect(t),
              })
            )
            .notRequired(),
        })
      )
      .notRequired(),
  })