import * as React from 'react'; import { useMutation } from '@apollo/client'; import Box from '@mui/material/Box'; import Collapse from '@mui/material/Collapse'; import ListItem from '@mui/material/ListItem'; import Alert from '@mui/material/Alert'; import LoadingButton from '@mui/lab/LoadingButton'; import { EditorContext } from 'contexts/Editor'; import JSONViewer from 'components/JSONViewer'; import { EXECUTE_FLOW } from 'graphql/mutations/execute-flow'; import FlowSubstepTitle from 'components/FlowSubstepTitle'; import type { IStep, ISubstep } from '@automatisch/types'; type TestSubstepProps = { substep: ISubstep, expanded?: boolean; onExpand: () => void; onCollapse: () => void; onChange?: ({ step }: { step: IStep }) => void; onSubmit?: () => void; step: IStep; }; function TestSubstep(props: TestSubstepProps): React.ReactElement { const { substep, expanded = false, onExpand, onCollapse, onSubmit, step, } = props; const editorContext = React.useContext(EditorContext); const [executeFlow, { data, error, loading }] = useMutation(EXECUTE_FLOW, { context: { autoSnackbar: false }}); const response = data?.executeFlow?.data; const { name, } = substep; const handleSubmit = React.useCallback(() => { executeFlow({ variables: { input: { stepId: step.id, }, }, }) }, [onSubmit, step.id]); const onToggle = expanded ? onCollapse : onExpand; return ( {error?.graphQLErrors?.length && {error?.graphQLErrors.map((error) => (<>{error.message}
))}
} {response && ( )} Test & Continue
); }; export default TestSubstep;