75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
// <reference types="cypress" />
|
|
|
|
describe('Config Sync', () => {
|
|
beforeEach(() => {
|
|
cy.task('deleteFolder', 'playground/config/sync');
|
|
});
|
|
|
|
it('Check the config diff', () => {
|
|
cy.login();
|
|
cy.navigateToInterface();
|
|
cy.initialExport();
|
|
|
|
cy.makeConfigChanges();
|
|
|
|
cy.navigateToInterface();
|
|
|
|
cy.get('tbody tr').contains('plugin_users-permissions_advanced').click();
|
|
|
|
cy.contains('"unique_email": true,');
|
|
cy.contains('"unique_email": false,');
|
|
});
|
|
|
|
it('Download the config as zip', () => {
|
|
cy.login();
|
|
cy.navigateToInterface();
|
|
cy.initialExport();
|
|
|
|
cy.intercept({
|
|
method: 'GET',
|
|
url: '/config-sync/zip',
|
|
}).as('getConfigZip');
|
|
|
|
cy.get('button').contains('Download Config').click();
|
|
|
|
cy.wait('@getConfigZip').then((interception) => {
|
|
const configZipResponse = interception.response.body;
|
|
const downloadsFolder = Cypress.config('downloadsFolder');
|
|
cy.readFile(`${downloadsFolder}/${configZipResponse.name.replaceAll(':', '_')}`).should('exist');
|
|
});
|
|
});
|
|
|
|
it('Partial import & export', () => {
|
|
cy.login();
|
|
cy.navigateToInterface();
|
|
cy.initialExport();
|
|
|
|
cy.makeConfigChanges();
|
|
|
|
cy.navigateToInterface();
|
|
|
|
cy.get('button[aria-label="Select all entries"]').click();
|
|
|
|
cy.intercept({
|
|
method: 'POST',
|
|
url: '/config-sync/import',
|
|
}).as('importConfig');
|
|
cy.get('button[aria-label="Select plugin_upload_settings"]').click();
|
|
cy.get('button').contains('Import').click();
|
|
cy.get('button').contains('Yes, import').click();
|
|
cy.wait('@importConfig').its('response.statusCode').should('equal', 200);
|
|
cy.contains('plugin_users-permissions_advanced');
|
|
cy.contains('plugin_users-permissions_email');
|
|
|
|
cy.intercept({
|
|
method: 'POST',
|
|
url: '/config-sync/export',
|
|
}).as('exportConfig');
|
|
cy.get('button[aria-label="Select plugin_users-permissions_advanced"]').click();
|
|
cy.get('button').contains('Export').click();
|
|
cy.get('button').contains('Yes, export').click();
|
|
cy.wait('@exportConfig').its('response.statusCode').should('equal', 200);
|
|
cy.contains('plugin_users-permissions_email');
|
|
});
|
|
});
|