Fix e2e tests and "Use as Draft" (#12536)
Closes https://github.com/twentyhq/twenty/issues/12535
This commit is contained in:
committed by
GitHub
parent
cf63bd25e3
commit
c8ad9f149c
@ -30,21 +30,31 @@ test('The workflow run visualizer shows the executed draft version without the l
|
|||||||
|
|
||||||
await launchTestButton.click();
|
await launchTestButton.click();
|
||||||
|
|
||||||
const goToExecutionPageLink = page.getByRole('link', {
|
await workflowVisualizer.closeSidePanel();
|
||||||
name: 'View execution details',
|
|
||||||
});
|
|
||||||
const executionPageUrl = await goToExecutionPageLink.getAttribute('href');
|
|
||||||
expect(executionPageUrl).not.toBeNull();
|
|
||||||
|
|
||||||
await workflowVisualizer.deleteStep(firstStepId);
|
await workflowVisualizer.deleteStep(firstStepId);
|
||||||
|
|
||||||
await page.goto(executionPageUrl!);
|
await page.goto('/objects/workflowRuns');
|
||||||
|
|
||||||
const workflowRunName = page
|
const recordTableRowForWorkflowRun = page
|
||||||
|
.getByRole('row', {
|
||||||
|
name: workflowVisualizer.workflowName,
|
||||||
|
})
|
||||||
|
.first();
|
||||||
|
|
||||||
|
const linkToWorkflowRun = recordTableRowForWorkflowRun
|
||||||
|
.getByRole('link', {
|
||||||
|
name: workflowVisualizer.workflowName,
|
||||||
|
})
|
||||||
|
.first();
|
||||||
|
|
||||||
|
await linkToWorkflowRun.click({ force: true });
|
||||||
|
|
||||||
|
const workflowRunNameElement = page
|
||||||
.getByText(`#1 - ${workflowVisualizer.workflowName}`)
|
.getByText(`#1 - ${workflowVisualizer.workflowName}`)
|
||||||
.nth(1);
|
.nth(1);
|
||||||
|
|
||||||
await expect(workflowRunName).toBeVisible();
|
await expect(workflowRunNameElement).toBeVisible();
|
||||||
|
|
||||||
const executedFirstStepNode = workflowVisualizer.getStepNode(firstStepId);
|
const executedFirstStepNode = workflowVisualizer.getStepNode(firstStepId);
|
||||||
|
|
||||||
@ -86,12 +96,6 @@ test('Workflow Runs with a pending form step can be opened in the side panel and
|
|||||||
|
|
||||||
await launchTestButton.click();
|
await launchTestButton.click();
|
||||||
|
|
||||||
const goToExecutionPageLink = page.getByRole('link', {
|
|
||||||
name: 'View execution details',
|
|
||||||
});
|
|
||||||
|
|
||||||
await expect(goToExecutionPageLink).toBeVisible();
|
|
||||||
|
|
||||||
await workflowVisualizer.seeRunsButton.click();
|
await workflowVisualizer.seeRunsButton.click();
|
||||||
|
|
||||||
const workflowRunName = `#1 - ${workflowVisualizer.workflowName}`;
|
const workflowRunName = `#1 - ${workflowVisualizer.workflowName}`;
|
||||||
|
|||||||
@ -2,17 +2,19 @@ import { Action } from '@/action-menu/actions/components/Action';
|
|||||||
import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions/single-record/hooks/useSelectedRecordIdOrThrow';
|
import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions/single-record/hooks/useSelectedRecordIdOrThrow';
|
||||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||||
import { AppPath } from '@/types/AppPath';
|
import { AppPath } from '@/types/AppPath';
|
||||||
|
import { useModal } from '@/ui/layout/modal/hooks/useModal';
|
||||||
import { OverrideWorkflowDraftConfirmationModal } from '@/workflow/components/OverrideWorkflowDraftConfirmationModal';
|
import { OverrideWorkflowDraftConfirmationModal } from '@/workflow/components/OverrideWorkflowDraftConfirmationModal';
|
||||||
|
import { OVERRIDE_WORKFLOW_DRAFT_CONFIRMATION_MODAL_ID } from '@/workflow/constants/OverrideWorkflowDraftConfirmationModalId';
|
||||||
import { useCreateDraftFromWorkflowVersion } from '@/workflow/hooks/useCreateDraftFromWorkflowVersion';
|
import { useCreateDraftFromWorkflowVersion } from '@/workflow/hooks/useCreateDraftFromWorkflowVersion';
|
||||||
import { useWorkflowVersion } from '@/workflow/hooks/useWorkflowVersion';
|
import { useWorkflowVersion } from '@/workflow/hooks/useWorkflowVersion';
|
||||||
import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion';
|
import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion';
|
||||||
import { openOverrideWorkflowDraftConfirmationModalState } from '@/workflow/states/openOverrideWorkflowDraftConfirmationModalState';
|
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { useSetRecoilState } from 'recoil';
|
|
||||||
import { isDefined } from 'twenty-shared/utils';
|
import { isDefined } from 'twenty-shared/utils';
|
||||||
import { useNavigateApp } from '~/hooks/useNavigateApp';
|
import { useNavigateApp } from '~/hooks/useNavigateApp';
|
||||||
|
|
||||||
export const UseAsDraftWorkflowVersionSingleRecordAction = () => {
|
export const UseAsDraftWorkflowVersionSingleRecordAction = () => {
|
||||||
|
const { openModal } = useModal();
|
||||||
|
|
||||||
const recordId = useSelectedRecordIdOrThrow();
|
const recordId = useSelectedRecordIdOrThrow();
|
||||||
const workflowVersion = useWorkflowVersion(recordId);
|
const workflowVersion = useWorkflowVersion(recordId);
|
||||||
const workflow = useWorkflowWithCurrentVersion(
|
const workflow = useWorkflowWithCurrentVersion(
|
||||||
@ -20,9 +22,6 @@ export const UseAsDraftWorkflowVersionSingleRecordAction = () => {
|
|||||||
);
|
);
|
||||||
const { createDraftFromWorkflowVersion } =
|
const { createDraftFromWorkflowVersion } =
|
||||||
useCreateDraftFromWorkflowVersion();
|
useCreateDraftFromWorkflowVersion();
|
||||||
const setOpenOverrideWorkflowDraftConfirmationModal = useSetRecoilState(
|
|
||||||
openOverrideWorkflowDraftConfirmationModalState,
|
|
||||||
);
|
|
||||||
const navigate = useNavigateApp();
|
const navigate = useNavigateApp();
|
||||||
const [hasNavigated, setHasNavigated] = useState(false);
|
const [hasNavigated, setHasNavigated] = useState(false);
|
||||||
|
|
||||||
@ -35,7 +34,7 @@ export const UseAsDraftWorkflowVersionSingleRecordAction = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (hasAlreadyDraftVersion) {
|
if (hasAlreadyDraftVersion) {
|
||||||
setOpenOverrideWorkflowDraftConfirmationModal(true);
|
openModal(OVERRIDE_WORKFLOW_DRAFT_CONFIRMATION_MODAL_ID);
|
||||||
} else {
|
} else {
|
||||||
const executeActionWithoutWaiting = async () => {
|
const executeActionWithoutWaiting = async () => {
|
||||||
await createDraftFromWorkflowVersion({
|
await createDraftFromWorkflowVersion({
|
||||||
|
|||||||
@ -5,14 +5,12 @@ import {
|
|||||||
StyledCenteredButton,
|
StyledCenteredButton,
|
||||||
} from '@/ui/layout/modal/components/ConfirmationModal';
|
} from '@/ui/layout/modal/components/ConfirmationModal';
|
||||||
import { useModal } from '@/ui/layout/modal/hooks/useModal';
|
import { useModal } from '@/ui/layout/modal/hooks/useModal';
|
||||||
|
import { OVERRIDE_WORKFLOW_DRAFT_CONFIRMATION_MODAL_ID } from '@/workflow/constants/OverrideWorkflowDraftConfirmationModalId';
|
||||||
import { useCreateDraftFromWorkflowVersion } from '@/workflow/hooks/useCreateDraftFromWorkflowVersion';
|
import { useCreateDraftFromWorkflowVersion } from '@/workflow/hooks/useCreateDraftFromWorkflowVersion';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { useNavigateApp } from '~/hooks/useNavigateApp';
|
import { useNavigateApp } from '~/hooks/useNavigateApp';
|
||||||
import { getAppPath } from '~/utils/navigation/getAppPath';
|
import { getAppPath } from '~/utils/navigation/getAppPath';
|
||||||
|
|
||||||
const OVERRIDE_WORKFLOW_DRAFT_CONFIRMATION_MODAL_ID =
|
|
||||||
'override-workflow-draft-confirmation-modal';
|
|
||||||
|
|
||||||
export const OverrideWorkflowDraftConfirmationModal = ({
|
export const OverrideWorkflowDraftConfirmationModal = ({
|
||||||
workflowId,
|
workflowId,
|
||||||
workflowVersionIdToCopy,
|
workflowVersionIdToCopy,
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
export const OVERRIDE_WORKFLOW_DRAFT_CONFIRMATION_MODAL_ID =
|
||||||
|
'override-workflow-draft-confirmation-modal';
|
||||||
@ -1,6 +0,0 @@
|
|||||||
import { createState } from 'twenty-ui/utilities';
|
|
||||||
export const openOverrideWorkflowDraftConfirmationModalState =
|
|
||||||
createState<boolean>({
|
|
||||||
key: 'openOverrideWorkflowDraftConfirmationModalState',
|
|
||||||
defaultValue: false,
|
|
||||||
});
|
|
||||||
Reference in New Issue
Block a user