1
1
mirror of https://github.com/n8n-io/n8n.git synced 2024-07-07 07:18:07 +03:00

fix(editor): Don't try to load credentials on the demo route (#9926)

This commit is contained in:
Danny Martini 2024-07-03 15:14:26 +02:00 committed by GitHub
parent 7f8857f69b
commit b80df2a47e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 5 deletions

View File

@ -1,23 +1,32 @@
import workflow from '../fixtures/Manual_wait_set.json';
import { importWorkflow, vistDemoPage } from '../pages/demo';
import { importWorkflow, visitDemoPage } from '../pages/demo';
import { WorkflowPage } from '../pages/workflow';
import { errorToast } from '../pages/notifications';
const workflowPage = new WorkflowPage();
describe('Demo', () => {
beforeEach(() => {
cy.overrideSettings({ previewMode: true });
cy.signout();
});
it('can import template', () => {
vistDemoPage();
visitDemoPage();
errorToast().should('not.exist');
importWorkflow(workflow);
workflowPage.getters.canvasNodes().should('have.length', 3);
});
it('can override theme to dark', () => {
vistDemoPage('dark');
visitDemoPage('dark');
cy.get('body').should('have.attr', 'data-theme', 'dark');
errorToast().should('not.exist');
});
it('can override theme to light', () => {
vistDemoPage('light');
visitDemoPage('light');
cy.get('body').should('have.attr', 'data-theme', 'light');
errorToast().should('not.exist');
});
});

View File

@ -2,7 +2,7 @@
* Actions
*/
export function vistDemoPage(theme?: 'dark' | 'light') {
export function visitDemoPage(theme?: 'dark' | 'light') {
const query = theme ? `?theme=${theme}` : '';
cy.visit('/workflows/demo' + query);
cy.waitForLoad();

View File

@ -4470,6 +4470,13 @@ export default defineComponent({
await this.credentialsStore.fetchCredentialTypes(true);
},
async loadCredentialsForWorkflow(): Promise<void> {
// In preview mode, we don't have to load the credentials. We actually
// can't load them because they depend on the project the workflow is in,
// but in preview mode there is no project.
if (this.settingsStore.isPreviewMode) {
return;
}
const workflow = this.workflowsStore.getWorkflowById(this.currentWorkflow);
const workflowId = workflow?.id ?? this.$route.params.name;
let options: { workflowId: string } | { projectId: string };