From 6f41b4b555ca745fb696425a83a9263c89036fe5 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Mon, 8 Nov 2021 14:56:23 +0100 Subject: [PATCH 01/14] clone.js; return short name with special character replaced Fix error of character '<' in chromium Link to #2539 --- browser/js/list.js | 2 +- .../test/cypress/integration/test_issues.js | 29 +++++++++++++++++++ browser/test/cypress/support/clones.js | 18 ++++++++++++ browser/test/cypress/support/index.js | 1 + 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 browser/test/cypress/integration/test_issues.js create mode 100755 browser/test/cypress/support/clones.js diff --git a/browser/js/list.js b/browser/js/list.js index d6ffe611f..c8af70d7f 100644 --- a/browser/js/list.js +++ b/browser/js/list.js @@ -501,7 +501,7 @@ List.prototype = { if (cloneDom.getElement(divClass) == null) return false cloneDom.color( divClass, clone.getColor()); - cloneDom.content(divClass, clone.getShortName()); + cloneDom.content(divClass, clone.getShortName().replace('<', '<')); cloneDom.title( divClass, clone.getNameAndCode()); //update clone axis diff --git a/browser/test/cypress/integration/test_issues.js b/browser/test/cypress/integration/test_issues.js new file mode 100644 index 000000000..003bd2fc8 --- /dev/null +++ b/browser/test/cypress/integration/test_issues.js @@ -0,0 +1,29 @@ +/// + +var localhost = true +console.log( Cypress.env('workdir') ) +var url = "./"+ Cypress.env('workdir')+"/browser/index.html" +console.log( url ) + +// This script allow to make some action in a sandbox to quicly change made on the client when you code +describe('Test sandbox', function () { + beforeEach(function () { + cy.setBrowser(url) + }) + + + it('2589-fix_error_in_renaming_clone', function() { + cy.openAnalysis("doc/analysis-example2.vidjil") + + cy.clone_rename("4", "un clone") + cy.clone_rename("4", ">un clone") + cy.clone_rename("4", " { + + cy.get('#listElem_'+id+' > .nameBox') + .dblclick() + cy.get('#new_name') + .type(new_name) + cy.get('#btnSave') + .click() + cy.get('#listElem_'+id+' > .nameBox') + .should("contain", new_name) + +}) diff --git a/browser/test/cypress/support/index.js b/browser/test/cypress/support/index.js index af8eacb65..a4c5153f5 100644 --- a/browser/test/cypress/support/index.js +++ b/browser/test/cypress/support/index.js @@ -20,6 +20,7 @@ import './commands' import './db_pages' import './user_and_group' import './configs_and_process' +import './clones' const resizeObserverLoopErrRe = /^[^(ResizeObserver loop limit exceeded)]/ -- GitLab From 623b8db850a32bba1d6f2d426cce5b6a46248965 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 17 Nov 2021 11:28:06 +0100 Subject: [PATCH 02/14] cypress; refactor login to remove duplicate code --- browser/test/cypress/support/login.js | 41 +++++++++------------------ 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/browser/test/cypress/support/login.js b/browser/test/cypress/support/login.js index 5d5b608ce..cc3b531c8 100644 --- a/browser/test/cypress/support/login.js +++ b/browser/test/cypress/support/login.js @@ -4,43 +4,30 @@ Cypress.Commands.add('login', (host) => { if (host=="local"){ cy.visit('http://localhost/browser') cy.update_icon() - // log in - cy.get('#auth_user_email', { timeout: 10000 }) - .should('exist') - .should('be.visible') - .type('plop@plop.com') - cy.get('#auth_user_password') - .type('foobartest') - cy.get('#submit_record__row > .w2p_fw > input').click() - cy.update_icon() + cy.fillLogin('plop@plop.com','foobartest') } else if (host=="review"){ cy.visit(Cypress.env('URL')) cy.update_icon() - // log in - cy.get('#auth_user_email', { timeout: 10000 }) - .should('exist') - .should('be.visible') - .type('test@vidjil.org') - cy.get('#auth_user_password') - .type(Cypress.env('CI_PASSWORD_TEST')) - cy.get('#submit_record__row > .w2p_fw > input').click() - cy.update_icon() + cy.fillLogin('test@vidjil.org',Cypress.env('CI_PASSWORD_TEST')) } else if (host=="app"){ cy.visit('https://app.vidjil.org/') cy.update_icon() - - // log in + cy.fillLogin('demo@vidjil.org','demo') + } +}) + + + +Cypress.Commands.add('fillLogin', (user, password) => { cy.get('#auth_user_email', { timeout: 10000 }) - .should('exist') - .should('be.visible') - .type('demo@vidjil.org') + .should('exist').should('be.visible') + .type(user) cy.get('#auth_user_password') - .type('demo') - // .type('demo') + .type(password) cy.get('#submit_record__row > .w2p_fw > input').click() cy.update_icon() - } - cy.verifyLogin() + + cy.verifyLogin() }) -- GitLab From 5e3431e6d51f6342dde874e4ab5b99e2c3f350b4 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 17 Nov 2021 11:29:15 +0100 Subject: [PATCH 03/14] cypress, add logout functions --- browser/test/cypress/support/login.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/browser/test/cypress/support/login.js b/browser/test/cypress/support/login.js index cc3b531c8..ec4eeb764 100644 --- a/browser/test/cypress/support/login.js +++ b/browser/test/cypress/support/login.js @@ -17,7 +17,6 @@ Cypress.Commands.add('login', (host) => { }) - Cypress.Commands.add('fillLogin', (user, password) => { cy.get('#auth_user_email', { timeout: 10000 }) .should('exist').should('be.visible') @@ -35,3 +34,29 @@ Cypress.Commands.add('verifyLogin', (host) => { cy.get('body').should('not.contain', 'You can request an account') cy.get('body').should('contain', 'logout') }) + + +// LOGOUT +Cypress.Commands.add('logout', (host) => { + cy.get('#login-container') + .should('exist') + cy.intercept({ + method: 'GET', // Route all GET requests + url: 'get_active_notifications*', + }).as('getActivities') + cy.get('#login-container > .button') + .click() + cy.wait(['@getActivities']) + + cy.closeDBPage() + cy.openDBPage() + cy.verifyLogout() +}) + + +Cypress.Commands.add('verifyLogout', (host) => { + cy.get('#auth_user_email', { timeout: 10000 }) + .should('exist') + .should('be.visible') + cy.get('body').should('contain', 'You can request an account') +}) -- GitLab From b5b9b82d248eecf3673ff2097ec6404a9b54752a Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 17 Nov 2021 11:30:12 +0100 Subject: [PATCH 04/14] cypress; add functions to manipulate clones and cluster of clones in clone list --- browser/test/cypress/support/clones.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/browser/test/cypress/support/clones.js b/browser/test/cypress/support/clones.js index 2b3000fcc..4a2019ddd 100755 --- a/browser/test/cypress/support/clones.js +++ b/browser/test/cypress/support/clones.js @@ -16,3 +16,20 @@ Cypress.Commands.add('clone_rename', (id, new_name) => { .should("contain", new_name) }) + +Cypress.Commands.add('selectClone', (id, ctrl_pressed) => { + cy.get('#listElem_'+id+' > .nameBox') + .click({ctrlKey: ctrl_pressed}) +}) + +Cypress.Commands.add('openClusterClone', (id) => { + cy.get('#clusterBox_'+id+' > .icon-plus') + .click() + cy.update_icon() +}) +Cypress.Commands.add('closeClusterClone', (id) => { + cy.get('#clusterBox_'+id+' > .icon-minus') + .click() + cy.update_icon() +}) + -- GitLab From 49aa173577118715e55eef2d3e18f1dc1ad7d659 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 17 Nov 2021 11:31:19 +0100 Subject: [PATCH 05/14] test cypress; give run rigth to an created user --- .../vidjil/tests/cypress/integration/test_user.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js index a3dd450aa..6ff561491 100644 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js @@ -54,6 +54,10 @@ describe('Creation of users and groups', function () { cy.goToUsersPage() cy.getTableLength("#table_users").should('eq', previous_length+1) + + cy.goToGroupsPage() + var grp_user4 = 4 + cy.setGroupRight(grp_user4, ["run"], true) }) -- GitLab From b82499978bf88b64009af58f9a39e33a2a3a3eb3 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 17 Nov 2021 11:32:22 +0100 Subject: [PATCH 06/14] cypress; add script to generate all documentation screenshot Link to #4787 --- .../integration/test_xxx_doc_screenshot.js | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100755 server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js new file mode 100755 index 000000000..f3118d060 --- /dev/null +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -0,0 +1,107 @@ + +describe('Creation of users and groups', function () { + before(function () { + cy.login(Cypress.env('host')) + cy.close_tips() + }) + beforeEach(function () { + }) + afterEach(function () { + }) + after(function () { + cy.clearCookies() + }) + + it('00-screenshot_on_opened_analysis', function() { + + cy.closeDBPage() + + cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/DemoLIL-L3.analysis") + + cy.screenshot('starting_state') + + + + + cy.get('#info') + .screenshot('panel_info') + + + + + cy.openClusterClone(1) + cy.get('#list') + .screenshot('panel_list_merge_2') + + cy.closeClusterClone(1) + cy.get('#list') + .screenshot('panel_list') + + // switch locus to TRG + cy.get('[style="left: 424.81px; top: 106.75px;"] > .sp_system > .systemBoxMenu') + .click() + .update_icon(1000) + + cy.get('#visu_back') + .screenshot('panel_scatterplot') + + + cy.selectClone(25) + cy.selectClone(100, true) + cy.selectClone(107, true) + cy.selectClone(124, true) + cy.selectClone(132, true) + cy.get('#align') + .click() + .update_icon(300) + cy.get('#aligner-open-button') + .click({force: true}) + + cy.get('.aligner') + .screenshot('panel_sequence') + + + + cy.selectClone(1) + // hide untagged clones + cy.get('[title="-/-"]').click() + cy.get('[title="standard"]').click() + cy.update_icon() + cy.get('#aligner-open-button') + .screenshot('panel_bot_bar') + cy.get('#list') + .screenshot('panel_list_merge_1') + + cy.get('#visu2_back') + .screenshot('panel_graph') + + }) + + it('01-screenshot_on_db', function() { + + cy.logout() + cy.fillLogin("user4@email.org", "OnePassword123") + + cy.get('.db_msg') + .screenshot('table_db_content_patient_list') + + + cy.goToPatientPage() + var uid = 2; + cy.get('[onclick="db.call(\'sample_set/index\', {\'id\' :\''+uid+'\' , \'config_id\' : \'-1\' })"] > :nth-child(2) > .set_token') + .click({force: true}) + cy.update_icon() + + // cy.selectConfig(2) + // useless, patient created by public user, so no config switch available + + cy.get('.db_msg') + .screenshot('table_db_content_patient_0_multi_config') + + + + return + }) + + +}) -- GitLab From 60e174f62da0f10b0fbf96068629b57e02bf0eac Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Tue, 23 Nov 2021 12:15:45 +0100 Subject: [PATCH 07/14] doc; add file demo_lil_l3_tutorial.analysis usefull for screenshot and local demonstration Link to 4787 --- browser/test/cypress/support/clones.js | 9 +++++++++ doc/demo_lil_l3_tutorial.analysis | 1 + .../tests/cypress/integration/test_xxx_doc_screenshot.js | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 doc/demo_lil_l3_tutorial.analysis diff --git a/browser/test/cypress/support/clones.js b/browser/test/cypress/support/clones.js index 4a2019ddd..d0d11b3d5 100755 --- a/browser/test/cypress/support/clones.js +++ b/browser/test/cypress/support/clones.js @@ -22,6 +22,15 @@ Cypress.Commands.add('selectClone', (id, ctrl_pressed) => { .click({ctrlKey: ctrl_pressed}) }) +Cypress.Commands.add('selectCloneMulti', (ids) => { + for (var i = 0; i < ids.length; i++) { + var id = ids[i] + cy.get('#listElem_'+id+' > .nameBox') + .click({ctrlKey: (i==0 ? false: true), force: true}) + } + cy.update_icon() +}) + Cypress.Commands.add('openClusterClone', (id) => { cy.get('#clusterBox_'+id+' > .icon-plus') .click() diff --git a/doc/demo_lil_l3_tutorial.analysis b/doc/demo_lil_l3_tutorial.analysis new file mode 100644 index 000000000..4be4fbf3a --- /dev/null +++ b/doc/demo_lil_l3_tutorial.analysis @@ -0,0 +1 @@ +{"tags":{"hide":[3],"names":{"1":"clone 2","0":"clone 1","3":"standard","2":"clone 3","5":"custom 1","4":"standard (noise)","7":"custom 3","6":"custom 2","8":"-/-"}},"vidjil_json_version":"2014.09","custom":[],"samples":{"info":["Diagnosis, with dominant clones both in IGH and TRG","Follow-up 1.","Follow-up 2","","Relapse on a different clone in TRG"],"order":[0,1,2,3,4],"names":["","","","",""]},"clones":[{"tag":"0","id":"CADWL_FKIF TRGV10*00 TRGJP1*00","sequence":"ACTCAGTGAGCGGAACGATTTTACCAGGCGAAGTTACTATGAGCTTAGTCCCTTCAGCAAATATCTTGAACCAACCAGTCCGCACAGTAGTAAACGGCCATGTCTTCTTTCTCTACGGACTTGATGGTAAGGATTGAAGTGAGAGTTTGAGAATTCTTTCTTGCCTCCACTTTGTTGCTTGTCTTACCCATGCTT"},{"tag":"3","id":"CATF*HKKLF TRGV3*00 TRGJ1*00","sequence":"GGGTGTTGTTCCACTGCCAAAGAGTTTCTTATGTCAGAAGGTGGCACAGTAATAGACCCCAGAATCATTTTCAATTAGATTTTGCAGTCATCAAT"},{"tag":"3","id":"CATF*_*ETL TRGV3*00 TRGJ1*00","sequence":"GTGTTGTTCCACTGCCAAGAGTTTCTTATGTCAGAAGGTGGCACAGTAATAGACCCCCAGAATCATTTTTCAATTAGATTTTGCAGTCTCAATATCCCAGCTCCACCCTCCTGGGGTGTATGAGTA"},{"tag":"2","id":"TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","sequence":"GGAAGGCCCCACAGCGTCTTCAGTACTATGACTCCTACAACTCCAAGGTTGTGTTGGAATCAGGAGTCAGTCCAGGGAAGTATTATACTTACGCAAGCACAAGGAACAACTTGAGATTGATACTGCAAAATCTAATTGAAAATGACTCTGGGGTCTATTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGATATTTGCTGAAGGGACTAAGCTCATAGTAACTTCGCCTGGTAA"},{"tag":"0","id":"CACGGCCTTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGGCCAAG","sequence":"GGTAGCATAGGCTATGCGGACTCTGTGAAGGGCCGATTCACCATCTCCAGAGACAACGCCAAGAACTCCCTGTATCTGCAAATGAACAGTCTGAGAGCTGAGGACACGGCCTTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGGCCAAGGGACCCTGGTCACCGTCTCCTCAGGT"},{"tag":"3","id":"TGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTTGGCAGTG","sequence":"GGAAGGCCCCACAGCGTCTTCTGTACTATGACGTCTCCACCGCAAGGGATGTGTTGGAATCAGGACTCAGTCCAGGAAAGTATTATACTCATACACCCAGGAGGTGGAGCTGGATATTGAGACTGCAAAATCTAATTGAAAATGATTCTGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTTGGCAGTGGAACAACAC"},{"tag":"3","id":"AAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGAACTGGT","sequence":"GGGGAGGCTTGGTACAGCCTGGCAGGTCCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTTGATGATTATGCCATGCACTGGGTCCGGCAAGCTCCAGGGAAGGGCCTGGAGTGGGTCTCAGGTATTAGTTGGAATAGTGGTAGCATAGGCTATGCGGACTCTGTGAAGGGCCGATTCACCATCTCCAGAGACAACGCCAAGAACTCCCTGTATCTGCAAATGAACAGTCTGAGAGCTGAGGACACGGCCTTGTATTACTGTGCAAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGAACTGGTTCGACCCCTGGGGCCAGGGAACCCTGGTCACCGTCTCCTCAGGT"},{"tag":"1","id":"AAGACATGGCCGTTTACTACTGTGCGGACTGGTTGGTTCAAGATATTTGC","sequence":"AGCATGGGTAAGACAAGCAACAAAGTGGAGGCAAGAAAGAATTCTCAAACTCTCACTTCAATCCTTACCATCAAGTCCGTAGAGAAAGAAGACATGGCCGTTTACTACTGTGCGGACTGGTTGGTTCAAGATATTTGCTGAAGGGACTAAGCTCATAGTAACTTCGCCTGGTAA"},{"tag":"3","id":"GCAGCCTAAAGGCTGAGGACACCCGACAGGGTATGGACGTCTGGGGCCAA","sequence":"GGAGTCGGGGCCTGAGGTGAAGAAGCCTGGAGCCTCATTGAAGGTTTCCTGCAAGGCTTCTGGATACACCTTCACAAGCTATGCTATCAGCTGGGTATGACAGGCCCATGGACAAGGGCTTGAGGAAATGGGATGGATCAACACCAACACTGGGAACCTAACGTATGCCCAGGGCTTCACAGGACGGTTTGTCTTCTCCATGGACACCTCCGTCAGCATGGCATATCTTCATATCAGCAGCCTAAAGGCTGAGGACACCCGACAGGGTATGGACGTCTGGGGCCAAGGGACCCTGGTCACCGTCTCCTCAGGT"},{"tag":"3","id":"TGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTGGCAGTGG","sequence":"GGAAGGCCCCACAGCGTCTTCTGTACTATGACGTCTCCACCGCAAGGGATGTGTTGGAATCAGGACTCAGTCCAGGAAAGTATTATACTCATACACCCAGGAGGTGGAGCTGGATATTGAGACTGCAAAATCTAATTGAAAATGATTCTGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTGGCAGTGGAACAACAC"},{"tag":"6","id":"GGGGGGCCTCCCTCCACCCCTCTAACCAGTGAAAAGCAAACTGGGCCCAG","sequence":"GGGGGTCCCTGAGACTCTCCTGTGCAGCCTCTGGATTCACCTTCAGTAGCTACGACATGCACTGGGTCCGCCAAGCTACAGGAAAAGGTCTGGAGTGGGTCTCAGCTATTGGTACTGCTGGTGACCCATACTATCCAGGCTCCGTGAAGGGCCGATTCACCATCTCCAGAGAAAATGCCAAGAACTCCTTGTATCTTCAAATGAACAGCCTGAGAGCCGGGGACACGGCTGTGTATTACTGTGCAAGAGGAGGGGGGCCTCCCTCCACCCCTCTAACCAGTGAAAAGCAAACTGGGCCCAGCGGCGGTATGGACGTCTGGGGCCAAGGGACCCTGGTCACCGTCTCCTCAGGT"}],"clusters":[["TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","ATTACTGTGCCACCTGGGACGGGCCGAGGATACCACTGGTTGGTTCAAGA","TAACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTCAAGAT","TATTACTGTGCCACCTGGGGCGGGCCGGAGGATACCACTGGTTGGTTCAA","TTACTGTGCCGCCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGG","ATTACTGTGCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","CTGTGCCACCTGGGACGGGCCGGAGGATACCACCTGGTTGGTTCAAGATA","TACTGTGCCACCTGGGACGGGCCGGAGGATGCCACTGGTTGGTTCAAGAT","ATTACTGTGCCACCTGGGACGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGCTCAAGA","TCTATTACTGTGCCACCTGGACGGGCCGGAGGATACCACTGGTTGGTTCA","TGTGCCACCTGGGACGGGCCGGAGGATACCACTGGGTTGGTTCAAGATAT","TGTGCCACCTGGGACGGGCCGGAGGATACCACGTGGTTGGTTCAAGATAT","TTACTGCGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCGGAGGGTACCACTGGTTGGTTCAAGA","TTACTGTGTCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TATTACTGTGCCACCCGGGACGGGCCGGAGGATACCACTGGTTGGTTCAA","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCGCTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCGGAGGGATACCACTGGTTGGTTCAAG","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTCCAAGA","ACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGCTGGTTCAAGATA","TACTGTGCCACCTGGGACGGGCCGGAGGACACCACTGGTTGGTTCAAGAT","TTACTGTGCCACCTGGGACGGGTCGGAGGATACCACTGGTTGGTTCAAGA","ATTACTGTGCCACCTGGGACGGACCGGAGGATACCACTGGTTGGTTCAAG","TTACTGTGCCACCTGGGACGGGCCGGGGGATACCACTGGTTGGTTCAAGA","TACCTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TCTATTACTGTGCCACCGTGGGACGGGCCGGAGGATACCACTGGTTGGTT","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTCGGTTCAAGA","TTGCTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGGTTCAAG","TTACTGTACCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACCGTGCCACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TACTGTGCCGACCTGGGACGGGCCGGAGGATACCACTGGTTGGTTCAAGA","TTACTGTGCCACCTGGGACGGGCCAGAGGATACCACTGGTTGGTTCAAGA","TACTGTGCCACCTGGGACGGGCCGGAGGATACCACCGGTTGGTTCAAGAT","TTACTGTGCCACCTGGGACAGGCCGGAGGATACCACTGGTTGGTTCAAGA"],["CACGGCCTTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGGCCAAG","CACGGCCTTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGCCAAGG","CCTTGTATTACTGTGCACCCGGAGGTATGGACGCTGGGGCCAAGGGACCC","CACGGCCTTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGGCCAGG","ACACGGCCTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGGCCAAG","CACGGCCTTGTATTACTGTGCACCCGGAGGGTATGGACGTCTGGGGCCAA","CACGGCCTTGTATTACTGTGCACCCGGAGGTATGGACGTCTGGGGCCCAA"],["TGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTTGGCAGTG","TGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTGGCAGTGG","GGTCTATTACTGTGCCACCTTCTGACATAAGAAAACTCTTTGGCAGTGGA","TGGGGTCTATTACTGTGCCACCTTCTGACATAAGAAACTCTTTTGGCAGT"],["AAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGAACTGGT","AAAAGATATTCTTAAAATCACTTAAGCAGCAGCTGGCCACCCCGAACTGG","TGCAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGAACTG","CAAAAGATATTCTTAATCACTTAAGCAGCAGCTGGCCACCCCGAACTGGT","AAAAGATATTCTTAAATCAACTTAAGCAGCAGCTGGCCACCCCGAACTGG","CAAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCGAACTGGT","GTGCAAAGATATTCTTAATCACTTAAGCAGCAGCTGGCCACCCCGAACTG","TGCAAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGAACT","AAAAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGACTGGTT","AAGATATTCTTAAATCACTTAAGCAGCAGCTGGCCACCCCGAACTGGTTC"],["AGACATGGCCGTTTTACTACTGTGCGGACTGGTTGGTTCAAGATATTTGC","AGACATGGCCGTTTTACTACTGTGCGGACTGGTTGGTTCAAGATATTTTG","AAGACATGGCCGTTTACTACTGTGCGGACTGGTTGGTTCAAGATATTTTG","AGACATGGCCGTTTTACTACTGTGCGGACTGGTTGGTTTCAAGATATTTT"],["AACCAGTGAAAAGCAAAACTGGGCCCAGCGGCGGTATGGACGTCTGGGGC","ACCAGTGAAAAAGCAAAACTGGGCCCAGCGGCGGTATGGACGTCTGGGGC","ACCAGTGAAAAGCAAAACTGGGCCCAGCGGCGGGTATGGACGTCTGGGGC","AGTGAAAAGCAAAACTGGGCCCAGCGGCGGTATGGCGTCTGGGGCCAAGG","GGGGGGCCTCCCTCCACCCCTCTAACCAGTGAAAAGCAAACTGGGCCCAG","AGGGGGCCTCCCTCCACCCCTCTAACCAGTGAAAAGCAAACTGGGCCCAG","GGCCTCCCTCCACCCCTCTAACCAGTGAAAAGCAAACTGGGCCCAGCGGC","GGGGGGCCTCCCTCCACCCCTCTAACCAGTGAAAAAGCAAACTGGGCCCA","GGGGGCCTCCCTCCACCCCTCTAACCAGTGAAAAGCAAACTGGGCCCAGC","AGGGGGCCTCCCTCCACCCTCTAACCAGTGAAAAGCAAACTGGGCCCAGC"]]} \ No newline at end of file diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js index f3118d060..0965ed16a 100755 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -16,7 +16,7 @@ describe('Creation of users and groups', function () { cy.closeDBPage() - cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/DemoLIL-L3.analysis") + cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis") cy.screenshot('starting_state') -- GitLab From 5683c422c88fd9d3c7fc3c43055e157b059a311a Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Tue, 23 Nov 2021 17:11:17 +0100 Subject: [PATCH 08/14] remove code from another MR --- browser/js/list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/js/list.js b/browser/js/list.js index c8af70d7f..d6ffe611f 100644 --- a/browser/js/list.js +++ b/browser/js/list.js @@ -501,7 +501,7 @@ List.prototype = { if (cloneDom.getElement(divClass) == null) return false cloneDom.color( divClass, clone.getColor()); - cloneDom.content(divClass, clone.getShortName().replace('<', '<')); + cloneDom.content(divClass, clone.getShortName()); cloneDom.title( divClass, clone.getNameAndCode()); //update clone axis -- GitLab From a41d6c7dc4eb16fc1549a76956f6c86161a1991b Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Thu, 25 Nov 2021 10:17:54 +0100 Subject: [PATCH 09/14] test server, fix minor error --- .../applications/vidjil/tests/cypress/integration/test_user.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js index 6525d46cb..31a8574e9 100644 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js @@ -63,6 +63,8 @@ describe('Creation of users and groups', function () { it('03-impersonate', function() { + cy.goToPatientPage() + cy.get('#db_auth_name') .contains("System Administrator") -- GitLab From 756e582430fcde51955d7b4c43244aaaff27f985 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Thu, 25 Nov 2021 10:55:31 +0100 Subject: [PATCH 10/14] cypress, allow to set a timeout to openAnalysis call --- browser/test/cypress/support/commands.js | 10 +++++----- .../cypress/integration/test_xxx_doc_screenshot.js | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/browser/test/cypress/support/commands.js b/browser/test/cypress/support/commands.js index ece01a03c..1d2a7baa7 100755 --- a/browser/test/cypress/support/commands.js +++ b/browser/test/cypress/support/commands.js @@ -51,7 +51,7 @@ Cypress.Commands.add('open_menu_import', () => { -Cypress.Commands.add("openAnalysis", (file_vidjil, file_analysis) => { +Cypress.Commands.add("openAnalysis", (file_vidjil, file_analysis, timeout) => { cy.open_menu_import() cy.get('#import_data_anchor').click() cy.log(`file_vidjil: ${file_vidjil}`) @@ -68,13 +68,13 @@ Cypress.Commands.add("openAnalysis", (file_vidjil, file_analysis) => { cy.get("button[id=start_import_json]") .click(); // Wait the end of the loading (async) - cy.update_icon() + cy.update_icon(timeout) }) /** * Allow to wait for update icon to be not visible */ -Cypress.Commands.add("update_icon", (delay=0) => { +Cypress.Commands.add("update_icon", (delay=0, timeout=undefined) => { let visible_icon = false; cy.get('#updateIcon') .then( ($icon) => { @@ -87,8 +87,8 @@ Cypress.Commands.add("update_icon", (delay=0) => { } } ) - - cy.get('#updateIcon', { timeout: 6000 }) + timeout = (timeout!=undefined) ? timeout : 6000 + cy.get('#updateIcon', { timeout: timeout }) .should("not.visible") }) diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js index 0965ed16a..9d3b93448 100755 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -16,7 +16,7 @@ describe('Creation of users and groups', function () { cy.closeDBPage() - cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis") + cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis", 25000) cy.screenshot('starting_state') -- GitLab From df49ef6f09e9586b3eae1f67b0324ce2ceda474d Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Fri, 26 Nov 2021 15:12:35 +0000 Subject: [PATCH 11/14] =?UTF-8?q?Mettre=20=C3=A0=20jour=20server/web2py/ap?= =?UTF-8?q?plications/vidjil/tests/cypress/integration/test=5Fxxx=5Fdoc=5F?= =?UTF-8?q?screenshot.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js index 9d3b93448..d488342b5 100755 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -16,7 +16,7 @@ describe('Creation of users and groups', function () { cy.closeDBPage() - cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis", 25000) + cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis", 45000) cy.screenshot('starting_state') -- GitLab From 063139bc82dfb4b46538b075db75bfc363bdb778 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 1 Dec 2021 10:34:59 +0000 Subject: [PATCH 12/14] cypress, longer timeout at lil-L3 analysis openingfor slow runner --- .../vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js index d488342b5..97228843b 100755 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -16,7 +16,7 @@ describe('Creation of users and groups', function () { cy.closeDBPage() - cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis", 45000) + cy.openAnalysis("doc/demo_lil_l3_tutorial.vidjil", "doc/demo_lil_l3_tutorial.analysis", 90000) cy.screenshot('starting_state') -- GitLab From 0c044e084ae043efabad33942eefa540e8cf1f22 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Tue, 15 Feb 2022 14:30:27 +0100 Subject: [PATCH 13/14] cypress/commands.js; fix typo in parameter declaration --- browser/test/cypress/support/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/test/cypress/support/commands.js b/browser/test/cypress/support/commands.js index 1d2a7baa7..4c2c95825 100755 --- a/browser/test/cypress/support/commands.js +++ b/browser/test/cypress/support/commands.js @@ -68,7 +68,7 @@ Cypress.Commands.add("openAnalysis", (file_vidjil, file_analysis, timeout) => { cy.get("button[id=start_import_json]") .click(); // Wait the end of the loading (async) - cy.update_icon(timeout) + cy.update_icon(0, timeout) }) /** -- GitLab From bfd68964a4d808859e0f1ef36974dd902cc9d821 Mon Sep 17 00:00:00 2001 From: Thonier Florian Date: Wed, 16 Feb 2022 17:25:18 +0100 Subject: [PATCH 14/14] doc by cypress, add a update icon waiting time between 2 actions --- .../vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js index 97228843b..e5e9a475c 100755 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -65,6 +65,7 @@ describe('Creation of users and groups', function () { cy.selectClone(1) // hide untagged clones cy.get('[title="-/-"]').click() + cy.update_icon() cy.get('[title="standard"]').click() cy.update_icon() cy.get('#aligner-open-button') -- GitLab