mirror of
https://github.com/sartography/spiffworkflow-frontend.git
synced 2025-02-24 12:18:17 +00:00
129 lines
4.8 KiB
JavaScript
129 lines
4.8 KiB
JavaScript
describe('process-models', () => {
|
|
beforeEach(() => {
|
|
cy.visit('/');
|
|
});
|
|
|
|
it('can perform crud operations', () => {
|
|
const uuid = () => Cypress._.random(0, 1e6)
|
|
const id = uuid()
|
|
const groupId = 'acceptance-tests-group-one';
|
|
const modelDisplayName = `Test Model 2 ${id}`;
|
|
const newModelDisplayName = `${modelDisplayName} edited`;
|
|
const modelId = `test-model-2-${id}`;
|
|
cy.contains(groupId).click();
|
|
cy.createModel(groupId, modelId, modelDisplayName);
|
|
cy.contains(`Process Group: ${groupId}`).click();
|
|
cy.contains(modelId);
|
|
|
|
cy.contains(modelId).click()
|
|
cy.url().should('include', `process-models/${groupId}/${modelId}`);
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
|
|
cy.contains('Edit process model').click();
|
|
cy.get('input[name=display_name]').clear().type(newModelDisplayName);
|
|
cy.contains('Submit').click();
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
|
|
cy.contains('Edit process model').click();
|
|
cy.get('input[name=display_name]').should('have.value', newModelDisplayName)
|
|
|
|
cy.contains('Delete process model').click();
|
|
cy.url().should('include', `process-groups/${groupId}`);
|
|
cy.contains(modelId).should('not.exist');
|
|
});
|
|
|
|
it('can create new bpmn and dmn files', () => {
|
|
const uuid = () => Cypress._.random(0, 1e6)
|
|
const id = uuid()
|
|
const groupId = 'acceptance-tests-group-one';
|
|
const modelDisplayName = `Test Model 2 ${id}`;
|
|
const modelId = `test-model-2-${id}`;
|
|
const bpmnFileName = `bpmn_test_file_${id}`;
|
|
const dmnFileName = `dmn_test_file_${id}`;
|
|
|
|
cy.contains(groupId).click();
|
|
cy.createModel(groupId, modelId, modelDisplayName);
|
|
cy.contains(`Process Group: ${groupId}`).click();
|
|
cy.contains(modelId);
|
|
|
|
cy.contains(modelId).click()
|
|
cy.url().should('include', `process-models/${groupId}/${modelId}`);
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
cy.contains(bpmnFileName + '.bpmn').should('not.exist');
|
|
cy.contains(dmnFileName + '.dmn').should('not.exist');
|
|
|
|
// add new bpmn file
|
|
cy.contains('Add New BPMN File').click();
|
|
cy.contains(/^Process Model File$/);
|
|
cy.get('g[data-element-id=StartEvent_1]').click().should('exist');
|
|
cy.contains('General').click();
|
|
cy.get('#bio-properties-panel-name').clear().type("Start Event Name");
|
|
cy.wait(500);
|
|
cy.contains('Save').click();
|
|
cy.contains('Start Event Name');
|
|
cy.get('input[name=file_name]').type(bpmnFileName);
|
|
cy.contains('Save Changes').click();
|
|
cy.contains(`Process Model File: ${bpmnFileName}`);
|
|
cy.contains(modelId).click();
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
cy.contains(bpmnFileName + '.bpmn').should('exist');
|
|
|
|
// add new dmn file
|
|
cy.contains('Add New DMN File').click();
|
|
cy.contains(/^Process Model File$/);
|
|
cy.get('g[data-element-id=decision_1]').click().should('exist');
|
|
cy.contains('General').click();
|
|
cy.contains('Save').click();
|
|
cy.get('input[name=file_name]').type(dmnFileName);
|
|
cy.contains('Save Changes').click();
|
|
cy.contains(`Process Model File: ${dmnFileName}`);
|
|
cy.contains(modelId).click();
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
cy.contains(dmnFileName + '.dmn').should('exist');
|
|
|
|
cy.contains('Edit process model').click();
|
|
cy.contains('Delete process model').click();
|
|
cy.url().should('include', `process-groups/${groupId}`);
|
|
cy.contains(modelId).should('not.exist');
|
|
});
|
|
|
|
it('can upload and run a bpmn file', () => {
|
|
const uuid = () => Cypress._.random(0, 1e6)
|
|
const id = uuid()
|
|
const groupId = 'acceptance-tests-group-one';
|
|
const modelDisplayName = `Test Model 2 ${id}`;
|
|
const newModelDisplayName = `${modelDisplayName} edited`;
|
|
const modelId = `test-model-2-${id}`;
|
|
cy.contains(groupId).click();
|
|
cy.createModel(groupId, modelId, modelDisplayName);
|
|
cy.contains(`Process Group: ${groupId}`).click();
|
|
cy.contains(modelId);
|
|
|
|
cy.contains(modelId).click()
|
|
cy.url().should('include', `process-models/${groupId}/${modelId}`);
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
|
|
cy.get('input[type=file]').selectFile('cypress/fixtures/test_bpmn_file_upload.bpmn')
|
|
cy.contains('Submit').click();
|
|
cy.runPrimaryBpmnFile('champion');
|
|
|
|
cy.contains('Process Instances').click();
|
|
cy.getBySel('process-instance-show-link').click();
|
|
cy.contains('Delete process instance').click();
|
|
cy.contains(`Process Instances for ${modelId}`);
|
|
cy.contains(`Process Model: ${modelId}`);
|
|
cy.contains(modelId).click();
|
|
|
|
cy.contains('Edit process model').click();
|
|
cy.contains('Delete process model').click();
|
|
cy.url().should('include', `process-groups/${groupId}`);
|
|
cy.contains(modelId).should('not.exist');
|
|
});
|
|
|
|
it('can paginate items', () => {
|
|
cy.contains('acceptance-tests-group-one').click();
|
|
cy.basicPaginationTest();
|
|
})
|
|
})
|
|
|