From 5319659d5827feae04e8b6ef7d89da9e1c121a80 Mon Sep 17 00:00:00 2001 From: Marliana Lara Date: Mon, 11 Nov 2019 13:38:15 -0500 Subject: [PATCH] Address PR feedback * Set local_path default value to empty string * Make playbook directory required * Update unit tests --- .../Project/ProjectAdd/ProjectAdd.test.jsx | 19 +++++-------------- .../screens/Project/shared/ProjectForm.jsx | 2 +- .../shared/ProjectSubForms/ManualSubForm.jsx | 5 +++++ 3 files changed, 11 insertions(+), 15 deletions(-) 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 && ( (