red-ui/cypress/support/commands.js
2020-11-10 11:25:54 +02:00

44 lines
1.3 KiB
JavaScript

import 'cypress-localstorage-commands';
import 'cypress-file-upload';
import 'cypress-keycloak-commands';
Cypress.Commands.add('cleanup', () => {
localStorage.clear();
cy.clearLocalStorageSnapshot();
cy.kcLogout();
});
Cypress.Commands.add('init', (user) => {
cy.kcLogin('manager').as('tokens');
cy.deleteAllProjects();
cy.kcLogout();
cy.kcLogin(user).as('tokens');
});
Cypress.Commands.add('deleteAllProjects', () => {
cy.get('@tokens').then((tokens) => {
const projectListRequest = {
method: 'GET',
url: Cypress.env('api_url') + '/project',
headers: {
Authorization: 'bearer ' + tokens.access_token
}
};
cy.request(projectListRequest).then((projects) => {
projects.body.forEach((project) => {
const deleteProjectRequest = {
method: 'DELETE',
url: Cypress.env('api_url') + '/project/' + project.projectId,
headers: {
Authorization: 'bearer ' + tokens.access_token
}
};
cy.request(deleteProjectRequest).then((response) => {
console.log('Project Deleted', project.projectId, response);
});
});
});
});
});