/// // 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'); }); });