diff --git a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/consultingfees.cy.js b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/consultingfees.cy.js index df431918..a84033bc 100644 --- a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/consultingfees.cy.js +++ b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/consultingfees.cy.js @@ -82,9 +82,9 @@ const submitWithUser = ( //Consulting Fees Path - Without Files describe('Consulting Fees Path - Without Files', () => { - Cypress._.times(5, () => { + Cypress._.times(1, () => { //Budget owner approves the request - it('Budget owner approves', () => { + it.only('Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -94,24 +94,25 @@ describe('Consulting Fees Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -121,45 +122,47 @@ describe('Consulting Fees Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('consult_fees'); cy.get('#root_purpose').clear().type('Consulting ==== Management consulting includes a broad range of activities, and the many firms and their members often define these practices quite differently. One way to categorize the activities is in terms of the professional’s area of expertise.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-12-25'); + cy.get('#root_period').clear().type('25-12-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Embassar'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //item 0 - cy.get('#root_0_sub_category').select('ambassadors'); - cy.get('#root_0_item').clear().type('An ambassador is an official envoy, especially a high-ranking diplomat who represents a state.'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('ETH'); - cy.get('#root_0_unit_price').type('1.15'); + cy.get('#root_item_0_sub_category').select('ambassadors'); + cy.get('#root_item_0_item_name').clear().type('An ambassador is an official envoy, especially a high-ranking diplomat who represents a state.'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('ETH'); + cy.get('#root_item_0_unit_price').type('1.15'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('consultants'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('consultants'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('freelancers'); - cy.get('#root_2_item').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('freelancers'); + cy.get('#root_item_2_item_name').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); cy.get('button') @@ -183,8 +186,9 @@ describe('Consulting Fees Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -195,7 +199,7 @@ describe('Consulting Fees Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -213,24 +217,25 @@ describe('Consulting Fees Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -240,46 +245,48 @@ describe('Consulting Fees Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('consult_fees'); cy.get('#root_purpose').clear().type('Consulting is defined as the practise of providing a third party with expertise on a matter in exchange for a fee. The service may involve either advisory or implementation services.'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-10-02'); + cy.get('#root_period').clear().type('24-10-2032'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Consultancy.uk'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //Item 0 - cy.get('#root_0_sub_category').select('consultants'); - cy.get('#root_0_item').clear().type('Software development consultants with Python background'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('DAI'); - cy.get('#root_0_unit_price').type('1500'); + cy.get('#root_item_0_sub_category').select('consultants'); + cy.get('#root_item_0_item_name').clear().type('Software development consultants with Python background'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('DAI'); + cy.get('#root_item_0_unit_price').type('1500'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('consultants'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('consultants'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('freelancers'); - cy.get('#root_2_item').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('freelancers'); + cy.get('#root_item_2_item_name').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); cy.get('button') @@ -302,8 +309,9 @@ describe('Consulting Fees Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -332,24 +340,25 @@ describe('Consulting Fees Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -359,46 +368,48 @@ describe('Consulting Fees Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('consult_fees'); cy.get('#root_purpose').clear().type('Freelancing - Freelancing is doing specific work for clients without committing to full-time employment. Freelancers often take on multiple projects with different clients simultaneously. IRS considers freelancers to be self-employed individuals.'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-04-15'); + cy.get('#root_period').clear().type('05-04-2028'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Upwork'); cy.get('#root_payment_method').select('Debit Card'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //item 0 - cy.get('#root_0_sub_category').select('freelancers'); - cy.get('#root_0_item').clear().type('Freelancers to do the Python development and front end react app development'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('1750'); + cy.get('#root_item_0_sub_category').select('freelancers'); + cy.get('#root_item_0_item_name').clear().type('Freelancers to do the Python development and front end react app development'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('1750'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('consultants'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('consultants'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('freelancers'); - cy.get('#root_2_item').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('freelancers'); + cy.get('#root_item_2_item_name').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); @@ -422,8 +433,9 @@ describe('Consulting Fees Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -452,7 +464,7 @@ describe('Consulting Fees Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -466,7 +478,7 @@ describe('Consulting Fees Path - Without Files', () => { describe('Consulting Fees Path - With Files', () => { Cypress._.times(1, () => { //Budget owner approves the request - it('Budget owner approves', () => { + it.only('Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -476,24 +488,25 @@ describe('Consulting Fees Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -503,46 +516,48 @@ describe('Consulting Fees Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('consult_fees'); cy.get('#root_purpose').clear().type('Consulting ==== Management consulting includes a broad range of activities, and the many firms and their members often define these practices quite differently. One way to categorize the activities is in terms of the professional’s area of expertise.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-12-25'); + cy.get('#root_period').clear().type('05-12-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Embassar'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //item 0 - cy.get('#root_0_sub_category').select('ambassadors'); - cy.get('#root_0_item').clear().type('An ambassador is an official envoy, especially a high-ranking diplomat who represents a state.'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('ETH'); - cy.get('#root_0_unit_price').type('1.15'); + cy.get('#root_item_0_sub_category').select('ambassadors'); + cy.get('#root_item_0_item_name').clear().type('An ambassador is an official envoy, especially a high-ranking diplomat who represents a state.'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('ETH'); + cy.get('#root_item_0_unit_price').type('1.15'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('consultants'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('consultants'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('freelancers'); - cy.get('#root_2_item').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('freelancers'); + cy.get('#root_item_2_item_name').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); cy.get('button') @@ -556,8 +571,47 @@ describe('Consulting Fees Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('For professionals working in the professional services, ‘consultant’ and advisor’ are often used and fall under common terminology. Consultancy.uk zooms in on this field to get a closer look. \n https://www.consultancy.uk/career/what-is-consulting'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -569,8 +623,9 @@ describe('Consulting Fees Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -581,7 +636,7 @@ describe('Consulting Fees Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -599,24 +654,25 @@ describe('Consulting Fees Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -626,46 +682,48 @@ describe('Consulting Fees Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('consult_fees'); cy.get('#root_purpose').clear().type('Consulting is defined as the practise of providing a third party with expertise on a matter in exchange for a fee. The service may involve either advisory or implementation services.'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-10-02'); + cy.get('#root_period').clear().type('14-10-2029'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Consultancy.uk'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //item 0 - cy.get('#root_0_sub_category').select('consultants'); - cy.get('#root_0_item').clear().type('Software development consultants with Python background'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('DAI'); - cy.get('#root_0_unit_price').type('1500'); + cy.get('#root_item_0_sub_category').select('consultants'); + cy.get('#root_item_0_item_name').clear().type('Software development consultants with Python background'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('DAI'); + cy.get('#root_item_0_unit_price').type('1500'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('consultants'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('consultants'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('freelancers'); - cy.get('#root_2_item').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('freelancers'); + cy.get('#root_item_2_item_name').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); cy.get('button') @@ -679,8 +737,47 @@ describe('Consulting Fees Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('For professionals working in the professional services, ‘consultant’ and advisor’ are often used and fall under common terminology. Consultancy.uk zooms in on this field to get a closer look. \n https://www.consultancy.uk/career/what-is-consulting'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -691,8 +788,9 @@ describe('Consulting Fees Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -721,24 +819,25 @@ describe('Consulting Fees Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -748,45 +847,47 @@ describe('Consulting Fees Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('consult_fees'); cy.get('#root_purpose').clear().type('Freelancing - Freelancing is doing specific work for clients without committing to full-time employment. Freelancers often take on multiple projects with different clients simultaneously. IRS considers freelancers to be self-employed individuals.'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-04-15'); + cy.get('#root_period').clear().type('05-04-2024'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Upwork'); cy.get('#root_payment_method').select('Debit Card'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //item 0 - cy.get('#root_0_sub_category').select('freelancers'); - cy.get('#root_0_item').clear().type('Freelancers to do the Python development and front end react app development'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('1750'); + cy.get('#root_item_0_sub_category').select('freelancers'); + cy.get('#root_item_0_item_name').clear().type('Freelancers to do the Python development and front end react app development'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('1750'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('consultants'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('consultants'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('freelancers'); - cy.get('#root_2_item').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('freelancers'); + cy.get('#root_item_2_item_name').clear().type('Find & hire top freelancers, web developers & designers inexpensively. '); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); cy.get('button') @@ -800,8 +901,47 @@ describe('Consulting Fees Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('It\’s free and easy to post a job. Simply fill in a title, description and budget and competitive bids come within minutes. No job is too big or too small. We\'ve got freelancers for jobs of any size or budget across 1800 skills. No job is too complex.'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -812,8 +952,9 @@ describe('Consulting Fees Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -842,7 +983,7 @@ describe('Consulting Fees Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); diff --git a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/equipment.cy.js b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/equipment.cy.js index 4e521696..318c83b6 100644 --- a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/equipment.cy.js +++ b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/equipment.cy.js @@ -88,7 +88,7 @@ describe('Equipment Path - Without Files', () => { Cypress._.times(1, () => { //Out of Policy. People Ops Partner Group and Budget owner approves the request - it('Out of Policy. People Ops Partner Group and Budget owner approves', () => { + it.only('Out of Policy. People Ops Partner Group and Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -98,24 +98,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -125,55 +126,58 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('By contrast, software is the set of instructions that can be stored and run by hardware. Hardware is so-termed because it is "hard" or rigid with respect to changes, whereas software is "soft" because it is easy to change..'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Mech Tech'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Hardware is typically directed by the software to execute any command or instruction'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('5000'); + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Hardware is typically directed by the software to execute any command or instruction'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('5000'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('ledger'); - cy.get('#root_1_item').clear().type('A mainframe computer is a much larger computer that typically fills a room and may cost many hundred'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('ledger'); + cy.get('#root_item_1_item_name').clear().type('A mainframe computer is a much larger computer that typically fills a room and may cost many hundred'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('yubikey'); - cy.get('#root_2_item').clear().type('A supercomputer is superficially similar to a mainframe but is instead intended for extremely demand'); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('ETH'); - cy.get('#root_2_unit_price').type('2.34'); + cy.get('#root_item_2_sub_category').select('yubikey'); + cy.get('#root_item_2_item_name').clear().type('A supercomputer is superficially similar to a mainframe but is instead intended for extremely demand'); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('ETH'); + cy.get('#root_item_2_unit_price').type('2.34'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 3 - cy.get('#root_3_sub_category').select('mic_and_head'); - cy.get('#root_3_item').clear().type('The term supercomputer does not refer to a specific technology.'); - cy.get('#root_3_qty').clear().type('6'); - cy.get('#root_3_currency_type').select('Crypto'); - cy.get('#root_3_currency').select('SNT'); - cy.get('#root_3_unit_price').type('2300'); + cy.get('#root_item_3_sub_category').select('mic_and_head'); + cy.get('#root_item_3_item_name').clear().type('The term supercomputer does not refer to a specific technology.'); + cy.get('#root_item_3_qty').clear().type('6'); + cy.get('#root_item_3_currency_type').select('Crypto'); + cy.get('#root_item_3_currency').select('SNT'); + cy.get('#root_item_3_unit_price').type('2300'); cy.get('button') @@ -197,8 +201,11 @@ describe('Equipment Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); + cy.log('=====after logout ---'); + let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -222,7 +229,7 @@ describe('Equipment Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -241,24 +248,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -268,25 +276,28 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Electronic appliances and services related to the personal computer, including the PC (desktop or laptop), and communication between computers and the services required by intercommunication networks. These fundamentally include'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('BestBUY'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('yubikey'); - cy.get('#root_0_item').clear().type('Output devices are designed around the senses of human beings. For example, monitors display text'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('3200'); + cy.get('#root_item_0_sub_category').select('yubikey'); + cy.get('#root_item_0_item_name').clear().type('Output devices are designed around the senses of human beings. For example, monitors display text'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('3200'); @@ -310,8 +321,9 @@ describe('Equipment Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -354,24 +366,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -381,24 +394,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Computer hardware includes the physical parts of a computer, such as the case, central processing unit (CPU), random access memory (RAM), monitor, mouse, keyboard, computer data storage, graphics card, sound card, speakers and motherboard.[1][2]'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('25-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Amazon.com'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Rather it indicates the fastest computations available at any given time. In mid-2011, the fastest'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('USD'); - cy.get('#root_0_unit_price').type('4000'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Rather it indicates the fastest computations available at any given time. In mid-2011, the fastest'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('USD'); + cy.get('#root_item_0_unit_price').type('4000'); cy.get('button') @@ -421,8 +437,9 @@ describe('Equipment Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -473,7 +490,7 @@ describe('Equipment Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -482,7 +499,7 @@ describe('Equipment Path - Without Files', () => { }); //Within Policy. People Ops Partner Group approves the request - it('Within Policy. People Ops Partner Group approves', () => { + it.only('Within Policy. People Ops Partner Group approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -492,24 +509,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -519,24 +537,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('By contrast, software is the set of instructions that can be stored and run by hardware. Hardware is so-termed because it is "hard" or rigid with respect to changes, whereas software is "soft" because it is easy to change.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('15-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('EBAY'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle '); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('HKD'); - cy.get('#root_0_unit_price').type('1236'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle '); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('HKD'); + cy.get('#root_item_0_unit_price').type('1236'); cy.get('button') @@ -560,8 +581,9 @@ describe('Equipment Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -590,24 +612,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -617,24 +640,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('The template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann. This describes a design architecture for a electronic digital computer with subdivisions of a processing unit'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('05-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Best Buy'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Computer components contain many toxic substances, like dioxins, polychlorinated biphenyls (PCBs)'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AED'); - cy.get('#root_0_unit_price').type('320'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Computer components contain many toxic substances, like dioxins, polychlorinated biphenyls (PCBs)'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AED'); + cy.get('#root_item_0_unit_price').type('320'); cy.get('button') @@ -658,8 +684,9 @@ describe('Equipment Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -688,24 +715,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -715,24 +743,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('The personal computer is one of the most common types of computer due to its versatility and relatively low price. Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case. The computer case holds the motherboard'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('05-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Walmart'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('As computer hardware contain a wide number of metals inside, the United States Environmental'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('CAD'); - cy.get('#root_0_unit_price').type('435'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('As computer hardware contain a wide number of metals inside, the United States Environmental'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('CAD'); + cy.get('#root_item_0_unit_price').type('435'); cy.get('button') @@ -756,8 +787,9 @@ describe('Equipment Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -794,7 +826,7 @@ describe('Equipment Path - Without Files', () => { }); }); //Within Policy. People Ops Partner Group and Budget owner approves the request - it('Within Policy. People Ops Partner Group and Budget owner approves', () => { + it.only('Within Policy. People Ops Partner Group and Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -804,24 +836,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -831,24 +864,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Laptops are designed for portability but operate similarly to desktop PCs.[5] They may use lower-power or reduced size components, with lower performance than a similarly priced desktop computer'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Fry\'s'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Recycling a computer is made easier by a few of the national services, such as Dell and Apple.'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('USD'); - cy.get('#root_0_unit_price').type('1200'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Recycling a computer is made easier by a few of the national services, such as Dell and Apple.'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('USD'); + cy.get('#root_item_0_unit_price').type('1200'); cy.get('button') @@ -872,8 +908,9 @@ describe('Equipment Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -897,7 +934,7 @@ describe('Equipment Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -916,24 +953,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -943,24 +981,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('The computer case encloses most of the components of the system. It provides mechanical support and protection for internal elements such as the motherboard, disk drives, and power supplies, and controls and directs the flow of cooling air over int. '); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('14-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('BestBUY'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('300'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('300'); cy.get('button') @@ -983,8 +1024,9 @@ describe('Equipment Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1027,24 +1069,25 @@ describe('Equipment Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1054,24 +1097,27 @@ describe('Equipment Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('The motherboard is the main component of a computer. It is a board with integrated circuitry that connects the other parts of the computer including the CPU, the RAM, the disk drives (CD, DVD, hard disk, or any others) as well as any peripherals'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('15-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Amazon.com'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Recycling a computer is made easier by a few of the national services, such as Dell and Apple.'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('USD'); - cy.get('#root_0_unit_price').type('400'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Recycling a computer is made easier by a few of the national services, such as Dell and Apple.'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('USD'); + cy.get('#root_item_0_unit_price').type('400'); cy.get('button') @@ -1094,8 +1140,9 @@ describe('Equipment Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1153,7 +1200,7 @@ describe('Equipment Path - With Files', () => { Cypress._.times(1, () => { //Out of Policy. People Ops Partner Group and Budget owner approves the request - it('Out of Policy. People Ops Partner Group and Budget owner approves', () => { + it.only('Out of Policy. People Ops Partner Group and Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -1163,24 +1210,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1190,55 +1238,58 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Equipment most commonly refers to a set of tools or other objects commonly used to achieve a particular objective. Different jobs require different kinds of equipment.\nhttps://en.wikipedia.org/wiki/Equipment'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('15-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Mech Tech'); cy.get('#root_payment_method').select('Debit Card'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('When using computer hardware, an upgrade means adding new or additional hardware to a computer that'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('12300'); + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('When using computer hardware, an upgrade means adding new or additional hardware to a computer that'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('12300'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('ledger'); - cy.get('#root_1_item').clear().type('A mainframe computer is a much larger computer that typically fills a room and may cost many hundred'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('ledger'); + cy.get('#root_item_1_item_name').clear().type('A mainframe computer is a much larger computer that typically fills a room and may cost many hundred'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('yubikey'); - cy.get('#root_2_item').clear().type('A supercomputer is superficially similar to a mainframe but is instead intended for extremely demand'); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('ETH'); - cy.get('#root_2_unit_price').type('2.10'); + cy.get('#root_item_2_sub_category').select('yubikey'); + cy.get('#root_item_2_item_name').clear().type('A supercomputer is superficially similar to a mainframe but is instead intended for extremely demand'); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('ETH'); + cy.get('#root_item_2_unit_price').type('2.10'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 3 - cy.get('#root_3_sub_category').select('mic_and_head'); - cy.get('#root_3_item').clear().type('The term supercomputer does not refer to a specific technology.'); - cy.get('#root_3_qty').clear().type('6'); - cy.get('#root_3_currency_type').select('Crypto'); - cy.get('#root_3_currency').select('SNT'); - cy.get('#root_3_unit_price').type('2300'); + cy.get('#root_item_3_sub_category').select('mic_and_head'); + cy.get('#root_item_3_item_name').clear().type('The term supercomputer does not refer to a specific technology.'); + cy.get('#root_item_3_qty').clear().type('6'); + cy.get('#root_item_3_currency_type').select('Crypto'); + cy.get('#root_item_3_currency').select('SNT'); + cy.get('#root_item_3_unit_price').type('2300'); cy.get('button') @@ -1252,8 +1303,47 @@ describe('Equipment Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('The personal computer is one of the most common types of computer due to its versatility and relatively low price. Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case.\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1264,8 +1354,9 @@ describe('Equipment Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1289,7 +1380,7 @@ describe('Equipment Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -1308,24 +1399,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1335,24 +1427,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('The motherboard is the main component of a computer. It is a board with integrated circuitry that connects the other parts of the computer including the CPU, the RAM, the disk drives (CD, DVD, hard disk, or any others) as well as any peripherals'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('BestBUY'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('3000'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('3000'); cy.get('button') @@ -1366,8 +1461,47 @@ describe('Equipment Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('The personal computer is one of the most common types of computer due to its versatility and relatively low price. Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case.\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1377,8 +1511,9 @@ describe('Equipment Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1421,24 +1556,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1448,24 +1584,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('The CPU (central processing unit), which performs most of the calculations which enable a computer to function, and is referred to as the brain of the computer.\nhttps://en.wikipedia.org/wiki/Computer_hardware'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('05-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Amazon.com'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('USD'); - cy.get('#root_0_unit_price').type('4000'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('USD'); + cy.get('#root_item_0_unit_price').type('4000'); cy.get('button') @@ -1478,8 +1617,47 @@ describe('Equipment Path - With Files', () => { ); cy.get('.cds--text-area__wrapper').find('#root').type('The personal computer is one of the most common types of computer due to its versatility and relatively low price. Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case.\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1489,8 +1667,9 @@ describe('Equipment Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1541,7 +1720,7 @@ describe('Equipment Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -1550,7 +1729,7 @@ describe('Equipment Path - With Files', () => { }); //Within Policy. People Ops Partner Group approves the request - it('Within Policy. People Ops Partner Group approves', () => { + it.only('Within Policy. People Ops Partner Group approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -1560,24 +1739,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1587,24 +1767,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('An expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard or backplane to add functionality to a computer system via the expansion bus. Expansion cards can be used to obtain'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('15-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Amazon'); cy.get('#root_payment_method').select('Debit Card'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Recycling a computer is made easier by a few of the national services, such as Dell and Apple.'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('CHF'); - cy.get('#root_0_unit_price').type('240'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Recycling a computer is made easier by a few of the national services, such as Dell and Apple.'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('CHF'); + cy.get('#root_item_0_unit_price').type('240'); cy.get('button') @@ -1618,8 +1801,47 @@ describe('Equipment Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('The personal computer is one of the most common types of computer due to its versatility and relatively low price. Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case.\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1630,8 +1852,9 @@ describe('Equipment Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1660,24 +1883,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1687,24 +1911,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Storage device is any computing hardware and digital media that is used for storing, porting and extracting data files and objects. It can hold and store information both temporarily and permanently and can be internal or external to a computer.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('29-11-2023'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Best Buy'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('ledger'); - cy.get('#root_0_item').clear().type('The central processing unit contains many toxic materials. It contains lead and chromium in metal'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('CNY'); - cy.get('#root_0_unit_price').type('1560'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('ledger'); + cy.get('#root_item_0_item_name').clear().type('The central processing unit contains many toxic materials. It contains lead and chromium in metal'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('CNY'); + cy.get('#root_item_0_unit_price').type('1560'); cy.get('button') @@ -1718,8 +1945,47 @@ describe('Equipment Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('The template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann..\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1730,8 +1996,9 @@ describe('Equipment Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1760,24 +2027,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1787,24 +2055,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Data is stored by a computer using a variety of media. Hard disk drives (HDDs) are found in virtually all older computers, due to their high capacity and low cost, but solid-state drives (SSDs) are faster and more power efficient.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('12-11-2024'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Fry\'s'); cy.get('#root_payment_method').select('Debit Card'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('yubikey'); - cy.get('#root_0_item').clear().type('Data is stored by a computer using a variety of media. Hard disk drives (HDDs) are found'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('COP'); - cy.get('#root_0_unit_price').type('1230'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('yubikey'); + cy.get('#root_item_0_item_name').clear().type('Data is stored by a computer using a variety of media. Hard disk drives (HDDs) are found'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('COP'); + cy.get('#root_item_0_unit_price').type('1230'); cy.get('button') @@ -1817,8 +2088,47 @@ describe('Equipment Path - With Files', () => { ); cy.get('.cds--text-area__wrapper').find('#root').type('The template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann..\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1829,8 +2139,9 @@ describe('Equipment Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1867,7 +2178,7 @@ describe('Equipment Path - With Files', () => { }); }); //Within Policy. People Ops Partner Group and Budget owner approves the request - it('Within Policy. People Ops Partner Group and Budget owner approves', () => { + it.only('Within Policy. People Ops Partner Group and Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -1877,24 +2188,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1904,24 +2216,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('To transfer data between computers, an external flash memory device (such as a memory card or USB flash drive) or optical disc (such as a CD-ROM, DVD-ROM or BD-ROM) may be used. '); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('15-12-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Amazon.com'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('mic_and_head'); - cy.get('#root_0_item').clear().type('Data is stored by a computer using a variety of media. Hard disk drives (HDDs) are found'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('ETB'); - cy.get('#root_0_unit_price').type('3200'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('mic_and_head'); + cy.get('#root_item_0_item_name').clear().type('Data is stored by a computer using a variety of media. Hard disk drives (HDDs) are found'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('ETB'); + cy.get('#root_item_0_unit_price').type('3200'); cy.get('button') @@ -1934,8 +2249,47 @@ describe('Equipment Path - With Files', () => { ); cy.get('.cds--text-area__wrapper').find('#root').type('The template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann..\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1946,8 +2300,9 @@ describe('Equipment Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1971,7 +2326,7 @@ describe('Equipment Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -1990,24 +2345,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2017,24 +2373,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Input and output devices are typically housed externally to the main computer chassis. The following are either standard or very common to many computer systems.'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('17-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('BestBUY'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('mic_and_head'); - cy.get('#root_0_item').clear().type('The central processing unit contains many toxic materials. It contains lead and chromium in metal'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('1'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('mic_and_head'); + cy.get('#root_item_0_item_name').clear().type('The central processing unit contains many toxic materials. It contains lead and chromium in metal'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('1'); cy.get('button') @@ -2047,8 +2406,47 @@ describe('Equipment Path - With Files', () => { ); cy.get('.cds--text-area__wrapper').find('#root').type('The template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann..\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -2058,8 +2456,9 @@ describe('Equipment Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -2102,24 +2501,25 @@ describe('Equipment Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2129,24 +2529,27 @@ describe('Equipment Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('equip'); cy.get('#root_purpose').clear().type('Input devices allow the user to enter information into the system, or control its operation. Most personal computers have a mouse and keyboard, but laptop systems typically use a touchpad instead of a mouse. Other input devices include webcams, mic'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('16-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Amazon.com'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('laptops'); - cy.get('#root_0_item').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('GBP'); - cy.get('#root_0_unit_price').type('420'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('laptops'); + cy.get('#root_item_0_item_name').clear().type('Because computer parts contain hazardous materials, there is a growing movement to recycle old'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('GBP'); + cy.get('#root_item_0_unit_price').type('420'); cy.get('button') @@ -2159,8 +2562,48 @@ describe('Equipment Path - With Files', () => { ); cy.get('.cds--text-area__wrapper').find('#root').type('The personal computer is one of the most common types of computer due to its versatility and relatively low price. Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case.\nhttps://en.wikipedia.org/wiki/Computer_hardware'); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -2170,8 +2613,9 @@ describe('Equipment Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -2222,7 +2666,7 @@ describe('Equipment Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); diff --git a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/learninganddev.cy.js b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/learninganddev.cy.js index b5aabe7d..4f2da416 100644 --- a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/learninganddev.cy.js +++ b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/learninganddev.cy.js @@ -84,7 +84,7 @@ describe('Learning and Development Path - Without Files', () => { Cypress._.times(1, () => { //People Ops Partner Group approves the request - it('Books Only. People Ops Partner Group approves', () => { + it.only('Books Only. People Ops Partner Group approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -94,24 +94,25 @@ describe('Learning and Development Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -121,24 +122,27 @@ describe('Learning and Development Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('A L&D strategy should be aligned to the organization’s business strategy and goals with the aim of developing the workforce’s capability and driving business results.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('05-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('AIHR'); cy.get('#root_payment_method').select('Debit Card'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('books'); - cy.get('#root_0_item').clear().type('A bounty is a payment or reward of money to locate'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('books'); + cy.get('#root_item_0_item_name').clear().type('A bounty is a payment or reward of money to locate'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); cy.get('button') @@ -162,8 +166,9 @@ describe('Learning and Development Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -192,24 +197,25 @@ describe('Learning and Development Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -219,24 +225,27 @@ describe('Learning and Development Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('Learning and development (L&D) is a function within an organization that is responsible for empowering employees’ growth and developing their knowledge, skills, and capabilities to drive better business performance. '); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('EYK Books'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('books'); - cy.get('#root_0_item').clear().type('The role of the L&D function has evolved to meet the demands of digital transformation and a modern workforce.'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('books'); + cy.get('#root_item_0_item_name').clear().type('The role of the L&D function has evolved to meet the demands of digital transformation and a modern workforce.'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -259,8 +268,9 @@ describe('Learning and Development Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -289,24 +299,25 @@ describe('Learning and Development Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -316,24 +327,27 @@ describe('Learning and Development Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('A comprehensive collection of the concepts, definitions, and methodologies for the profession can be found in the. \nhttps://www.aihr.com/blog/learning-and-development/'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('25-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('BOUNTY'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('books'); - cy.get('#root_0_item').clear().type('There are many different roles that make up a learning and development team or fall under the umbrel'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('books'); + cy.get('#root_item_0_item_name').clear().type('There are many different roles that make up a learning and development team or fall under the umbrel'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -356,8 +370,9 @@ describe('Learning and Development Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -395,7 +410,7 @@ describe('Learning and Development Path - Without Files', () => { }); //Budget owner approves and People Ops Partner Group approves the request - it('NOT Books Only. Budget owner approves and People Ops Partner Group approves', () => { + it.only('NOT Books Only. Budget owner approves and People Ops Partner Group approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -405,24 +420,25 @@ describe('Learning and Development Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -432,45 +448,48 @@ describe('Learning and Development Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('In 2019, the Association for Talent Development (ATD) conducted a competency study to assess needed talent development capabilities. The research found that the knowledge, skills, and attitudes (KSAs) of effective talent development professionals'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Lynda.com'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('on_conf'); - cy.get('#root_0_item').clear().type('The goal of learning and development is to develop or change the behavior of individuals or groups'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('on_conf'); + cy.get('#root_item_0_item_name').clear().type('The goal of learning and development is to develop or change the behavior of individuals or groups'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('course'); - cy.get('#root_1_item').clear().type('The goal of learning and development is to change the behavior of individuals or groups for better'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Crypto'); - cy.get('#root_1_currency').select('DAI'); - cy.get('#root_1_unit_price').type('2450'); + cy.get('#root_item_1_sub_category').select('course'); + cy.get('#root_item_1_item_name').clear().type('The goal of learning and development is to change the behavior of individuals or groups for better'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Crypto'); + cy.get('#root_item_1_currency').select('DAI'); + cy.get('#root_item_1_unit_price').type('2450'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('books'); - cy.get('#root_2_item').clear().type('A L&D strategy should be aligned to the organization\’s business strategy'); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('books'); + cy.get('#root_item_2_item_name').clear().type('A L&D strategy should be aligned to the organization\’s business strategy'); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); @@ -495,8 +514,9 @@ describe('Learning and Development Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -512,7 +532,7 @@ describe('Learning and Development Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -538,24 +558,25 @@ describe('Learning and Development Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -565,24 +586,27 @@ describe('Learning and Development Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('Learning and development is a systematic process to enhance an employee\’s skills, knowledge, and competency, resulting in better performance in a work setting. \nhttps://www.aihr.com/blog/learning-and-development/'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Udemy Courses'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('course'); - cy.get('#root_0_item').clear().type('There are many different roles that make up a learning and development team or fall under the'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('course'); + cy.get('#root_item_0_item_name').clear().type('There are many different roles that make up a learning and development team or fall under the'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -605,8 +629,9 @@ describe('Learning and Development Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -635,24 +660,25 @@ describe('Learning and Development Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -662,24 +688,27 @@ describe('Learning and Development Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('Research found that the knowledge, skills, and attitudes (KSAs) of effective talent development professionals, at every level of their career, fell into three major domains of practice.'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('25-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Conference LTD'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('on_conf'); - cy.get('#root_0_item').clear().type('Learning and development is a systematic process to enhance an employee\’s skills'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('on_conf'); + cy.get('#root_item_0_item_name').clear().type('Learning and development is a systematic process to enhance an employee\’s skills'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -702,8 +731,9 @@ describe('Learning and Development Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -732,7 +762,7 @@ describe('Learning and Development Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -749,7 +779,7 @@ describe('Learning and Development Path - With Files', () => { Cypress._.times(1, () => { //People Ops Partner Group approves the request - it('Books Only. People Ops Partner Group approves', () => { + it.only('Books Only. People Ops Partner Group approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -759,24 +789,25 @@ describe('Learning and Development Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -786,24 +817,27 @@ describe('Learning and Development Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('Learning and development is a systematic process to enhance an employee\’s skills, knowledge, and competency, resulting in better performance in a work setting. \nhttps://www.aihr.com/blog/learning-and-development/'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Training Industry'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('books'); - cy.get('#root_0_item').clear().type('A L&D strategy should be aligned to the organization\’s business strategy and goals'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('books'); + cy.get('#root_item_0_item_name').clear().type('A L&D strategy should be aligned to the organization\’s business strategy and goals'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); cy.get('button') @@ -817,8 +851,47 @@ describe('Learning and Development Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A L&D strategy should be aligned to the organization\’s business strategy and goals with the aim of developing the workforce\’s capability and driving business results.'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -830,8 +903,9 @@ describe('Learning and Development Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -860,24 +934,25 @@ describe('Learning and Development Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -887,24 +962,27 @@ describe('Learning and Development Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('The goal of learning and development is to develop or change the behavior of individuals or groups for the better, sharing knowledge and insights that enable them to do their work better, or cultivate attitudes that help them perform better'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('04-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('EYK Books'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('books'); - cy.get('#root_0_item').clear().type('There are many different roles that make up a learning and development team or fall'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('books'); + cy.get('#root_item_0_item_name').clear().type('There are many different roles that make up a learning and development team or fall'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -918,8 +996,47 @@ describe('Learning and Development Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Learning and development is a systematic process to enhance an employee\’s skills, knowledge, and competency, resulting in better performance in a work setting. \nhttps://www.aihr.com/blog/learning-and-development/'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -930,8 +1047,9 @@ describe('Learning and Development Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -960,24 +1078,25 @@ describe('Learning and Development Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -987,24 +1106,27 @@ describe('Learning and Development Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('A L&D strategy should be aligned to the organization\’s business strategy and goals with the aim of developing the workforce\’s capability and driving business results.'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('05-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Conference LTD'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('books'); - cy.get('#root_0_item').clear().type('Learning and development is a systematic process to enhance an employee\’s skills'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('books'); + cy.get('#root_item_0_item_name').clear().type('Learning and development is a systematic process to enhance an employee\’s skills'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -1018,9 +1140,47 @@ describe('Learning and Development Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Learning, training, and development are often used interchangeably. However, there are subtle differences between these concepts, which are shown in the table below. \nhttps://www.aihr.com/blog/learning-and-development/'); - cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1030,8 +1190,9 @@ describe('Learning and Development Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1069,7 +1230,7 @@ describe('Learning and Development Path - With Files', () => { }); //Budget owner approves and People Ops Partner Group approves the request - it('NOT Books Only. Budget owner approves and People Ops Partner Group approves', () => { + it.only('NOT Books Only. Budget owner approves and People Ops Partner Group approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -1079,24 +1240,25 @@ describe('Learning and Development Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1106,45 +1268,48 @@ describe('Learning and Development Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('Learning and development is a systematic process to enhance an employee\’s skills, knowledge, and competency, resulting in better performance in a work setting. \nhttps://www.aihr.com/blog/learning-and-development/'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('05-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('The Leadership Laboratory'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 });*/ //item 0 - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('on_conf'); - cy.get('#root_0_item').clear().type('There are many different roles that make up a learning and development team'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('on_conf'); + cy.get('#root_item_0_item_name').clear().type('There are many different roles that make up a learning and development team'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('course'); - cy.get('#root_1_item').clear().type('The goal of learning and development is to change the behavior of individuals or groups for better'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('CAD'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('course'); + cy.get('#root_item_1_item_name').clear().type('The goal of learning and development is to change the behavior of individuals or groups for better'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('CAD'); + cy.get('#root_item_1_unit_price').type('1355'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('books'); - cy.get('#root_2_item').clear().type('A L&D strategy should be aligned to the organization\’s business strategy'); - cy.get('#root_2_qty').clear().type('6'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('SNT'); - cy.get('#root_2_unit_price').type('2300'); + cy.get('#root_item_2_sub_category').select('books'); + cy.get('#root_item_2_item_name').clear().type('A L&D strategy should be aligned to the organization\’s business strategy'); + cy.get('#root_item_2_qty').clear().type('6'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('SNT'); + cy.get('#root_item_2_unit_price').type('2300'); cy.get('button') @@ -1158,8 +1323,48 @@ describe('Learning and Development Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A L&D strategy should be aligned to the organization\’s business strategy and goals with the aim of developing the workforce\’s capability and driving business results.'); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1171,8 +1376,9 @@ describe('Learning and Development Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let peopleOpsUsername = Cypress.env('peopleopssme_username'); let peopleOpsPassword = Cypress.env('peopleopssme_password'); @@ -1188,7 +1394,7 @@ describe('Learning and Development Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -1214,24 +1420,25 @@ describe('Learning and Development Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1241,24 +1448,27 @@ describe('Learning and Development Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('The goal of learning and development is to develop or change the behavior of individuals or groups for the better, sharing knowledge and insights that enable them to do their work better, or cultivate attitudes that help them perform better'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('14-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Lynda.com'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('course'); - cy.get('#root_0_item').clear().type('The goal of learning and development is to develop or change the behavior of individuals or groups'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('course'); + cy.get('#root_item_0_item_name').clear().type('The goal of learning and development is to develop or change the behavior of individuals or groups'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -1272,8 +1482,47 @@ describe('Learning and Development Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Learning and development is a systematic process to enhance an employee\’s skills, knowledge, and competency, resulting in better performance in a work setting. \nhttps://www.aihr.com/blog/learning-and-development/'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1284,8 +1533,9 @@ describe('Learning and Development Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1314,24 +1564,25 @@ describe('Learning and Development Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1341,24 +1592,27 @@ describe('Learning and Development Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('learn_and_dev'); cy.get('#root_purpose').clear().type('Learning, training, and development are often used interchangeably. However, there are subtle differences between these concepts, which are shown in the table below. '); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('15-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Conference LTD'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('on_conf'); - cy.get('#root_0_item').clear().type('There are many different roles that make up a learning and development team'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('on_conf'); + cy.get('#root_item_0_item_name').clear().type('There are many different roles that make up a learning and development team'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -1372,8 +1626,47 @@ describe('Learning and Development Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A L&D strategy should be aligned to the organization\’s business strategy and goals with the aim of developing the workforce\’s capability and driving business results.'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1384,8 +1677,9 @@ describe('Learning and Development Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1414,7 +1708,7 @@ describe('Learning and Development Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); diff --git a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/otherfees.cy.js b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/otherfees.cy.js index 3be8706f..f177b909 100644 --- a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/otherfees.cy.js +++ b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/otherfees.cy.js @@ -84,7 +84,7 @@ describe('Other Fees Path - Without Files', () => { Cypress._.times(1, () => { //Budget owner approves the request - it('Budget owner approves', () => { + it.only('Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -94,24 +94,25 @@ describe('Other Fees Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -121,36 +122,39 @@ describe('Other Fees Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('other_fees'); cy.get('#root_purpose').clear().type('Other Fees and Expenses means, collectively, all fees and expenses payable to Lenders under the Loan Documents, other than principal, interest and default interest/penalty amounts.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('ABC CO'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); cy.contains('Task: Enter NDR Items', { timeout: 60000 }); +*/ //item 0 - cy.get('#root_0_sub_category').select('bounties'); - cy.get('#root_0_item').clear().type('A bounty is a payment or reward of money to locate'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('bounties'); + cy.get('#root_item_0_item_name').clear().type('A bounty is a payment or reward of money to locate'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('coworking'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Crypto'); - cy.get('#root_1_currency').select('SNT'); - cy.get('#root_1_unit_price').type('1355'); + cy.get('#root_item_1_sub_category').select('coworking'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Crypto'); + cy.get('#root_item_1_currency').select('SNT'); + cy.get('#root_item_1_unit_price').type('1355'); cy.get('button') @@ -174,8 +178,9 @@ describe('Other Fees Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -186,7 +191,7 @@ describe('Other Fees Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -204,24 +209,25 @@ describe('Other Fees Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -231,24 +237,27 @@ describe('Other Fees Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('other_fees'); cy.get('#root_purpose').clear().type('Other Fees and Expenses means, collectively, all fees and expenses payable to Lenders under the Loan Documents, other than principal, interest and default interest/penalty amounts.'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2036'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('CO-WORK ENG'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('coworking'); - cy.get('#root_0_item').clear().type('Coworking is an arrangement in which workers for different companies share an office space'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); +*/ + cy.get('#root_item_0_sub_category').select('coworking'); + cy.get('#root_item_0_item_name').clear().type('Coworking is an arrangement in which workers for different companies share an office space'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -271,8 +280,9 @@ describe('Other Fees Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -301,24 +311,25 @@ describe('Other Fees Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -328,24 +339,27 @@ describe('Other Fees Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('other_fees'); cy.get('#root_purpose').clear().type(' It allows cost savings and convenience through the use of common infrastructures, such as equipment, utilities and receptionist and custodial services, and in some cases refreshments and parcel services.\nhttps://en.wikipedia.org/wiki/Coworking'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('05-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Bounty Co'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('bounties'); - cy.get('#root_0_item').clear().type('Coworking is not only about providing a physical place, but also about establishing a community.'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); +*/ + cy.get('#root_item_0_sub_category').select('bounties'); + cy.get('#root_item_0_item_name').clear().type('Coworking is not only about providing a physical place, but also about establishing a community.'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -368,8 +382,9 @@ describe('Other Fees Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -398,7 +413,7 @@ describe('Other Fees Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -412,7 +427,7 @@ describe('Other Fees Path - With Files', () => { Cypress._.times(1, () => { //Budget owner approves the request - it('Budget owner approves', () => { + it.only('Budget owner approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -422,24 +437,25 @@ describe('Other Fees Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -449,35 +465,38 @@ describe('Other Fees Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('other_fees'); cy.get('#root_purpose').clear().type('It allows cost savings and convenience through the use of common infrastructures, such as equipment, utilities and receptionist and custodial services, and in some cases refreshments and parcel acceptance services'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('15-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Embassar'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); cy.contains('Task: Enter NDR Items', { timeout: 60000 }); +*/ //item 0 - cy.get('#root_0_sub_category').select('bounties'); - cy.get('#root_0_item').clear().type('A bounty is a payment or reward of money to locate'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('bounties'); + cy.get('#root_item_0_item_name').clear().type('A bounty is a payment or reward of money to locate'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('coworking'); - cy.get('#root_1_item').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Crypto'); - cy.get('#root_1_currency').select('DAI'); - cy.get('#root_1_unit_price').type('4250'); + cy.get('#root_item_1_sub_category').select('coworking'); + cy.get('#root_item_1_item_name').clear().type('A consultant (from Latin: consultare "to deliberate") is a professional'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Crypto'); + cy.get('#root_item_1_currency').select('DAI'); + cy.get('#root_item_1_unit_price').type('4250'); cy.get('button') .contains(/^Submit$/) @@ -490,8 +509,47 @@ describe('Other Fees Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('For professionals working in the professional services, ‘consultant’ and advisor’ are often used and fall under common terminology. Consultancy.uk zooms in on this field to get a closer look. \n https://www.consultancy.uk/career/what-is-consulting'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -503,8 +561,9 @@ describe('Other Fees Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -515,7 +574,7 @@ describe('Other Fees Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); @@ -533,24 +592,25 @@ describe('Other Fees Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -560,24 +620,27 @@ describe('Other Fees Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('other_fees'); cy.get('#root_purpose').clear().type('Other Fees and Expenses means, collectively, all fees and expenses payable to Lenders under the Loan Documents, other than principal, interest and default interest/penalty amounts.'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('20-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('CO-WORK ENG'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('coworking'); - cy.get('#root_0_item').clear().type('Coworking is not only about providing a physical place, but also about establishing a community'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); +*/ + cy.get('#root_item_0_sub_category').select('coworking'); + cy.get('#root_item_0_item_name').clear().type('Coworking is not only about providing a physical place, but also about establishing a community'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -591,8 +654,47 @@ describe('Other Fees Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('For professionals working in the professional services, ‘consultant’ and advisor’ are often used and fall under common terminology. Consultancy.uk zooms in on this field to get a closer look. \n https://www.consultancy.uk/career/what-is-consulting'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -603,8 +705,9 @@ describe('Other Fees Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -633,24 +736,25 @@ describe('Other Fees Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -660,24 +764,27 @@ describe('Other Fees Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('other_fees'); cy.get('#root_purpose').clear().type('It allows cost savings and convenience through the use of common infrastructures, such as equipment, utilities and receptionist and custodial services, and in some cases refreshments and parcel services.\nhttps://en.wikipedia.org/wiki/Coworking'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('12-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('BOUNTY'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') + /*cy.get('button') .contains(/^Submit$/) .click(); cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('bounties'); - cy.get('#root_0_item').clear().type('Coworking is distinct from business accelerators, business incubators, and executive suites.'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); +*/ + cy.get('#root_item_0_sub_category').select('bounties'); + cy.get('#root_item_0_item_name').clear().type('Coworking is distinct from business accelerators, business incubators, and executive suites.'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -691,8 +798,47 @@ describe('Other Fees Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('It\’s free and easy to post a job. Simply fill in a title, description and budget and competitive bids come within minutes. No job is too big or too small. We\'ve got freelancers for jobs of any size or budget across 1800 skills. No job is too complex.'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -703,8 +849,9 @@ describe('Other Fees Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -733,7 +880,7 @@ describe('Other Fees Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); diff --git a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/softwarelicense.cy.js b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/softwarelicense.cy.js index f0675f0d..146d1663 100644 --- a/spiffworkflow-frontend/cypress/pilot/NDR_PP1/softwarelicense.cy.js +++ b/spiffworkflow-frontend/cypress/pilot/NDR_PP1/softwarelicense.cy.js @@ -89,7 +89,7 @@ describe('Software and Licenses Path - Without Files', () => { Cypress._.times(1, () => { //Everyone approves with CP - it('Everyone approves with CP', () => { + it.only('Everyone approves with CP', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -99,24 +99,25 @@ describe('Software and Licenses Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -126,36 +127,39 @@ describe('Software and Licenses Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Sware\nA software license is a document that provides legally binding guidelines for the use and distribution of software.\nSoftware licenses typically provide end users with the right to one or more copies of the software without violating copyrights'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Microsoft'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Open source software is code that is designed to be publicly accessible anyone can see, modify, END'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('1915'); + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Open source software is code that is designed to be publicly accessible anyone can see, modify, END'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('1915'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('lic_and_sub'); - cy.get('#root_1_item').clear().type('A software license is a document that provides legally binding guidelines for the use and distri END'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('AED'); - cy.get('#root_1_unit_price').type('4500'); + cy.get('#root_item_1_sub_category').select('lic_and_sub'); + cy.get('#root_item_1_item_name').clear().type('A software license is a document that provides legally binding guidelines for the use and distri END'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('AED'); + cy.get('#root_item_1_unit_price').type('4500'); cy.get('button') @@ -179,8 +183,9 @@ describe('Software and Licenses Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -191,12 +196,12 @@ describe('Software and Licenses Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -224,7 +229,7 @@ describe('Software and Licenses Path - Without Files', () => { }); //Everyone approves the request - it('Everyone approves', () => { + it.only('Everyone approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -234,24 +239,25 @@ describe('Software and Licenses Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -261,37 +267,39 @@ describe('Software and Licenses Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Software licenses typically are proprietary, free or open source. The distinguishing feature is the terms under which users may redistribute or copy the software for future development or use.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('05-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Red Hat'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Open source has become a movement and a way of working that reaches beyond software production'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('NZD'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Open source has become a movement and a way of working that reaches beyond software production'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('NZD'); + cy.get('#root_item_0_unit_price').type('2416'); - - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('lic_and_sub'); - cy.get('#root_1_item').clear().type('A software license is a document that states the rights of the developer and user of software.'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('STN'); - cy.get('#root_1_unit_price').type('380'); + cy.get('#root_item_1_sub_category').select('lic_and_sub'); + cy.get('#root_item_1_item_name').clear().type('A software license is a document that states the rights of the developer and user of software.'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('STN'); + cy.get('#root_item_1_unit_price').type('380'); cy.get('button') @@ -315,8 +323,9 @@ describe('Software and Licenses Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -327,12 +336,12 @@ describe('Software and Licenses Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -386,24 +395,25 @@ describe('Software and Licenses Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -413,24 +423,27 @@ describe('Software and Licenses Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Sware\nA software license is a document that provides legally binding guidelines for the use and distribution of software.\nSoftware licenses typically provide end users with the right to one or more copies of the software without violating copyrights'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Oracle'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('It defines the terms of. A user must agree to the terms of the license when acquiring the software.'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('It defines the terms of. A user must agree to the terms of the license when acquiring the software.'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -453,8 +466,9 @@ describe('Software and Licenses Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -483,24 +497,25 @@ describe('Software and Licenses Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -510,24 +525,27 @@ describe('Software and Licenses Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('A software license establishes the rights of all parties involved with the software: the author, the provider and the end users. It defines the relationship between the software company and users and explains how they are protected'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('25-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('ABC Licensing Co'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('They protect developers\' intellectual property and trade secrets based on copyright laws'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('They protect developers\' intellectual property and trade secrets based on copyright laws'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -550,8 +568,9 @@ describe('Software and Licenses Path - Without Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -580,12 +599,12 @@ describe('Software and Licenses Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let legalsmeUsername = Cypress.env('legalsme_username'); let legalsmePassword = Cypress.env('legalsme_password'); @@ -620,24 +639,25 @@ describe('Software and Licenses Path - Without Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -647,24 +667,27 @@ describe('Software and Licenses Path - Without Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('There are two general types of software licenses that differ based on how they are viewed under copyright law.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('02-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Meta'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('The open source movement uses the values and decentralized production model of open source software'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('The open source movement uses the values and decentralized production model of open source software'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); cy.get('button') @@ -688,8 +711,9 @@ describe('Software and Licenses Path - Without Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -700,12 +724,12 @@ describe('Software and Licenses Path - Without Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -750,7 +774,7 @@ describe('Software and Licenses Path - With Files', () => { Cypress._.times(1, () => { //Everyone approves with CP - it('Everyone approves with CP', () => { + it.only('Everyone approves with CP', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -760,24 +784,25 @@ describe('Software and Licenses Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -787,35 +812,38 @@ describe('Software and Licenses Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Sware\nA software license is a document that provides legally binding guidelines for the use and distribution of software.\nSoftware licenses typically provide end users with the right to one or more copies of the software without violating copyrights'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('15-11-2035'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Microsoft Corp'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Open source software is developed in a decentralized and collaborative way'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('JPY'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Open source software is developed in a decentralized and collaborative way'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('JPY'); + cy.get('#root_item_0_unit_price').type('2416'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('lic_and_sub'); - cy.get('#root_1_item').clear().type('A software license is a document that provides legally binding guidelines for the use and distri END'); - cy.get('#root_1_qty').clear().type('1'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('INR'); - cy.get('#root_1_unit_price').type('4500'); + cy.get('#root_item_1_sub_category').select('lic_and_sub'); + cy.get('#root_item_1_item_name').clear().type('A software license is a document that provides legally binding guidelines for the use and distri END'); + cy.get('#root_item_1_qty').clear().type('1'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('INR'); + cy.get('#root_item_1_unit_price').type('4500'); cy.get('button') @@ -829,8 +857,47 @@ describe('Software and Licenses Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Open source software is developed in a decentralized and collaborative way, relying on peer review and community production. Open source software is often cheaper more flexible. \nhttps://www.redhat.com/en'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -842,8 +909,9 @@ describe('Software and Licenses Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -854,12 +922,12 @@ describe('Software and Licenses Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -887,7 +955,7 @@ describe('Software and Licenses Path - With Files', () => { }); //Everyone approves the request - it('Everyone approves', () => { + it.only('Everyone approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -897,24 +965,25 @@ describe('Software and Licenses Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -924,24 +993,27 @@ describe('Software and Licenses Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Stware\nA software license is a document that provides legally binding guidelines for the use and distribution of software.\nSoftware licenses typically provide end users with the right to one or more copies of the software without violating copyrights'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('30-11-2024'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('ORACLE LTD'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('A bounty is a payment or reward of money to locate'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('SGD'); - cy.get('#root_0_unit_price').type('2416'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('A bounty is a payment or reward of money to locate'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('SGD'); + cy.get('#root_item_0_unit_price').type('2416'); cy.get('button') @@ -955,8 +1027,47 @@ describe('Software and Licenses Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Open source software is developed in a decentralized and collaborative way, relying on peer review and community production. Open source software is often cheaper more flexible. \nhttps://www.redhat.com/en'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'png-5mb-2.png']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -968,8 +1079,9 @@ describe('Software and Licenses Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -980,12 +1092,12 @@ describe('Software and Licenses Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -1039,24 +1151,25 @@ describe('Software and Licenses Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1066,24 +1179,27 @@ describe('Software and Licenses Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Stware\nA software license is a document that provides legally binding guidelines for the use and distribution of software.\nSoftware licenses typically provide end users with the right to one or more copies of the software without violating copyrights'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-12-2023'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Subscription PVT'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('Software development consultants with Python background'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('250'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('Software development consultants with Python background'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('250'); cy.get('button') @@ -1097,8 +1213,47 @@ describe('Software and Licenses Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Open source software is developed in a decentralized and collaborative way, relying on peer review and community production. Open source software is often cheaper more flexible. \nhttps://www.redhat.com/en'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1109,8 +1264,9 @@ describe('Software and Licenses Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1139,24 +1295,25 @@ describe('Software and Licenses Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1166,24 +1323,27 @@ describe('Software and Licenses Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Stware\nA software license is a document that provides legally binding guidelines for the use and distribution of software.\nSoftware licenses typically provide end users with the right to one or more copies of the software without violating copyrights'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('25-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('LIC INST'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('Freelancers to do the Python development and front end react app development'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('Freelancers to do the Python development and front end react app development'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -1197,9 +1357,47 @@ describe('Software and Licenses Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected.'); - cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); cy.get('input[value="Submit the Request"]').click(); @@ -1209,8 +1407,9 @@ describe('Software and Licenses Path - With Files', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1239,12 +1438,12 @@ describe('Software and Licenses Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let legalsmeUsername = Cypress.env('legalsme_username'); let legalsmePassword = Cypress.env('legalsme_password'); @@ -1280,24 +1479,25 @@ describe('Software and Licenses Path - With Files', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1307,24 +1507,27 @@ describe('Software and Licenses Path - With Files', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Proprietary licenses are often referred to as closed source. They provide customers with operational code. Users cannot freely alter this software. These licenses also usually restrict reverse engineering the software\'s code to obtain the source code'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Red HAT'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('They provide customers with operational code. Users cannot freely alter this software.'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('STN'); - cy.get('#root_0_unit_price').type('2416'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('They provide customers with operational code. Users cannot freely alter this software.'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('STN'); + cy.get('#root_item_0_unit_price').type('2416'); cy.get('button') @@ -1338,8 +1541,47 @@ describe('Software and Licenses Path - With Files', () => { cy.get('.cds--text-area__wrapper').find('#root').type('Free and open source software (FOSS) licenses are often referred to as open source. FOSS source code is available to the customer along with the software product. The customer is usually allowed to use the source code to change the software.'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'png-5mb-2.png']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1351,8 +1593,9 @@ describe('Software and Licenses Path - With Files', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1363,12 +1606,12 @@ describe('Software and Licenses Path - With Files', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -1412,7 +1655,7 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { Cypress._.times(1, () => { //Everyone approves with CP - it('Everyone approves with CP', () => { + it.only('Everyone approves with CP', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -1422,24 +1665,25 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1449,46 +1693,49 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Software licenses typically are proprietary, free or open source. The distinguishing feature is the terms under which users may redistribute or copy the software for future development or use.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Meta Corp'); cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); - cy.get('#root_0_qty').clear().type('1'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); + cy.get('#root_item_0_qty').clear().type('1'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('lic_and_sub'); - cy.get('#root_1_item').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); - cy.get('#root_1_qty').clear().type('5'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('EUR'); - cy.get('#root_1_unit_price').type('250'); + cy.get('#root_item_1_sub_category').select('lic_and_sub'); + cy.get('#root_item_1_item_name').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); + cy.get('#root_item_1_qty').clear().type('5'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('EUR'); + cy.get('#root_item_1_unit_price').type('250'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('lic_and_sub'); - cy.get('#root_2_item').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); - cy.get('#root_2_qty').clear().type('10'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('DAI'); - cy.get('#root_2_unit_price').type('12500'); + cy.get('#root_item_2_sub_category').select('lic_and_sub'); + cy.get('#root_item_2_item_name').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); + cy.get('#root_item_2_qty').clear().type('10'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('DAI'); + cy.get('#root_item_2_unit_price').type('12500'); @@ -1503,8 +1750,47 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected.'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1516,8 +1802,9 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1528,12 +1815,12 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -1561,7 +1848,7 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { }); //Everyone approves the request - it('Everyone approves', () => { + it.only('Everyone approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -1571,24 +1858,25 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1598,45 +1886,48 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Software licenses typically are proprietary, free or open source. The distinguishing feature is the terms under which users may redistribute or copy the software for future development or use.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Apple'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AED'); - cy.get('#root_0_unit_price').type('1250'); + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AED'); + cy.get('#root_item_0_unit_price').type('1250'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('lic_and_sub'); - cy.get('#root_1_item').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); - cy.get('#root_1_qty').clear().type('5'); - cy.get('#root_1_currency_type').select('Crypto'); - cy.get('#root_1_currency').select('SNT'); - cy.get('#root_1_unit_price').type('25000'); + cy.get('#root_item_1_sub_category').select('lic_and_sub'); + cy.get('#root_item_1_item_name').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); + cy.get('#root_item_1_qty').clear().type('5'); + cy.get('#root_item_1_currency_type').select('Crypto'); + cy.get('#root_item_1_currency').select('SNT'); + cy.get('#root_item_1_unit_price').type('25000'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('lic_and_sub'); - cy.get('#root_2_item').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); - cy.get('#root_2_qty').clear().type('3'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('ETH'); - cy.get('#root_2_unit_price').type('2.10'); + cy.get('#root_item_2_sub_category').select('lic_and_sub'); + cy.get('#root_item_2_item_name').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); + cy.get('#root_item_2_qty').clear().type('3'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('ETH'); + cy.get('#root_item_2_unit_price').type('2.10'); cy.get('button') @@ -1650,8 +1941,48 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, \nhttps://en.wikipedia.org/wiki/Software_license'); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'png-5mb-2.png']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1663,8 +1994,9 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1675,12 +2007,12 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -1734,24 +2066,25 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1761,46 +2094,49 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Software licenses typically are proprietary, free or open source. The distinguishing feature is the terms under which users may redistribute or copy the software for future development or use.'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('24-02-2026'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Subscription PVT'); cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); - cy.get('#root_0_qty').clear().type('5'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('USD'); - cy.get('#root_0_unit_price').type('250.50'); + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); + cy.get('#root_item_0_qty').clear().type('5'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('USD'); + cy.get('#root_item_0_unit_price').type('250.50'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('lic_and_sub'); - cy.get('#root_1_item').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); - cy.get('#root_1_qty').clear().type('5'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('GBP'); - cy.get('#root_1_unit_price').type('5200'); + cy.get('#root_item_1_sub_category').select('lic_and_sub'); + cy.get('#root_item_1_item_name').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); + cy.get('#root_item_1_qty').clear().type('5'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('GBP'); + cy.get('#root_item_1_unit_price').type('5200'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('op_src'); - cy.get('#root_2_item').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); - cy.get('#root_2_qty').clear().type('3'); - cy.get('#root_2_currency_type').select('Fiat'); - cy.get('#root_2_currency').select('HKD'); - cy.get('#root_2_unit_price').type('2100'); + cy.get('#root_item_2_sub_category').select('op_src'); + cy.get('#root_item_2_item_name').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); + cy.get('#root_item_2_qty').clear().type('3'); + cy.get('#root_item_2_currency_type').select('Fiat'); + cy.get('#root_item_2_currency').select('HKD'); + cy.get('#root_item_2_unit_price').type('2100'); cy.get('button') .contains(/^Submit$/) @@ -1813,8 +2149,47 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, \nhttps://en.wikipedia.org/wiki/Software_license'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1825,8 +2200,9 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1855,24 +2231,25 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -1882,45 +2259,48 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Free and open source software (FOSS) licenses are often referred to as open source. FOSS source code is available to the customer along with the software product. The customer is usually allowed to use the source code to change the software.'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('25-02-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('LIC INST'); cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ //item 0 - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); - cy.get('#root_0_qty').clear().type('24'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('A software license is a document that provides binding guidelines for the use and distribution.'); + cy.get('#root_item_0_qty').clear().type('24'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('op_src'); - cy.get('#root_1_item').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); - cy.get('#root_1_qty').clear().type('15'); - cy.get('#root_1_currency_type').select('Crypto'); - cy.get('#root_1_currency').select('ETH'); - cy.get('#root_1_unit_price').type('0.85'); + cy.get('#root_item_1_sub_category').select('op_src'); + cy.get('#root_item_1_item_name').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); + cy.get('#root_item_1_qty').clear().type('15'); + cy.get('#root_item_1_currency_type').select('Crypto'); + cy.get('#root_item_1_currency').select('ETH'); + cy.get('#root_item_1_unit_price').type('0.85'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('lic_and_sub'); - cy.get('#root_2_item').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); - cy.get('#root_2_qty').clear().type('8'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('DAI'); - cy.get('#root_2_unit_price').type('2100'); + cy.get('#root_item_2_sub_category').select('lic_and_sub'); + cy.get('#root_item_2_item_name').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); + cy.get('#root_item_2_qty').clear().type('8'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('DAI'); + cy.get('#root_item_2_unit_price').type('2100'); cy.get('button') @@ -1934,8 +2314,47 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, \nhttps://en.wikipedia.org/wiki/Software_license'); + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'sampletext.txt']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['sampletext.txt']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -1946,8 +2365,9 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -1976,12 +2396,12 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let legalsmeUsername = Cypress.env('legalsme_username'); let legalsmePassword = Cypress.env('legalsme_password'); @@ -2017,24 +2437,25 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2044,11 +2465,13 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Free and open source software (FOSS) licenses are often referred to as open source. FOSS source code is available to the customer along with the software product. The customer is usually allowed to use the source code to change the software.'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('20-11-2025'); + cy.get('body').click(); cy.get('#root_vendor').clear().type('Atlassian'); cy.get('#root_payment_method').select('Debit Card'); cy.get('button') @@ -2057,32 +2480,32 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { //item 0 cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('THB'); - cy.get('#root_0_unit_price').type('1350'); + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Definition. Open source software (OSS) is software that is distributed with its source code'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('THB'); + cy.get('#root_item_0_unit_price').type('1350'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 1 - cy.get('#root_1_sub_category').select('op_src'); - cy.get('#root_1_item').clear().type('Open source software (OSS) is software that is distributed with its source code'); - cy.get('#root_1_qty').clear().type('15'); - cy.get('#root_1_currency_type').select('Fiat'); - cy.get('#root_1_currency').select('TRY'); - cy.get('#root_1_unit_price').type('3200'); + cy.get('#root_item_1_sub_category').select('op_src'); + cy.get('#root_item_1_item_name').clear().type('Open source software (OSS) is software that is distributed with its source code'); + cy.get('#root_item_1_qty').clear().type('15'); + cy.get('#root_item_1_currency_type').select('Fiat'); + cy.get('#root_item_1_currency').select('TRY'); + cy.get('#root_item_1_unit_price').type('3200'); - cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get('#root_item > div:nth-child(3) > p > button').click(); //item 2 - cy.get('#root_2_sub_category').select('lic_and_sub'); - cy.get('#root_2_item').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); - cy.get('#root_2_qty').clear().type('8'); - cy.get('#root_2_currency_type').select('Crypto'); - cy.get('#root_2_currency').select('DAI'); - cy.get('#root_2_unit_price').type('2100'); + cy.get('#root_item_2_sub_category').select('lic_and_sub'); + cy.get('#root_item_2_item_name').clear().type('Subscription relates to a licensing model that allows users to pay regularly for a computer program'); + cy.get('#root_item_2_qty').clear().type('8'); + cy.get('#root_item_2_currency_type').select('Crypto'); + cy.get('#root_item_2_currency').select('DAI'); + cy.get('#root_item_2_unit_price').type('2100'); cy.get('button') @@ -2096,8 +2519,48 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { cy.get('.cds--text-area__wrapper').find('#root').type('A typical software license grants the licensee, typically an end-user, permission to use one or more copies of software in ways where such a use would otherwise potentially constitute copyright.\nhttps://en.wikipedia.org/wiki/Software_license'); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.get("input[type=file]") - .attachFile(['lorem-ipsum.pdf', 'png-5mb-1.png', 'Free_Test_Data_1MB_PDF.pdf', 'png-5mb-2.png']); + .attachFile(['lorem-ipsum.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get("input[type=file]") + .attachFile(['png-5mb-1.png']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['Free_Test_Data_1MB_PDF.pdf']); + cy.wait(1000); + + cy.get('#root > div:nth-child(3) > p > button').click(); + cy.wait(1000); + + cy.get('#root > div.row.array-item-list > div:nth-child(4) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(3) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + cy.get('#root > div.row.array-item-list > div:nth-child(2) > div > div.cds--sm\\:col-span-1.cds--md\\:col-span-1.cds--lg\\:col-span-1.cds--css-grid-column > div > div > button.btn.btn-default.array-item-move-up > svg').click(); + cy.wait(1000); + + cy.get("input[type=file]") + .attachFile(['png-5mb-2.png']); + + cy.wait(2000); cy.contains('Submit the Request').click(); @@ -2109,8 +2572,9 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -2121,12 +2585,12 @@ describe('Software and Licenses Path - With Files and Multiple items', () => { budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -2170,7 +2634,7 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi Cypress._.times(1, () => { //Everyone approves with CP - it('Everyone approves with CP', () => { + it.only('Everyone approves with CP', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -2180,24 +2644,25 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2207,24 +2672,27 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Need to buy a Software'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2024-11-25'); + cy.get('#root_period').clear().type('24-11-2025'); + cy.get('body').click(); //cy.get('#root_vendor').clear().type('Embassar'); //cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Open source software'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('USD'); - cy.get('#root_0_unit_price').type('550'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Open source software'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('USD'); + cy.get('#root_item_0_unit_price').type('550'); cy.get('button') @@ -2248,8 +2716,9 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -2260,12 +2729,12 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -2293,7 +2762,7 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi }); //Everyone approves the request - it('Everyone approves', () => { + it.only('Everyone approves', () => { let username = Cypress.env('requestor_username'); let password = Cypress.env('requestor_password'); cy.log('=====username : ' + username); @@ -2303,24 +2772,25 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2330,24 +2800,27 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('need software'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('20-11-2025'); + cy.get('body').click(); //cy.get('#root_vendor').clear().type('Embassar'); //cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('open source'); - cy.get('#root_0_qty').clear().type('1'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AED'); - cy.get('#root_0_unit_price').type('1520'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('open source'); + cy.get('#root_item_0_qty').clear().type('1'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AED'); + cy.get('#root_item_0_unit_price').type('1520'); cy.get('button') @@ -2371,8 +2844,9 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -2383,12 +2857,12 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username'); @@ -2442,24 +2916,25 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2469,24 +2944,27 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Nee license'); cy.get('#root_criticality').select('Medium'); - cy.get('#root_period').clear().type('2024-02-06'); + cy.get('#root_period').clear().type('20-02-2026'); + cy.get('body').click(); //cy.get('#root_vendor').clear().type('Subsc LTD'); //cy.get('#root_payment_method').select('Bank Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('Software development'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('EUR'); - cy.get('#root_0_unit_price').type('1400'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('Software development'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('EUR'); + cy.get('#root_item_0_unit_price').type('1400'); cy.get('button') @@ -2509,8 +2987,9 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -2539,24 +3018,25 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2566,24 +3046,27 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Software needed'); cy.get('#root_criticality').select('Low'); - cy.get('#root_period').clear().type('2025-02-25'); + cy.get('#root_period').clear().type('05-02-2025'); + cy.get('body').click(); //cy.get('#root_vendor').clear().type('ABC Licensing Co'); //cy.get('#root_payment_method').select('Crypto Transfer'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('lic_and_sub'); - cy.get('#root_0_item').clear().type('License'); - cy.get('#root_0_qty').clear().type('4'); - cy.get('#root_0_currency_type').select('Crypto'); - cy.get('#root_0_currency').select('SNT'); - cy.get('#root_0_unit_price').type('450'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('lic_and_sub'); + cy.get('#root_item_0_item_name').clear().type('License'); + cy.get('#root_item_0_qty').clear().type('4'); + cy.get('#root_item_0_currency_type').select('Crypto'); + cy.get('#root_item_0_currency').select('SNT'); + cy.get('#root_item_0_unit_price').type('450'); cy.get('button') @@ -2606,8 +3089,9 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi .contains(/^Submit$/) .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -2636,12 +3120,12 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let legalsmeUsername = Cypress.env('legalsme_username'); let legalsmePassword = Cypress.env('legalsme_password'); @@ -2676,24 +3160,25 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi cy.visit('/'); cy.contains('Start New +').click(); - cy.contains('Raise New Demand Request'); + cy.contains('Request Goods/Services'); cy.runPrimaryBpmnFile(true); - cy.contains('Please select the type of request to start the process.'); - // wait a second to ensure we can click the radio button - - cy.wait(2000); - cy.get('input#root-procurement').click(); - cy.wait(2000); - - - cy.get('button') - .contains(/^Submit$/) - .click(); + /* cy.contains('Please select the type of request to start the process.'); + // wait a second to ensure we can click the radio button + + cy.wait(2000); + cy.get('input#root-procurement').click(); + cy.wait(2000); + + + cy.get('button') + .contains(/^Submit$/) + .click(); + */ cy.contains( - 'Submit a new demand request for the procurement of needed items', + 'Request Goods/Services', { timeout: 60000 } ); @@ -2703,24 +3188,27 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi const processInstanceId = currentUrl.match(/(?<=\/tasks\/)\d+/)[0]; cy.log('==###############===processInstanceId : ', processInstanceId); let projectId = Cypress.env('project_id'); + cy.wait(2000); cy.get('#root_project').select(projectId); cy.get('#root_category').select('soft_and_lic'); cy.get('#root_purpose').clear().type('Software is needed'); cy.get('#root_criticality').select('High'); - cy.get('#root_period').clear().type('2025-11-25'); + cy.get('#root_period').clear().type('25-11-2025'); + cy.get('body').click(); // cy.get('#root_vendor').clear().type('Embassar'); // cy.get('#root_payment_method').select('Reimbursement'); - cy.get('button') - .contains(/^Submit$/) - .click(); - - cy.contains('Task: Enter NDR Items', { timeout: 60000 }); - cy.get('#root_0_sub_category').select('op_src'); - cy.get('#root_0_item').clear().type('Open source'); - cy.get('#root_0_qty').clear().type('2'); - cy.get('#root_0_currency_type').select('Fiat'); - cy.get('#root_0_currency').select('AUD'); - cy.get('#root_0_unit_price').type('2416'); + /* cy.get('button') + .contains(/^Submit$/) + .click(); + + cy.contains('Task: Enter NDR Items', { timeout: 60000 }); + */ + cy.get('#root_item_0_sub_category').select('op_src'); + cy.get('#root_item_0_item_name').clear().type('Open source'); + cy.get('#root_item_0_qty').clear().type('2'); + cy.get('#root_item_0_currency_type').select('Fiat'); + cy.get('#root_item_0_currency').select('AUD'); + cy.get('#root_item_0_unit_price').type('2416'); cy.get('button') @@ -2744,8 +3232,9 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi .click(); - cy.contains('Tasks for my open instances', { timeout: 60000 }); + cy.contains('Started by me', { timeout: 60000 }); cy.logout(); + cy.wait(1000); let budgetOwnerUsername = Cypress.env('budgetowner_username'); let budgetOwnerPassword = Cypress.env('budgetowner_password'); @@ -2756,12 +3245,12 @@ describe('Software and Licenses Path - Without Files and with only mandatory fi budgetOwnerUsername, budgetOwnerPassword, processInstanceId, - 'Task: Reminder: Request Additional Budget', + 'Task: Reminder: Check Existing Budget', "approve" ); let ppgbasmeUsername = Cypress.env('ppgbasme_username'); - let ppgbasmePassword = Cypress.env('ppgbasme_username'); + let ppgbasmePassword = Cypress.env('ppgbasme_password'); let securitysmeUsername = Cypress.env('securitysme_username'); let securitysmePassword = Cypress.env('securitysme_password'); let infrasmeUsername = Cypress.env('infrasme_username');