diff --git a/browser/test/cypress/support/clones.js b/browser/test/cypress/support/clones.js index 6baf9306720ed1dbf94b4344bcdf3bef671081e3..cebdfde564f9ded65a6f7dc337ad88d8f6534ebc 100755 --- a/browser/test/cypress/support/clones.js +++ b/browser/test/cypress/support/clones.js @@ -5,7 +5,6 @@ * @param {String} new_name New name to set for this clone */ Cypress.Commands.add('clone_rename', (id, new_name) => { - cy.getCloneInList(id) .dblclick() cy.get('#new_name') @@ -17,7 +16,6 @@ Cypress.Commands.add('clone_rename', (id, new_name) => { }) - Cypress.Commands.add('getCloneInList', (id) => { cy.get('#listElem_'+id+' > .nameBox') @@ -45,6 +43,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('unselectClone', () => { cy.get('#list_clones') .click() diff --git a/browser/test/cypress/support/commands.js b/browser/test/cypress/support/commands.js index 1d2a7baa78fbcc6df95a0b6c9028cc14fc94db5c..4c2c95825d2ab45eb7099e0ae9a8dc6fb7ec5659 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) }) /** diff --git a/browser/test/cypress/support/login.js b/browser/test/cypress/support/login.js index 5d5b608ce4d4ab47ee061f6d12814f5dffce12e8..ec4eeb764c34af008ac1b6fa5a6d22808823d03c 100644 --- a/browser/test/cypress/support/login.js +++ b/browser/test/cypress/support/login.js @@ -4,43 +4,29 @@ 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() }) @@ -48,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') +}) diff --git a/doc/demo_lil_l3_tutorial.analysis b/doc/demo_lil_l3_tutorial.analysis new file mode 100644 index 0000000000000000000000000000000000000000..4be4fbf3a58b005123d92777809cdc87989f0369 --- /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_user.js b/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js index f0dbc4dcbf52ee46e4b0226ccd54cac284d80c0a..a5de533943d6b839a985ae74a59cf71384006946 100644 --- a/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_user.js @@ -54,11 +54,17 @@ 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) }) it('03-impersonate from list', function() { + cy.goToPatientPage() + cy.get('#db_auth_name') .contains("System Administrator") 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 0000000000000000000000000000000000000000..e5e9a475cd7a96d27901cde509ac0264a58aaced --- /dev/null +++ b/server/web2py/applications/vidjil/tests/cypress/integration/test_xxx_doc_screenshot.js @@ -0,0 +1,108 @@ + +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/demo_lil_l3_tutorial.analysis", 90000) + + 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.update_icon() + 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 + }) + + +})