From e0b1f388880b38c44f8925e3501d351a10c7b944 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Sat, 24 May 2025 14:53:41 -0700 Subject: [PATCH 1/8] Add test for BI-2392. --- src/features/BI-2393.feature | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/features/BI-2393.feature diff --git a/src/features/BI-2393.feature b/src/features/BI-2393.feature new file mode 100644 index 00000000..7a81c1e6 --- /dev/null +++ b/src/features/BI-2393.feature @@ -0,0 +1,51 @@ +Feature: Revoking access for Experimental Collaborator + + Background: + Given a new program is created + + @BI-2393 + Scenario Outline: Revoking access for Experimental Collaborator + Given user logs in as "Cucumber Breeder" + When user selects "*" on program-selection page + And user selects "Program Administration" in top-level navigation + And user selects "Edit" of row "2" of Experiments page + And user sets "Experimental Collaborator" in Role dropdown + And user selects "Save" button + And user pause for "5" seconds + And user selects "Germplasm" in top-level navigation + And user selects "Manage Germplasm" button + And user selects "Import file" menu item + And user uploads Germplasm "GermplasmSample.xlsx" file + And user selects 'Import' button + When user sets "GermplasmSort" in List Name field of import page + When user sets "GermplasmSort" in List Description field of import page + And user selects "Confirm" button + When user selects "Ontology" in navigation + When user selects "Manage Ontology" button + When user selects "Import file" link + And user uploads Ontology "test01-ontology.xls" file + When user selects 'Import' button + When user selects "Confirm" button + And user pause for "5" seconds + When user selects "Experiments & Observations" in navigation + When user selects "Import Experiments & Observations" button + And user uploads Experiments & Observations "BI-2056.csv" file + When user selects 'Import' button + When user selects "Confirm" button + And user pause for "5" seconds + When user selects "Experiments & Observations" in navigation + When user selects "Import Experiments & Observations" button + And user uploads Experiments & Observations "BI-2392.csv" file + When user selects 'Import' button + When user selects "Confirm" button + And user pause for "5" seconds + And user selects "Experiments & Observations" in top-level navigation + And user selects "New Trial DRP1" link + And user selects "Manage Experiment" button + And user selects "Add Collaborator" link + And user selects "Save" button + And user logs out + Given user logs in as "Cucumber Member" + When user selects "*" on program-selection page + And user selects "Experiments & Observations" in top-level navigation + And user can see row "1" rows in a table \ No newline at end of file From 121375c41e04e7c93ba0d9a133ce06000c71b252 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Sat, 24 May 2025 14:57:58 -0700 Subject: [PATCH 2/8] Add test for BI-2391. --- src/features/BI-2391.feature | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/features/BI-2391.feature diff --git a/src/features/BI-2391.feature b/src/features/BI-2391.feature new file mode 100644 index 00000000..efac557e --- /dev/null +++ b/src/features/BI-2391.feature @@ -0,0 +1,49 @@ +Feature: Experimental Collaborator with non System Admin roles cannot see a delete button next to each collaborator + + Background: + Given a new program is created + + @BI-2391 + Scenario Outline: Experimental Collaborator with non System Admin roles cannot see a delete button next to each collaborator + Given user logs in as "Cucumber Breeder" + When user selects "*" on program-selection page + And user selects "Program Administration" in top-level navigation + And user selects New User button + And user sets "test user" in Name field of User + And user sets "test@mailinator.com" in Email field of User + And user selects "Experimental Collaborator" in Role dropdown + And user selects Save button + And user pause for "5" seconds + And user selects "Germplasm" in top-level navigation + And user selects "Manage Germplasm" button + And user selects "Import file" menu item + And user uploads Germplasm "GermplasmSample.xlsx" file + And user selects 'Import' button + When user sets "GermplasmSort" in List Name field of import page + When user sets "GermplasmSort" in List Description field of import page + And user selects "Confirm" button + When user selects "Ontology" in navigation + When user selects "Manage Ontology" button + When user selects "Import file" link + And user uploads Ontology "test01-ontology.xls" file + When user selects 'Import' button + When user selects "Confirm" button + And user pause for "5" seconds + When user selects "Experiments & Observations" in navigation + When user selects "Import Experiments & Observations" button + And user uploads Experiments & Observations "BI-2056.csv" file + When user selects 'Import' button + When user selects "Confirm" button + And user pause for "5" seconds + And user selects "Experiments & Observations" in top-level navigation + And user selects "New Trial DRP1" of row "1" of Experiments page + And user selects "Manage Experiment" button + And user selects "Add Collaborator" link + And user selects "Save" button + And user logs out + Given user logs in as "Cucumber Member" + When user selects "*" on program-selection page + And user selects "Experiments & Observations" in top-level navigation + And user selects "New Trial DRP1" of row "1" of Experiments page + And user can see "test user(test@mailinator.com)" as Collaborator + And user can not see "test user(test@mailinator.com)" delete button of Collaborator \ No newline at end of file From 10d245009e7575bebddbf6c6b6bf9c94a423df74 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Sat, 24 May 2025 15:11:00 -0700 Subject: [PATCH 3/8] Add test for BI-2391. --- src/features/BI-2391.feature | 1 + src/features/BI-2393.feature | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/features/BI-2391.feature b/src/features/BI-2391.feature index efac557e..a640cd43 100644 --- a/src/features/BI-2391.feature +++ b/src/features/BI-2391.feature @@ -3,6 +3,7 @@ Feature: Experimental Collaborator with non System Admin roles cannot see a dele Background: Given a new program is created +@debug @BI-2391 Scenario Outline: Experimental Collaborator with non System Admin roles cannot see a delete button next to each collaborator Given user logs in as "Cucumber Breeder" diff --git a/src/features/BI-2393.feature b/src/features/BI-2393.feature index 7a81c1e6..ef6a55e2 100644 --- a/src/features/BI-2393.feature +++ b/src/features/BI-2393.feature @@ -1,10 +1,10 @@ -Feature: Revoking access for Experimental Collaborator +Feature: Accessing experiment view Background: Given a new program is created @BI-2393 - Scenario Outline: Revoking access for Experimental Collaborator + Scenario Outline: Accessing experiment view Given user logs in as "Cucumber Breeder" When user selects "*" on program-selection page And user selects "Program Administration" in top-level navigation From 0866c15ecdafe8f4d72f697b024e5bd296c2ed12 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Tue, 27 May 2025 23:00:27 -0700 Subject: [PATCH 4/8] Remove debug tag. --- src/features/BI-2391.feature | 1 - 1 file changed, 1 deletion(-) diff --git a/src/features/BI-2391.feature b/src/features/BI-2391.feature index a640cd43..efac557e 100644 --- a/src/features/BI-2391.feature +++ b/src/features/BI-2391.feature @@ -3,7 +3,6 @@ Feature: Experimental Collaborator with non System Admin roles cannot see a dele Background: Given a new program is created -@debug @BI-2391 Scenario Outline: Experimental Collaborator with non System Admin roles cannot see a delete button next to each collaborator Given user logs in as "Cucumber Breeder" From b3046cc6e90daefe97a5cce55f60af6996cdbba3 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Tue, 24 Jun 2025 00:08:38 -0700 Subject: [PATCH 5/8] Revert "Add test for BI-2391." This reverts commit 10d245009e7575bebddbf6c6b6bf9c94a423df74. --- src/features/BI-2393.feature | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/features/BI-2393.feature b/src/features/BI-2393.feature index ef6a55e2..7a81c1e6 100644 --- a/src/features/BI-2393.feature +++ b/src/features/BI-2393.feature @@ -1,10 +1,10 @@ -Feature: Accessing experiment view +Feature: Revoking access for Experimental Collaborator Background: Given a new program is created @BI-2393 - Scenario Outline: Accessing experiment view + Scenario Outline: Revoking access for Experimental Collaborator Given user logs in as "Cucumber Breeder" When user selects "*" on program-selection page And user selects "Program Administration" in top-level navigation From e931c8a1384fd4a62ba1a8cb42534aa2908958a7 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Tue, 24 Jun 2025 00:09:11 -0700 Subject: [PATCH 6/8] Revert "Add test for BI-2392." This reverts commit e0b1f388880b38c44f8925e3501d351a10c7b944. --- src/features/BI-2393.feature | 51 ------------------------------------ 1 file changed, 51 deletions(-) delete mode 100644 src/features/BI-2393.feature diff --git a/src/features/BI-2393.feature b/src/features/BI-2393.feature deleted file mode 100644 index 7a81c1e6..00000000 --- a/src/features/BI-2393.feature +++ /dev/null @@ -1,51 +0,0 @@ -Feature: Revoking access for Experimental Collaborator - - Background: - Given a new program is created - - @BI-2393 - Scenario Outline: Revoking access for Experimental Collaborator - Given user logs in as "Cucumber Breeder" - When user selects "*" on program-selection page - And user selects "Program Administration" in top-level navigation - And user selects "Edit" of row "2" of Experiments page - And user sets "Experimental Collaborator" in Role dropdown - And user selects "Save" button - And user pause for "5" seconds - And user selects "Germplasm" in top-level navigation - And user selects "Manage Germplasm" button - And user selects "Import file" menu item - And user uploads Germplasm "GermplasmSample.xlsx" file - And user selects 'Import' button - When user sets "GermplasmSort" in List Name field of import page - When user sets "GermplasmSort" in List Description field of import page - And user selects "Confirm" button - When user selects "Ontology" in navigation - When user selects "Manage Ontology" button - When user selects "Import file" link - And user uploads Ontology "test01-ontology.xls" file - When user selects 'Import' button - When user selects "Confirm" button - And user pause for "5" seconds - When user selects "Experiments & Observations" in navigation - When user selects "Import Experiments & Observations" button - And user uploads Experiments & Observations "BI-2056.csv" file - When user selects 'Import' button - When user selects "Confirm" button - And user pause for "5" seconds - When user selects "Experiments & Observations" in navigation - When user selects "Import Experiments & Observations" button - And user uploads Experiments & Observations "BI-2392.csv" file - When user selects 'Import' button - When user selects "Confirm" button - And user pause for "5" seconds - And user selects "Experiments & Observations" in top-level navigation - And user selects "New Trial DRP1" link - And user selects "Manage Experiment" button - And user selects "Add Collaborator" link - And user selects "Save" button - And user logs out - Given user logs in as "Cucumber Member" - When user selects "*" on program-selection page - And user selects "Experiments & Observations" in top-level navigation - And user can see row "1" rows in a table \ No newline at end of file From 114ad10805a31090151c4b0b33b5d0f5de0989d2 Mon Sep 17 00:00:00 2001 From: cvacalares Date: Tue, 15 Jul 2025 09:09:12 -0700 Subject: [PATCH 7/8] Change from And to Then. --- src/features/BI-2391.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/BI-2391.feature b/src/features/BI-2391.feature index efac557e..6e911dbc 100644 --- a/src/features/BI-2391.feature +++ b/src/features/BI-2391.feature @@ -45,5 +45,5 @@ Feature: Experimental Collaborator with non System Admin roles cannot see a dele When user selects "*" on program-selection page And user selects "Experiments & Observations" in top-level navigation And user selects "New Trial DRP1" of row "1" of Experiments page - And user can see "test user(test@mailinator.com)" as Collaborator + Then user can see "test user(test@mailinator.com)" as Collaborator And user can not see "test user(test@mailinator.com)" delete button of Collaborator \ No newline at end of file From e80c8930e235392a5b9d20d5bb04403b005ff5ce Mon Sep 17 00:00:00 2001 From: cvacalares Date: Tue, 15 Jul 2025 22:46:17 -0700 Subject: [PATCH 8/8] Extend test time to 2 hours. Add try catch for quitting the browser. --- cucumber.conf.js | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/cucumber.conf.js b/cucumber.conf.js index 620c3110..678d35e3 100644 --- a/cucumber.conf.js +++ b/cucumber.conf.js @@ -10,9 +10,24 @@ const fsPromises = fs.promises; const path = require("path"); const os = require("os"); const reporter = require("cucumber-html-reporter"); +const chromedriverPath = require("chromedriver").path; require("events").EventEmitter.defaultMaxListeners = 20; -setDefaultTimeout(300000); +setDefaultTimeout(1000 * 60 * 120); + +process.on('SIGTERM', () => { + console.warn('Received SIGTERM - shutting down'); +}); +process.on('SIGINT', () => { + console.warn('Received SIGINT - interrupted'); +}); +process.on('uncaughtException', err => { + console.error('Uncaught exception:', err); +}); +process.on('unhandledRejection', reason => { + console.error('Unhandled promise rejection:', reason); +}); + Before(async function ({ pickle }) { fs.mkdirSync("report", { recursive: true }); @@ -78,6 +93,15 @@ Before(async function ({ pickle }) { args: chromeArgs, }, }, + webdriver: { + start_process: this.parameters["start-process"] !== false, + server_path: chromedriverPath, + port: this.parameters["webdriver-port"] || 9515, + cli_args: [ + "--verbose", + "--log-path=chromedriver.log", + ], + }, }); if (this.client.settings.sync_test_names) { @@ -104,6 +128,14 @@ After(async function (testCase) { await this.browser.quit(); } + try { + if (this.browser && !isDebug) { + await this.browser.quit(); + } + } catch (e) { + console.error("Error during After hook:", e); + } + if (this.tmpUserDataDir) { fs.rmSync(this.tmpUserDataDir, { recursive: true, force: true }); }