86 lines
1.9 KiB
TypeScript
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);
|
||
|
});
|
||
|
}
|