department-of-veterans-affairs/vets-website

View on GitHub
src/applications/appeals/testing/hlr/pages/contactInformation.js

Summary

Maintainability
A
3 hrs
Test Coverage
import profileContactInfo from 'platform/forms-system/src/js/definitions/profileContactInfo';
import set from 'platform/utilities/data/set';

import { CONTACT_INFO_PATH } from '../constants';
import { contactInfoValidation } from '../../../shared/validations/contactInfo';

const allContacts = ['address', 'email', 'phone'];

export default profileContactInfo({
  contactPath: CONTACT_INFO_PATH,
  contactInfoRequiredKeys: [],
  included: allContacts,
  addressKey: 'address',
  mobilePhoneKey: 'phone',
  contactInfoUiSchema: {
    'ui:options': {
      updateSchema: (formData = {}, schema) =>
        set(
          'properties.veteran.required',
          formData?.homeless ? ['email', 'phone'] : allContacts,
          schema,
        ),
    },
    'ui:required': () => true,
    'ui:validations': [contactInfoValidation],
  },
});