test(backend-proxy-e2e): stabilize backend proxy tests (#3133)

This commit is contained in:
Erez Rokah 2020-01-23 18:15:15 +02:00 committed by GitHub
parent 2d2bd39651
commit 48afa8dfe4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 48 additions and 15 deletions

View File

@ -9,6 +9,7 @@ describe('Proxy Backend Editorial Workflow', () => {
before(() => {
specUtils.before(taskResult, { publish_mode: 'editorial_workflow' }, backend);
Cypress.config('defaultCommandTimeout', 5 * 1000);
});
after(() => {

View File

@ -9,6 +9,7 @@ describe('Proxy Backend Media Library - REST API', () => {
before(() => {
specUtils.before(taskResult, { publish_mode: 'editorial_workflow' }, backend);
Cypress.config('defaultCommandTimeout', 5 * 1000);
});
after(() => {

View File

@ -9,6 +9,7 @@ describe('Proxy Backend Simple Workflow', () => {
before(() => {
specUtils.before(taskResult, { publish_mode: 'simple' }, backend);
Cypress.config('defaultCommandTimeout', 5 * 1000);
});
after(() => {

View File

@ -33,7 +33,7 @@ function assertNotification(message) {
cy.get('.notif__container').within(() => {
cy.contains(message);
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(100);
cy.wait(500);
cy.contains(message).invoke('hide');
});
}
@ -136,19 +136,21 @@ function assertOnCollectionsPage() {
}
function assertEntryDeleted(entry) {
const hasEntries = Cypress.$('a h2').length > 0;
if (hasEntries) {
if (Array.isArray(entry)) {
const titles = entry.map(e => e.title);
cy.get('a h2').each(el => {
expect(titles).not.to.include(el.text());
});
} else {
cy.get('a h2').each(el => {
expect(entry.title).not.to.equal(el.text());
});
cy.get('body').then($body => {
const entriesHeaders = $body.find('a h2');
if (entriesHeaders.length > 0) {
if (Array.isArray(entry)) {
const titles = entry.map(e => e.title);
cy.get('a h2').each(el => {
expect(titles).not.to.include(el.text());
});
} else {
cy.get('a h2').each(el => {
expect(entry.title).not.to.equal(el.text());
});
}
}
}
});
}
function assertWorkflowStatus({ title }, status) {

View File

@ -214,6 +214,34 @@ const commitEntry = async (
await commit(git, commitMessage, [entry.path, ...assets.map(a => a.path)]);
};
const rebase = async (git: simpleGit.SimpleGit, branch: string) => {
const gpgSign = await git.raw(['config', 'commit.gpgsign']);
try {
if (gpgSign === 'true') {
await git.addConfig('commit.gpgsign', 'false');
}
await git.rebase([branch, '--no-verify']);
} finally {
if (gpgSign === 'true') {
await git.addConfig('commit.gpgsign', gpgSign);
}
}
};
const merge = async (git: simpleGit.SimpleGit, from: string, to: string) => {
const gpgSign = await git.raw(['config', 'commit.gpgsign']);
try {
if (gpgSign === 'true') {
await git.addConfig('commit.gpgsign', 'false');
}
await git.mergeFromTo(from, to);
} finally {
if (gpgSign === 'true') {
await git.addConfig('commit.gpgsign', gpgSign);
}
}
};
const isBranchExists = async (git: simpleGit.SimpleGit, branch: string) => {
const branchExists = await git.branchLocal().then(({ all }) => all.includes(branch));
return branchExists;
@ -357,7 +385,7 @@ export const localGitMiddleware = ({ repoPath }: Options) => {
} else {
await git.checkoutLocalBranch(cmsBranch);
}
await git.rebase([branch, '--no-gpg-sign', '--no-gpg-sign']);
await rebase(git, branch);
const diff = await git.diffSummary([branch, cmsBranch]);
const data = await getEntryDataFromDiff(
git,
@ -398,7 +426,7 @@ export const localGitMiddleware = ({ repoPath }: Options) => {
const { collection, slug } = body.params as PublishUnpublishedEntryParams;
const contentKey = generateContentKey(collection, slug);
const cmsBranch = branchFromContentKey(contentKey);
await git.mergeFromTo(cmsBranch, branch);
await merge(git, cmsBranch, branch);
await git.deleteLocalBranch(cmsBranch);
res.json({ message: `branch ${cmsBranch} merged to ${branch}` });
break;