mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
ci: Hide the github button in e2e tests (no-changelog) (#11747)
Some checks are pending
Test Master / install-and-build (push) Waiting to run
Test Master / Unit tests (18.x) (push) Blocked by required conditions
Test Master / Unit tests (20.x) (push) Blocked by required conditions
Test Master / Unit tests (22.4) (push) Blocked by required conditions
Test Master / Lint (push) Blocked by required conditions
Test Master / Notify Slack on failure (push) Blocked by required conditions
Some checks are pending
Test Master / install-and-build (push) Waiting to run
Test Master / Unit tests (18.x) (push) Blocked by required conditions
Test Master / Unit tests (20.x) (push) Blocked by required conditions
Test Master / Unit tests (22.4) (push) Blocked by required conditions
Test Master / Lint (push) Blocked by required conditions
Test Master / Notify Slack on failure (push) Blocked by required conditions
This commit is contained in:
parent
fd3254d587
commit
fb123b44af
|
@ -23,7 +23,6 @@ describe('Workflows', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should create multiple new workflows using add workflow button', () => {
|
it('should create multiple new workflows using add workflow button', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
[...Array(multipleWorkflowsCount).keys()].forEach(() => {
|
[...Array(multipleWorkflowsCount).keys()].forEach(() => {
|
||||||
cy.visit(WorkflowsPage.url);
|
cy.visit(WorkflowsPage.url);
|
||||||
WorkflowsPage.getters.createWorkflowButton().click();
|
WorkflowsPage.getters.createWorkflowButton().click();
|
||||||
|
@ -36,7 +35,6 @@ describe('Workflows', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should search for a workflow', () => {
|
it('should search for a workflow', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
// One Result
|
// One Result
|
||||||
WorkflowsPage.getters.searchBar().type('Empty State Card Workflow');
|
WorkflowsPage.getters.searchBar().type('Empty State Card Workflow');
|
||||||
WorkflowsPage.getters.workflowCards().should('have.length', 1);
|
WorkflowsPage.getters.workflowCards().should('have.length', 1);
|
||||||
|
@ -62,7 +60,6 @@ describe('Workflows', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should delete all the workflows', () => {
|
it('should delete all the workflows', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
WorkflowsPage.getters.workflowCards().should('have.length', multipleWorkflowsCount + 1);
|
WorkflowsPage.getters.workflowCards().should('have.length', multipleWorkflowsCount + 1);
|
||||||
|
|
||||||
WorkflowsPage.getters.workflowCards().each(($el) => {
|
WorkflowsPage.getters.workflowCards().each(($el) => {
|
||||||
|
@ -78,7 +75,6 @@ describe('Workflows', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should respect tag querystring filter when listing workflows', () => {
|
it('should respect tag querystring filter when listing workflows', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
WorkflowsPage.getters.newWorkflowButtonCard().click();
|
WorkflowsPage.getters.newWorkflowButtonCard().click();
|
||||||
|
|
||||||
cy.createFixtureWorkflow('Test_workflow_2.json', getUniqueWorkflowName('My New Workflow'));
|
cy.createFixtureWorkflow('Test_workflow_2.json', getUniqueWorkflowName('My New Workflow'));
|
||||||
|
|
|
@ -53,7 +53,6 @@ describe('Workflow tags', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should detach a tag inline by clicking on X on tag pill', () => {
|
it('should detach a tag inline by clicking on X on tag pill', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
wf.getters.createTagButton().click();
|
wf.getters.createTagButton().click();
|
||||||
wf.actions.addTags(TEST_TAGS);
|
wf.actions.addTags(TEST_TAGS);
|
||||||
wf.getters.nthTagPill(1).click();
|
wf.getters.nthTagPill(1).click();
|
||||||
|
@ -74,7 +73,6 @@ describe('Workflow tags', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not show non existing tag as a selectable option', () => {
|
it('should not show non existing tag as a selectable option', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
const NON_EXISTING_TAG = 'My Test Tag';
|
const NON_EXISTING_TAG = 'My Test Tag';
|
||||||
|
|
||||||
wf.getters.createTagButton().click();
|
wf.getters.createTagButton().click();
|
||||||
|
|
|
@ -514,7 +514,6 @@ describe('Execution', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should send proper payload for node rerun', () => {
|
it('should send proper payload for node rerun', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
cy.createFixtureWorkflow('Multiple_trigger_node_rerun.json', 'Multiple trigger node rerun');
|
cy.createFixtureWorkflow('Multiple_trigger_node_rerun.json', 'Multiple trigger node rerun');
|
||||||
|
|
||||||
workflowPage.getters.zoomToFitButton().click();
|
workflowPage.getters.zoomToFitButton().click();
|
||||||
|
|
|
@ -101,7 +101,6 @@ describe('Workflow Executions', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should show workflow data in executions tab after hard reload and modify name and tags', () => {
|
it('should show workflow data in executions tab after hard reload and modify name and tags', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
executionsTab.actions.switchToExecutionsTab();
|
executionsTab.actions.switchToExecutionsTab();
|
||||||
checkMainHeaderELements();
|
checkMainHeaderELements();
|
||||||
workflowPage.getters.saveButton().find('button').should('not.exist');
|
workflowPage.getters.saveButton().find('button').should('not.exist');
|
||||||
|
|
|
@ -182,7 +182,6 @@ describe('Template credentials setup', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should fill credentials from workflow editor', () => {
|
it('should fill credentials from workflow editor', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
templateCredentialsSetupPage.visitTemplateCredentialSetupPage(testTemplate.id);
|
templateCredentialsSetupPage.visitTemplateCredentialSetupPage(testTemplate.id);
|
||||||
templateCredentialsSetupPage.getters.skipLink().click();
|
templateCredentialsSetupPage.getters.skipLink().click();
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,6 @@ describe('AI Assistant::enabled', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('renders placeholder UI', () => {
|
it('renders placeholder UI', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
aiAssistant.getters.askAssistantFloatingButton().should('be.visible');
|
aiAssistant.getters.askAssistantFloatingButton().should('be.visible');
|
||||||
aiAssistant.getters.askAssistantFloatingButton().click();
|
aiAssistant.getters.askAssistantFloatingButton().click();
|
||||||
aiAssistant.getters.askAssistantChat().should('be.visible');
|
aiAssistant.getters.askAssistantChat().should('be.visible');
|
||||||
|
|
|
@ -66,7 +66,6 @@ describe('NDV', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should disconect Switch outputs if rules order was changed', () => {
|
it('should disconect Switch outputs if rules order was changed', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
cy.createFixtureWorkflow('NDV-test-switch_reorder.json', 'NDV test switch reorder');
|
cy.createFixtureWorkflow('NDV-test-switch_reorder.json', 'NDV test switch reorder');
|
||||||
workflowPage.actions.zoomToFit();
|
workflowPage.actions.zoomToFit();
|
||||||
|
|
||||||
|
@ -233,7 +232,6 @@ describe('NDV', () => {
|
||||||
ndv.getters.outputPanel().find('[class*=_pagination]').should('exist');
|
ndv.getters.outputPanel().find('[class*=_pagination]').should('exist');
|
||||||
});
|
});
|
||||||
it('should display large schema', () => {
|
it('should display large schema', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
cy.createFixtureWorkflow(
|
cy.createFixtureWorkflow(
|
||||||
'Test_workflow_schema_test_pinned_data.json',
|
'Test_workflow_schema_test_pinned_data.json',
|
||||||
'NDV test schema view 2',
|
'NDV test schema view 2',
|
||||||
|
@ -720,7 +718,6 @@ describe('NDV', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Should open appropriate node creator after clicking on connection hint link', () => {
|
it('Should open appropriate node creator after clicking on connection hint link', () => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
const nodeCreator = new NodeCreator();
|
const nodeCreator = new NodeCreator();
|
||||||
const hintMapper = {
|
const hintMapper = {
|
||||||
Memory: 'AI Nodes',
|
Memory: 'AI Nodes',
|
||||||
|
|
|
@ -27,7 +27,8 @@ export interface IUserManagementSettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FrontendSettings {
|
export interface FrontendSettings {
|
||||||
isDocker?: boolean;
|
inE2ETests: boolean;
|
||||||
|
isDocker: boolean;
|
||||||
databaseType: 'sqlite' | 'mariadb' | 'mysqldb' | 'postgresdb';
|
databaseType: 'sqlite' | 'mariadb' | 'mysqldb' | 'postgresdb';
|
||||||
endpointForm: string;
|
endpointForm: string;
|
||||||
endpointFormTest: string;
|
endpointFormTest: string;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import path from 'path';
|
||||||
import { Container, Service } from 'typedi';
|
import { Container, Service } from 'typedi';
|
||||||
|
|
||||||
import config from '@/config';
|
import config from '@/config';
|
||||||
import { LICENSE_FEATURES, N8N_VERSION } from '@/constants';
|
import { inE2ETests, LICENSE_FEATURES, N8N_VERSION } from '@/constants';
|
||||||
import { CredentialTypes } from '@/credential-types';
|
import { CredentialTypes } from '@/credential-types';
|
||||||
import { CredentialsOverwrites } from '@/credentials-overwrites';
|
import { CredentialsOverwrites } from '@/credentials-overwrites';
|
||||||
import { getVariablesLimit } from '@/environments/variables/environment-helpers';
|
import { getVariablesLimit } from '@/environments/variables/environment-helpers';
|
||||||
|
@ -82,6 +82,7 @@ export class FrontendService {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.settings = {
|
this.settings = {
|
||||||
|
inE2ETests,
|
||||||
isDocker: this.isDocker(),
|
isDocker: this.isDocker(),
|
||||||
databaseType: this.globalConfig.database.type,
|
databaseType: this.globalConfig.database.type,
|
||||||
previewMode: process.env.N8N_PREVIEW_MODE === 'true',
|
previewMode: process.env.N8N_PREVIEW_MODE === 'true',
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import type { FrontendSettings } from '@n8n/api-types';
|
import type { FrontendSettings } from '@n8n/api-types';
|
||||||
|
|
||||||
export const defaultSettings: FrontendSettings = {
|
export const defaultSettings: FrontendSettings = {
|
||||||
|
inE2ETests: false,
|
||||||
databaseType: 'sqlite',
|
databaseType: 'sqlite',
|
||||||
isDocker: false,
|
isDocker: false,
|
||||||
pruning: {
|
pruning: {
|
||||||
|
|
|
@ -16,6 +16,7 @@ import { useSourceControlStore } from '@/stores/sourceControl.store';
|
||||||
import { useUIStore } from '@/stores/ui.store';
|
import { useUIStore } from '@/stores/ui.store';
|
||||||
import { useWorkflowsStore } from '@/stores/workflows.store';
|
import { useWorkflowsStore } from '@/stores/workflows.store';
|
||||||
import { useExecutionsStore } from '@/stores/executions.store';
|
import { useExecutionsStore } from '@/stores/executions.store';
|
||||||
|
import { useSettingsStore } from '@/stores/settings.store';
|
||||||
import { usePushConnection } from '@/composables/usePushConnection';
|
import { usePushConnection } from '@/composables/usePushConnection';
|
||||||
|
|
||||||
import GithubButton from 'vue-github-button';
|
import GithubButton from 'vue-github-button';
|
||||||
|
@ -29,6 +30,7 @@ const uiStore = useUIStore();
|
||||||
const sourceControlStore = useSourceControlStore();
|
const sourceControlStore = useSourceControlStore();
|
||||||
const workflowsStore = useWorkflowsStore();
|
const workflowsStore = useWorkflowsStore();
|
||||||
const executionsStore = useExecutionsStore();
|
const executionsStore = useExecutionsStore();
|
||||||
|
const settingsStore = useSettingsStore();
|
||||||
|
|
||||||
const activeHeaderTab = ref(MAIN_HEADER_TABS.WORKFLOW);
|
const activeHeaderTab = ref(MAIN_HEADER_TABS.WORKFLOW);
|
||||||
const workflowToReturnTo = ref('');
|
const workflowToReturnTo = ref('');
|
||||||
|
@ -50,6 +52,7 @@ const workflowId = computed(() =>
|
||||||
);
|
);
|
||||||
const onWorkflowPage = computed(() => !!(route.meta.nodeView || route.meta.keepWorkflowAlive));
|
const onWorkflowPage = computed(() => !!(route.meta.nodeView || route.meta.keepWorkflowAlive));
|
||||||
const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
|
const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
|
||||||
|
const showGitHubButton = computed(() => !settingsStore.settings.inE2ETests);
|
||||||
|
|
||||||
watch(route, (to, from) => {
|
watch(route, (to, from) => {
|
||||||
syncTabsWithRoute(to, from);
|
syncTabsWithRoute(to, from);
|
||||||
|
@ -184,15 +187,16 @@ async function navigateToExecutionsView(openInNewTab: boolean) {
|
||||||
@update:model-value="onTabSelected"
|
@update:model-value="onTabSelected"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="github-button">
|
<div class="github-button" v-if="showGitHubButton">
|
||||||
<GithubButton
|
<GithubButton
|
||||||
href="https://github.com/n8n-io/n8n"
|
href="https://github.com/n8n-io/n8n"
|
||||||
:data-color-scheme="uiStore.appliedTheme"
|
:data-color-scheme="uiStore.appliedTheme"
|
||||||
data-size="large"
|
data-size="large"
|
||||||
data-show-count="true"
|
data-show-count="true"
|
||||||
aria-label="Star n8n-io/n8n on GitHub"
|
aria-label="Star n8n-io/n8n on GitHub"
|
||||||
>Star</GithubButton
|
|
||||||
>
|
>
|
||||||
|
Star
|
||||||
|
</GithubButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
Loading…
Reference in a new issue