diff --git a/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.test.jsx b/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.test.jsx
index de8840e911..554ebf83ef 100644
--- a/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.test.jsx
+++ b/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.test.jsx
@@ -128,23 +128,14 @@ describe('', () => {
});
});
await waitForElement(wrapper, 'ContentLoading', el => el.length === 0);
- const formik = wrapper.find('Formik').instance();
- const changeState = new Promise(resolve => {
- formik.setState(
- {
- values: {
- ...projectData,
- scm_type: 'manual',
- },
- },
- () => resolve()
+ await act(async () => {
+ wrapper.find('ProjectForm').prop('handleSubmit')(
+ { ...projectData },
+ { scm_type: 'manual' }
);
});
- await changeState;
- await act(async () => {
- wrapper.find('form').simulate('submit');
- });
wrapper.update();
+ expect(ProjectsAPI.create).toHaveBeenCalledTimes(1);
expect(wrapper.find('ProjectAdd .formSubmitError').length).toBe(1);
});
diff --git a/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx b/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx
index 5ac2454319..93175eae07 100644
--- a/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx
+++ b/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx
@@ -183,7 +183,7 @@ function ProjectForm({ project, ...props }) {
credential: project.credential || '',
custom_virtualenv: project.custom_virtualenv || '',
description: project.description || '',
- local_path: project.local_path || null,
+ local_path: project.local_path || '',
name: project.name || '',
organization: project.organization || '',
scm_branch: project.scm_branch || '',
diff --git a/awx/ui_next/src/screens/Project/shared/ProjectSubForms/ManualSubForm.jsx b/awx/ui_next/src/screens/Project/shared/ProjectSubForms/ManualSubForm.jsx
index 260f3906ff..f8caaedf5d 100644
--- a/awx/ui_next/src/screens/Project/shared/ProjectSubForms/ManualSubForm.jsx
+++ b/awx/ui_next/src/screens/Project/shared/ProjectSubForms/ManualSubForm.jsx
@@ -2,6 +2,7 @@ import React from 'react';
import { withI18n } from '@lingui/react';
import { t } from '@lingui/macro';
import { Field } from 'formik';
+import { required } from '@util/validators';
import AnsibleSelect from '@components/AnsibleSelect';
import FormField, { FieldTooltip } from '@components/FormField';
import { FormGroup, Alert } from '@patternfly/react-core';
@@ -74,9 +75,13 @@ const ManualSubForm = ({
{options.length !== 1 && (
(