mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 12:54:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			320 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			320 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* eslint-env jest */
 | 
						|
describe('Interaction', () => {
 | 
						|
  describe('Interaction - security level loose', () => {
 | 
						|
    it('Graph: should handle a click on a node with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-Function-2')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('Graph: should handle a click on a node with a bound function with args', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-FunctionArg-18')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click-2').should('have.text', 'Clicked By Flow: ARGUMENT');
 | 
						|
    });
 | 
						|
    it('Flowchart: should handle a click on a node with a bound function where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-FunctionArg-22"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click-2').should('have.text', 'Clicked By Flow: ARGUMENT');
 | 
						|
    });
 | 
						|
    it('Graph: should handle a click on a node with a bound url', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('#flowchart-URL-3')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('Graph: should handle a click on a node with a bound url where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-2URL-7"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
 | 
						|
    it('Flowchart-v2: should handle a click on a node with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-Function-10')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('Flowchart-v2: should handle a click on a node with a bound function where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-1Function-14"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('Flowchart-v2: should handle a click on a node with a bound url', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('#flowchart-URL-11')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('Flowchart-v2: should handle a click on a node with a bound url where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-2URL-15"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
 | 
						|
    it('should handle a click on a task with a bound URL clicking on the rect', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('rect#cl1')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound URL clicking on the text', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('text#cl1-text')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound function without args', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('rect#cl2')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant cl2');
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound function with args', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('rect#cl3')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant test1 test2 test3');
 | 
						|
    });
 | 
						|
 | 
						|
    it('should handle a click on a task with a bound function without args', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('text#cl2-text')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant cl2');
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound function with args ', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_loose.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('text#cl3-text')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant test1 test2 test3');
 | 
						|
    });
 | 
						|
 | 
						|
  });
 | 
						|
 | 
						|
  describe('Interaction - security level tight', () => {
 | 
						|
    it('should handle a click on a node without a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-Function-2')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('should handle a click on a node with a bound function where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-1Function-6"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('should handle a click on a node with a bound url', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-URL-3')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('should handle a click on a node with a bound url where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-2URL-7"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
 | 
						|
    it('should handle a click on a task with a bound URL clicking on the rect', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('rect#cl1')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound URL clicking on the text', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('text#cl1-text')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('rect#cl2')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_strict.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('text#cl2-text')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
 | 
						|
    });
 | 
						|
  });
 | 
						|
 | 
						|
  describe('Interaction - security level other, missspelling', () => {
 | 
						|
    it('should handle a click on a node with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_other.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-Function-2')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('should handle a click on a node with a bound function where the node starts with a number', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_other.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g[id="flowchart-1Function-6"]')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
 | 
						|
    });
 | 
						|
    it('should handle a click on a node with a bound url', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_other.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('g#flowchart-URL-3')
 | 
						|
        .click();
 | 
						|
 | 
						|
      cy.location().should(location => {
 | 
						|
        expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
 | 
						|
      });
 | 
						|
    });
 | 
						|
 | 
						|
    it('should handle a click on a task with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_other.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('rect#cl2')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
 | 
						|
    });
 | 
						|
    it('should handle a click on a task with a bound function', () => {
 | 
						|
      const url = 'http://localhost:9000/click_security_other.html';
 | 
						|
      cy.viewport(1440, 1024);
 | 
						|
      cy.visit(url);
 | 
						|
      cy.get('body')
 | 
						|
        .find('text#cl2-text')
 | 
						|
        .click({ force: true });
 | 
						|
 | 
						|
      cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
 | 
						|
    });
 | 
						|
  });
 | 
						|
});
 |