knsv/mermaid

View on GitHub
cypress/integration/rendering/flowchart-elk.spec.js

Summary

Maintainability
F
1 wk
Test Coverage

File flowchart-elk.spec.js has 802 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';

describe.skip('Flowchart ELK', () => {
  it('1-elk: should render a simple flowchart', () => {
    imgSnapshotTest(
Severity: Major
Found in cypress/integration/rendering/flowchart-elk.spec.js - About 1 day to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      describe('Markdown strings flowchart-elk (#4220)', () => {
        describe('html labels', () => {
          it('With styling and classes', () => {
            imgSnapshotTest(
              `%%{init: {"flowchart": {"htmlLabels": true}} }%%
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 1 other location - About 2 days to fix
    cypress/integration/rendering/flowchart-v2.spec.js on lines 763..907

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 419.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      it('7-elk: should render a flowchart when useMaxWidth is true (default)', () => {
        renderGraph(
          `flowchart-elk TD
          A[Christmas] -->|Get money| B(Go shopping)
          B --> C{Let me think}
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 1 other location - About 7 hrs to fix
    cypress/integration/rendering/flowchart.spec.js on lines 734..756

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 190.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      it('8-elk: should render a flowchart when useMaxWidth is false', () => {
        renderGraph(
          `flowchart-elk TD
          A[Christmas] -->|Get money| B(Go shopping)
          B --> C{Let me think}
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 2 other locations - About 5 hrs to fix
    cypress/integration/rendering/flowchart.spec.js on lines 757..776
    cypress/integration/rendering/sequencediagram.spec.js on lines 943..979

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 149.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      it('60-elk: handle styling for all node shapes - v2', () => {
        imgSnapshotTest(
          `
          flowchart-elk LR
          A[red text] -->|default style| B(blue text)
    Severity: Minor
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 1 other location - About 55 mins to fix
    cypress/integration/rendering/flowchart-v2.spec.js on lines 360..392

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 53.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('51-elk: handle nested subgraphs in reverse order', () => {
        imgSnapshotTest(
          `flowchart-elk LR
            a -->b
            subgraph A
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('57.x: handle nested subgraphs with outgoing links 5', () => {
        imgSnapshotTest(
          `%% this does not produce the desired result
    flowchart-elk TB
      subgraph container_Beta
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('74-elk: Handle nested subgraph cases (RL) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart-elk RL
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('76-elk: handle unicode encoded character with HTML labels true', () => {
        imgSnapshotTest(
          `flowchart-elk TB
          a{{"Lorem 'ipsum' dolor 'sit' amet, 'consectetur' adipiscing 'elit'."}}
          --> b{{"Lorem #quot;ipsum#quot; dolor #quot;sit#quot; amet,#quot;consectetur#quot; adipiscing #quot;elit#quot;."}}
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('61-elk: fontawesome icons in edge labels', () => {
        imgSnapshotTest(
          `
          flowchart-elk TD
            C -->|fa:fa-car Car| F[fa:fa-car Car]
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('62-elk: should render styled subgraphs', () => {
        imgSnapshotTest(
          `
          flowchart-elk TB
          A
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('74-elk: Handle labels for multiple edges from and to the same couple of nodes', () => {
        imgSnapshotTest(
          `
    flowchart-elk RL
        subgraph one
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('65-elk: text-color from classes', () => {
        imgSnapshotTest(
          `
          flowchart-elk LR
            classDef dark fill:#000,stroke:#000,stroke-width:4px,color:#fff
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('57-elk: handle nested subgraphs with outgoing links 2', () => {
        imgSnapshotTest(
          `flowchart-elk TB
        c1-->a2
        subgraph one
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('72-elk: Handle nested subgraph cases (BT) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart-elk BT
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('52-elk: handle nested subgraphs in several levels', () => {
        imgSnapshotTest(
          `flowchart-elk TB
        b-->B
        a-->c
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('58-elk: handle styling with style expressions', () => {
        imgSnapshotTest(
          `
        flowchart-elk LR
        id1(Start)-->id2(Stop)
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('2824-elk: Clipping of edges', () => {
        imgSnapshotTest(
          `
          flowchart-elk TD
              A --> B
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('54-elk: handle nested subgraphs with outgoing links', () => {
        imgSnapshotTest(
          `flowchart-elk TD
      subgraph  main
        subgraph subcontainer
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('55-elk: handle nested subgraphs with outgoing links 2', () => {
        imgSnapshotTest(
          `flowchart-elk TD
    
    subgraph one[One]
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('67-elk: More nested subgraph cases (RL)', () => {
        imgSnapshotTest(
          `
    flowchart-elk RL
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('69-elk: More nested subgraph cases (LR)', () => {
        imgSnapshotTest(
          `
    flowchart-elk LR
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('56-elk: handle nested subgraphs with outgoing links 3', () => {
        imgSnapshotTest(
          `flowchart-elk TB
      subgraph container_Beta
        process_C-->Process_D
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('50-elk: handle nested subgraphs in reverse order', () => {
        imgSnapshotTest(
          `flowchart-elk LR
            a -->b
            subgraph A
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('68-elk: More nested subgraph cases (BT)', () => {
        imgSnapshotTest(
          `
    flowchart-elk BT
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('71-elk: Handle nested subgraph cases (RL) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart-elk RL
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('2050-elk: handling of different rendering direction in subgraphs', () => {
        imgSnapshotTest(
          `
        flowchart-elk LR
    
    
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('63-elk: title on subgraphs should be themable', () => {
        imgSnapshotTest(
          `
          %%{init:{"theme":"base", "themeVariables": {"primaryColor":"#411d4e", "titleColor":"white", "darkMode":true}}}%%
          flowchart-elk LR
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('66-elk: More nested subgraph cases (TB)', () => {
        imgSnapshotTest(
          `
    flowchart-elk TB
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('2388-elk: handling default in the node name', () => {
        imgSnapshotTest(
          `
          flowchart-elk LR
          default-index.js --> dot.template.js
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('6-elk: should render non-escaped with html labels', () => {
        imgSnapshotTest(
          `flowchart-elk TD
            a["<strong>Haiya</strong>"]===>b
          `,
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('57-elk: handle nested subgraphs with outgoing links 4', () => {
        imgSnapshotTest(
          `flowchart-elk LR
    subgraph A
    a -->b
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('59-elk: handle styling of subgraphs and links', () => {
        imgSnapshotTest(
          `
    flowchart-elk TD
      A[Christmas] ==> D
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('70-elk: Handle nested subgraph cases (TB) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart-elk TB
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 206..234
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 72 locations. Consider refactoring.
    Open

      it('53-elk: handle nested subgraphs with edges in and out', () => {
        imgSnapshotTest(
          `flowchart-elk TB
      internet
      nat
    Severity: Major
    Found in cypress/integration/rendering/flowchart-elk.spec.js and 71 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-elk.spec.js on lines 84..91
    cypress/integration/rendering/flowchart-elk.spec.js on lines 155..168
    cypress/integration/rendering/flowchart-elk.spec.js on lines 170..183
    cypress/integration/rendering/flowchart-elk.spec.js on lines 185..204
    cypress/integration/rendering/flowchart-elk.spec.js on lines 236..248
    cypress/integration/rendering/flowchart-elk.spec.js on lines 250..270
    cypress/integration/rendering/flowchart-elk.spec.js on lines 272..286
    cypress/integration/rendering/flowchart-elk.spec.js on lines 287..299
    cypress/integration/rendering/flowchart-elk.spec.js on lines 301..320
    cypress/integration/rendering/flowchart-elk.spec.js on lines 321..336
    cypress/integration/rendering/flowchart-elk.spec.js on lines 337..347
    cypress/integration/rendering/flowchart-elk.spec.js on lines 348..369
    cypress/integration/rendering/flowchart-elk.spec.js on lines 403..411
    cypress/integration/rendering/flowchart-elk.spec.js on lines 412..445
    cypress/integration/rendering/flowchart-elk.spec.js on lines 446..461
    cypress/integration/rendering/flowchart-elk.spec.js on lines 462..472
    cypress/integration/rendering/flowchart-elk.spec.js on lines 473..490
    cypress/integration/rendering/flowchart-elk.spec.js on lines 491..508
    cypress/integration/rendering/flowchart-elk.spec.js on lines 509..526
    cypress/integration/rendering/flowchart-elk.spec.js on lines 527..544
    cypress/integration/rendering/flowchart-elk.spec.js on lines 545..560
    cypress/integration/rendering/flowchart-elk.spec.js on lines 561..576
    cypress/integration/rendering/flowchart-elk.spec.js on lines 577..592
    cypress/integration/rendering/flowchart-elk.spec.js on lines 593..608
    cypress/integration/rendering/flowchart-elk.spec.js on lines 609..620
    cypress/integration/rendering/flowchart-elk.spec.js on lines 622..630
    cypress/integration/rendering/flowchart-elk.spec.js on lines 632..653
    cypress/integration/rendering/flowchart-elk.spec.js on lines 655..664
    cypress/integration/rendering/flowchart-elk.spec.js on lines 665..675
    cypress/integration/rendering/flowchart-v2.spec.js on lines 74..81
    cypress/integration/rendering/flowchart-v2.spec.js on lines 145..158
    cypress/integration/rendering/flowchart-v2.spec.js on lines 160..173
    cypress/integration/rendering/flowchart-v2.spec.js on lines 175..194
    cypress/integration/rendering/flowchart-v2.spec.js on lines 196..224
    cypress/integration/rendering/flowchart-v2.spec.js on lines 226..238
    cypress/integration/rendering/flowchart-v2.spec.js on lines 240..260
    cypress/integration/rendering/flowchart-v2.spec.js on lines 262..276
    cypress/integration/rendering/flowchart-v2.spec.js on lines 277..289
    cypress/integration/rendering/flowchart-v2.spec.js on lines 291..310
    cypress/integration/rendering/flowchart-v2.spec.js on lines 311..326
    cypress/integration/rendering/flowchart-v2.spec.js on lines 327..337
    cypress/integration/rendering/flowchart-v2.spec.js on lines 338..359
    cypress/integration/rendering/flowchart-v2.spec.js on lines 393..401
    cypress/integration/rendering/flowchart-v2.spec.js on lines 402..435
    cypress/integration/rendering/flowchart-v2.spec.js on lines 436..451
    cypress/integration/rendering/flowchart-v2.spec.js on lines 452..462
    cypress/integration/rendering/flowchart-v2.spec.js on lines 463..472
    cypress/integration/rendering/flowchart-v2.spec.js on lines 473..487
    cypress/integration/rendering/flowchart-v2.spec.js on lines 488..505
    cypress/integration/rendering/flowchart-v2.spec.js on lines 506..523
    cypress/integration/rendering/flowchart-v2.spec.js on lines 524..541
    cypress/integration/rendering/flowchart-v2.spec.js on lines 542..559
    cypress/integration/rendering/flowchart-v2.spec.js on lines 560..575
    cypress/integration/rendering/flowchart-v2.spec.js on lines 576..591
    cypress/integration/rendering/flowchart-v2.spec.js on lines 592..607
    cypress/integration/rendering/flowchart-v2.spec.js on lines 608..623
    cypress/integration/rendering/flowchart-v2.spec.js on lines 624..635
    cypress/integration/rendering/flowchart-v2.spec.js on lines 637..645
    cypress/integration/rendering/flowchart-v2.spec.js on lines 647..668
    cypress/integration/rendering/flowchart-v2.spec.js on lines 670..679
    cypress/integration/rendering/flowchart-v2.spec.js on lines 680..690
    cypress/integration/rendering/flowchart.spec.js on lines 726..733
    cypress/integration/rendering/flowchart.spec.js on lines 777..787
    cypress/integration/rendering/flowchart.spec.js on lines 788..811
    cypress/integration/rendering/flowchart.spec.js on lines 812..820
    cypress/integration/rendering/flowchart.spec.js on lines 821..832
    cypress/integration/rendering/flowchart.spec.js on lines 833..866
    cypress/integration/rendering/flowchart.spec.js on lines 867..882
    cypress/integration/rendering/flowchart.spec.js on lines 883..893
    cypress/integration/rendering/flowchart.spec.js on lines 894..903
    cypress/integration/rendering/flowchart.spec.js on lines 905..916

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 48.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    There are no issues that match your filters.

    Category
    Status