static-cms/cypress/e2e/common/simple_workflow.ts
Daniel Lautzenheiser 799c7e6936
feat: v4.0.0 (#1016)
Co-authored-by: Denys Konovalov <kontakt@denyskon.de>
Co-authored-by: Mathieu COSYNS <64072917+Mathieu-COSYNS@users.noreply.github.com>
2024-01-03 15:14:09 -05:00

86 lines
1.9 KiB
TypeScript

import {
assertPublishedEntry,
createPostAndPublish,
createPostPublishAndCreateNew,
createPostPublishAndDuplicate,
duplicatePostAndPublish,
editPostAndPublish,
editPostPublishAndCreateNew,
editPostPublishAndDuplicate,
login,
} from '../../utils/steps';
import {
entry1,
entry10,
entry2,
entry3,
entry4,
entry5,
entry6,
entry7,
entry8,
entry9,
} from './entries';
import type { User } from '@staticcms/cypress/interface';
export interface SimpleWorkflowProps {
getUser?: () => User | undefined;
}
export default function ({ getUser }: SimpleWorkflowProps = {}) {
it('successfully loads', () => {
login({ user: getUser?.() });
});
it('can create an entry', () => {
login({ user: getUser?.() });
createPostAndPublish(entry1);
assertPublishedEntry(entry1);
});
it('can publish a new entry and create new', () => {
login();
createPostPublishAndCreateNew(entry2);
assertPublishedEntry(entry2);
});
it('can publish a new entry and duplicate', () => {
login();
createPostPublishAndDuplicate(entry3);
assertPublishedEntry(entry3);
});
it('can edit an existing entry and publish', () => {
login();
createPostAndPublish(entry4);
assertPublishedEntry(entry4);
editPostAndPublish(entry4, entry5);
});
it('can edit an existing entry, publish and create new', () => {
login();
createPostAndPublish(entry6);
assertPublishedEntry(entry6);
editPostPublishAndCreateNew(entry6, entry7);
});
it('can edit an existing entry, publish and duplicate', () => {
login();
createPostAndPublish(entry8);
assertPublishedEntry(entry8);
editPostPublishAndDuplicate(entry8, entry9);
});
it('can duplicate an existing entry', () => {
login();
createPostAndPublish(entry10);
assertPublishedEntry(entry10);
duplicatePostAndPublish(entry10);
});
}