SYNC: Merge pull request #17 from dbgate/feature/settings-test

This commit is contained in:
Jan Prochazka
2025-12-02 16:09:34 +01:00
committed by Diflow
parent d12ad7b882
commit 4564bd7180
8 changed files with 104 additions and 1 deletions

View File

@@ -198,4 +198,74 @@ describe('Charts', () => {
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings');
});
it.only('Settings', () => {
cy.testid('WidgetIconPanel_settings').click();
cy.themeshot('app-settings-general');
cy.contains('Behaviour').click();
cy.themeshot('app-settings-behaviour');
cy.get('[data-testid=BehaviourSettings_useTabPreviewMode]').uncheck();
// SQL Editor
cy.contains('SQL Editor').click();
cy.get('[data-testid=SQLEditorSettings_sqlCommandsCase]').select('lowerCase');
cy.contains('MySql-connection').click();
cy.contains('charts_sample').click();
cy.contains('employees').click();
cy.contains('MyChinook').click();
cy.contains('Customer').rightclick();
cy.contains('SQL template').click();
cy.contains('CREATE TABLE').click();
cy.contains('create table');
// Default Actions
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Default Actions').click();
cy.get('[data-testid=DefaultActionsSettings_useLastUsedAction]').uncheck();
// Themes
cy.contains('Themes').click();
cy.themeshot('app-settings-themes');
cy.contains('Dark').click();
cy.get('body').find('.theme-dark').should('exist');
cy.contains('Light').click();
cy.get('body').find('.theme-light').should('exist');
// Connection
cy.contains(/^Connection$/).click();
cy.contains('charts_sample');
cy.get('[data-testid=ConnectionSettings_lockedDatabaseMode]').check();
cy.contains('Connections').click();
cy.contains('charts_sample').should('not.exist');
// Datagrid
cy.contains('Data grid').click();
cy.get('[data-testid=DataGridSettings_showHintColumns]').uncheck();
cy.wait(500);
cy.contains('Album').click();
cy.contains('AC/DC').should('not.exist');
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Keyboard shortcuts').click();
cy.themeshot('app-settings-keyboard-shortcuts');
cy.contains('Chart').click();
cy.testid('CommandModal_keyboardButton').click();
cy.realPress(['Control', 'g']);
cy.realPress('Enter');
cy.contains('OK').click();
cy.contains('Ctrl+G');
cy.contains('AI').click();
cy.themeshot('app-settings-ai');
cy.get('[data-testid=AISettings_addProviderButton]').click();
cy.contains('Provider 1');
cy.get('[data-testid=AiProviderCard_removeButton]').click();
cy.contains('Are you sure you want to remove Provider 1 provider?');
cy.contains('OK').click();
cy.contains('Provider 1').should('not.exist');
});
});

View File

@@ -137,6 +137,7 @@
position: relative;
overflow: hidden;
height: 100%;
background-color: var(--theme-bg-0);
}
.scrollableContentContainer {

View File

@@ -13,6 +13,7 @@
name="behaviour.useTabPreviewMode"
label={_t('settings.behaviour.useTabPreviewMode', { defaultMessage: 'Use tab preview mode' })}
defaultValue={true}
data-testid="BehaviourSettings_useTabPreviewMode"
/>
<FormCheckboxField

View File

@@ -26,7 +26,7 @@
},
}}
>
<CheckboxField checked={$lockedDatabaseMode} on:change={e => ($lockedDatabaseMode = e.target.checked)} />
<CheckboxField checked={$lockedDatabaseMode} on:change={e => ($lockedDatabaseMode = e.target.checked)} data-testid="ConnectionSettings_lockedDatabaseMode"/>
</FormFieldTemplateLarge>
<FormCheckboxField
@@ -84,4 +84,12 @@
margin-top: var(--dim-large-form-margin);
}
.wrapper :global(input){
max-width: 400px;
}
.wrapper :global(select){
max-width: 400px;
}
</style>

View File

@@ -22,6 +22,7 @@ defaultValue="100"
name="dataGrid.showHintColumns"
label={_t('settings.dataGrid.showHintColumns', { defaultMessage: 'Show foreign key hints' })}
defaultValue={true}
data-testid="DataGridSettings_showHintColumns"
/>
{/if}
<!-- <FormCheckboxField name="dataGrid.showHintColumns" label="Show foreign key hints" defaultValue={true} /> -->
@@ -97,4 +98,12 @@ defaultValue={false}
margin-left: var(--dim-large-form-margin);
margin-top: var(--dim-large-form-margin);
}
.wrapper :global(select){
max-width: 400px;
}
.wrapper :global(input){
max-width: 400px;
}
</style>

View File

@@ -56,6 +56,7 @@
name="defaultAction.useLastUsedAction"
label={_t('settings.defaultActions.useLastUsedAction', { defaultMessage: 'Use last used action' })}
defaultValue={true}
data-testid="DefaultActionsSettings_useLastUsedAction"
/>
<FormDefaultActionField
@@ -100,4 +101,8 @@
margin-top: var(--dim-large-form-margin);
}
.wrapper :global(select){
max-width: 400px;
}
</style>

View File

@@ -120,4 +120,8 @@
margin-top: var(--dim-large-form-margin);
}
.wrapper :global(select){
max-width: 400px;
}
</style>

View File

@@ -26,6 +26,7 @@
{ value: 'upperCase', label: 'UPPER CASE' },
{ value: 'lowerCase', label: 'lower case' },
]}
data-testid="SQLEditorSettings_sqlCommandsCase"
/>
</div>
<div class="col-3">
@@ -97,4 +98,8 @@ defaultValue={false}
margin-left: var(--dim-large-form-margin);
margin-top: var(--dim-large-form-margin);
}
.wrapper :global(input){
max-width: 400px;
}
</style>