Skip to content

Commit

Permalink
fix(editor): Attempt to make cloud plan tests less flaky (no-changelo…
Browse files Browse the repository at this point in the history
…g) (n8n-io#9595)
  • Loading branch information
mutdmour authored Jun 3, 2024
1 parent 5686e22 commit 3745313
Showing 1 changed file with 32 additions and 60 deletions.
92 changes: 32 additions & 60 deletions cypress/e2e/27-cloud.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,100 +19,72 @@ describe('Cloud', { disableAutoLogin: true }, () => {
planData.expirationDate = fiveDaysFromNow.toJSON();
});

describe('BannerStack', () => {
it('should render trial banner for opt-in cloud user', () => {
cy.intercept('GET', '/rest/admin/cloud-plan', {
body: planData,
}).as('getPlanData');

cy.intercept('GET', '/rest/settings', (req) => {
req.on('response', (res) => {
res.send({
data: { ...res.body.data, deployment: { type: 'cloud' }, n8nMetadata: { userId: 1 } },
});
beforeEach(() => {
cy.intercept('GET', '/rest/admin/cloud-plan', {
body: planData,
}).as('getPlanData');

cy.intercept('GET', '/rest/settings', (req) => {
req.on('response', (res) => {
res.send({
data: {
...res.body.data,
deployment: { type: 'cloud' },
n8nMetadata: { userId: 1 },
},
});
}).as('loadSettings');

cy.signin({ email: INSTANCE_OWNER.email, password: INSTANCE_OWNER.password });

cy.visit(workflowPage.url);

cy.wait('@getPlanData');
});
}).as('loadSettings');

bannerStack.getters.banner().should('be.visible');

mainSidebar.actions.signout();
cy.intercept('GET', new RegExp('/rest/projects*')).as('projects');
cy.intercept('GET', new RegExp('/rest/roles')).as('roles');
});

bannerStack.getters.banner().should('not.be.visible');
function visitWorkflowPage() {
cy.visit(workflowPage.url);
cy.wait('@getPlanData');
cy.wait('@projects');
cy.wait('@roles');
}

describe('BannerStack', () => {
it('should render trial banner for opt-in cloud user', () => {
cy.signin({ email: INSTANCE_OWNER.email, password: INSTANCE_OWNER.password });

cy.visit(workflowPage.url);
visitWorkflowPage();

bannerStack.getters.banner().should('be.visible');

mainSidebar.actions.signout();
});

it('should not render opt-in-trial banner for non cloud deployment', () => {
cy.intercept('GET', '/rest/settings', (req) => {
req.on('response', (res) => {
res.send({
data: { ...res.body.data, deployment: { type: 'default' } },
});
});
}).as('loadSettings');
bannerStack.getters.banner().should('not.be.visible');

cy.signin({ email: INSTANCE_OWNER.email, password: INSTANCE_OWNER.password });

cy.visit(workflowPage.url);
visitWorkflowPage();

bannerStack.getters.banner().should('not.be.visible');
bannerStack.getters.banner().should('be.visible');

mainSidebar.actions.signout();
});
});

describe('Admin Home', () => {
it('Should show admin button', () => {
cy.intercept('GET', '/rest/settings', (req) => {
req.on('response', (res) => {
res.send({
data: { ...res.body.data, deployment: { type: 'cloud' }, n8nMetadata: { userId: 1 } },
});
});
}).as('loadSettings');

cy.signin({ email: INSTANCE_OWNER.email, password: INSTANCE_OWNER.password });

cy.visit(workflowPage.url);
visitWorkflowPage();

mainSidebar.getters.adminPanel().should('be.visible');
});
});

describe('Public API', () => {
it('Should show upgrade CTA for Public API if user is trialing', () => {
cy.intercept('GET', '/rest/admin/cloud-plan', {
body: planData,
}).as('getPlanData');

cy.intercept('GET', '/rest/settings', (req) => {
req.on('response', (res) => {
res.send({
data: {
...res.body.data,
deployment: { type: 'cloud' },
n8nMetadata: { userId: 1 },
},
});
});
}).as('loadSettings');

cy.signin({ email: INSTANCE_OWNER.email, password: INSTANCE_OWNER.password });

visitPublicApiPage();
cy.wait(['@loadSettings', '@getPlanData']);
cy.wait(['@loadSettings', '@projects', '@roles', '@getPlanData']);

getPublicApiUpgradeCTA().should('be.visible');
});
Expand Down

0 comments on commit 3745313

Please sign in to comment.