mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-25 00:44:10 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			137 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { imgSnapshotTest } from '../../helpers/util.ts';
 | |
| 
 | |
| describe('Kanban diagram', () => {
 | |
|   it('1: should render a kanban with a single section', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     docs[Create Documentation]
 | |
|     docs[Create Blog about the new diagram]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('2: should render a kanban with multiple sections', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     docs[Create Documentation]
 | |
|   id2
 | |
|     docs[Create Blog about the new diagram]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('3: should render a kanban with a single wrapping node', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char, wrapping]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('4: should handle the height of a section with a wrapping node at the end', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     id2[One line]
 | |
|     id3[Title of diagram is more than 100 chars when user duplicates diagram with 100 char, wrapping]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('5: should handle the height of a section with a wrapping node at the top', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char, wrapping]
 | |
|     id3[One line]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('6: should handle the height of a section with a wrapping node in the middle', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     id2[One line]
 | |
|     id3[Title of diagram is more than 100 chars when user duplicates diagram with 100 char, wrapping]
 | |
|     id4[One line]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('6: should handle assignments', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     docs[Create Documentation]
 | |
|   id2[In progress]
 | |
|     docs[Create Blog about the new diagram]@{ assigned: 'knsv' }
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('7: should handle prioritization', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id2[In progress]
 | |
|     vh[Very High]@{ priority: 'Very High' }
 | |
|     h[High]@{ priority: 'High' }
 | |
|     m[Default priority]
 | |
|     l[Low]@{ priority: 'Low' }
 | |
|     vl[Very Low]@{ priority: 'Very Low' }
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('7: should handle external tickets', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id1[Todo]
 | |
|     docs[Create Documentation]
 | |
|   id2[In progress]
 | |
|     docs[Create Blog about the new diagram]@{ ticket: MC-2037 }
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('8: should handle assignments, prioritization and tickets ids in the same item', () => {
 | |
|     imgSnapshotTest(
 | |
|       `kanban
 | |
|   id2[In progress]
 | |
|     docs[Create Blog about the new diagram]@{ priority: 'Very Low', ticket: MC-2037, assigned: 'knsv' }
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
|   it('10: Full example', () => {
 | |
|     imgSnapshotTest(
 | |
|       `---
 | |
| config:
 | |
|   kanban:
 | |
|     ticketBaseUrl: 'https://abc123.atlassian.net/browse/#TICKET#'
 | |
| ---
 | |
| kanban
 | |
|   id1[Todo]
 | |
|     docs[Create Documentation]
 | |
|     docs[Create Blog about the new diagram]
 | |
|   id7[In progress]
 | |
|     id6[Create renderer so that it works in all cases. We also add some extra text here for testing purposes. And some more just for the extra flare.]
 | |
|     id8[Design grammar]@{ assigned: 'knsv' }
 | |
|   id9[Ready for deploy]
 | |
|   id10[Ready for test]
 | |
|   id11[Done]
 | |
|     id5[define getData]
 | |
|     id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char]@{ ticket: MC-2036, priority: 'Very High'}
 | |
|     id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }
 | |
|     id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }
 | |
|     id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }
 | |
|   id12[Can't reproduce]
 | |
|       `,
 | |
|       {}
 | |
|     );
 | |
|   });
 | |
| });
 | 
