static-cms/cypress/e2e/common/open_authoring.js

76 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

import {
login,
createPostAndExit,
updateExistingPostAndExit,
goToWorkflow,
deleteWorkflowEntry,
updateWorkflowStatus,
publishWorkflowEntry,
} from '../../utils/steps';
import { workflowStatus } from '../../utils/constants';
export default function ({ entries, getUser, getForkUser }) {
it('successfully loads', () => {
login({ user: getUser() });
});
it('can create an entry', () => {
login({ user: getUser() });
createPostAndExit(entries[0]);
});
it('can update an entry', () => {
login({ user: getUser() });
createPostAndExit(entries[0]);
updateExistingPostAndExit(entries[0], entries[1]);
});
it('can publish an editorial workflow entry', () => {
login({ user: getUser() });
createPostAndExit(entries[0]);
goToWorkflow();
updateWorkflowStatus(entries[0], workflowStatus.draft, workflowStatus.ready);
publishWorkflowEntry(entries[0]);
});
it('successfully forks repository and loads', () => {
login({ user: getForkUser() });
});
it('can create an entry on fork', () => {
login({ user: getForkUser() });
createPostAndExit(entries[0]);
});
it('can update a draft entry on fork', () => {
login({ user: getForkUser() });
createPostAndExit(entries[0]);
updateExistingPostAndExit(entries[0], entries[1]);
});
it('can change entry status from fork', () => {
login({ user: getForkUser() });
createPostAndExit(entries[0]);
goToWorkflow();
updateWorkflowStatus(entries[0], workflowStatus.draft, workflowStatus.review);
});
it('can delete review entry from fork', () => {
login({ user: getForkUser() });
createPostAndExit(entries[0]);
goToWorkflow();
updateWorkflowStatus(entries[0], workflowStatus.draft, workflowStatus.review);
deleteWorkflowEntry(entries[0]);
});
it('can return entry to draft and delete it', () => {
login({ user: getForkUser() });
createPostAndExit(entries[0]);
goToWorkflow();
updateWorkflowStatus(entries[0], workflowStatus.draft, workflowStatus.review);
updateWorkflowStatus(entries[0], workflowStatus.review, workflowStatus.draft);
deleteWorkflowEntry(entries[0]);
});
}