knsv/mermaid

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

Summary

Maintainability
F
1 wk
Test Coverage

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

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

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

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

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

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

    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 3 locations. Consider refactoring.
    Open

        it('Should render subgraphs with title margins set (TD)', () => {
          imgSnapshotTest(
            `flowchart TD
    
              subgraph TOP
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.spec.js and 2 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-v2.spec.js on lines 909..929
    cypress/integration/rendering/flowchart-v2.spec.js on lines 975..995

    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 49.

    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('Should render subgraphs with title margins and edge labels', () => {
          imgSnapshotTest(
            `flowchart LR
    
              subgraph TOP
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.spec.js and 2 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-v2.spec.js on lines 909..929
    cypress/integration/rendering/flowchart-v2.spec.js on lines 930..950

    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 49.

    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('Should render subgraphs with title margins set (LR)', () => {
          imgSnapshotTest(
            `flowchart LR
    
              subgraph TOP
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.spec.js and 2 other locations - About 40 mins to fix
    cypress/integration/rendering/flowchart-v2.spec.js on lines 930..950
    cypress/integration/rendering/flowchart-v2.spec.js on lines 975..995

    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 49.

    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: should render non-escaped with html labels', () => {
        imgSnapshotTest(
          `flowchart TD
            a["<strong>Haiya</strong>"]===>b
          `,
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-elk.spec.js on lines 665..675
    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: handle styling of subgraphs and links', () => {
        imgSnapshotTest(
          `
    flowchart TD
      A[Christmas] ==> D
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: More nested subgraph cases (BT)', () => {
        imgSnapshotTest(
          `
    flowchart BT
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: Handle nested subgraph cases (RL) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart RL
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs with outgoing links 2', () => {
        imgSnapshotTest(
          `flowchart TD
    
    subgraph one[One]
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: More nested subgraph cases (LR)', () => {
        imgSnapshotTest(
          `
    flowchart LR
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: Handle labels for multiple edges from and to the same couple of nodes', () => {
        imgSnapshotTest(
          `
    flowchart RL
        subgraph one
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs with outgoing links 2', () => {
        imgSnapshotTest(
          `flowchart TB
        c1-->a2
        subgraph one
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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-3: bigger font from classes', () => {
        imgSnapshotTest(
          `
    flowchart
      Node1:::class1 --> Node2:::class2
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs in reverse order', () => {
        imgSnapshotTest(
          `flowchart LR
            a -->b
            subgraph A
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: title on subgraphs should be themable', () => {
        imgSnapshotTest(
          `
          %%{init:{"theme":"base", "themeVariables": {"primaryColor":"#411d4e", "titleColor":"white", "darkMode":true}}}%%
          flowchart LR
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs in several levels.', () => {
        imgSnapshotTest(
          `flowchart TB
        b-->B
        a-->c
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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('51: handle nested subgraphs in reverse order', () => {
        imgSnapshotTest(
          `flowchart LR
            a -->b
            subgraph A
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs with outgoing links 4', () => {
        imgSnapshotTest(
          `flowchart LR
    subgraph A
    a -->b
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: fontawesome icons in edge labels', () => {
        imgSnapshotTest(
          `
          flowchart TD
            C -->|fa:fa-car Car| F[fa:fa-car Car]
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: Clipping of edges', () => {
        imgSnapshotTest(
          `
          flowchart TD
              A --> B
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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.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: handle nested subgraphs with edges in and out', () => {
        imgSnapshotTest(
          `flowchart TB
      internet
      nat
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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 TB
      subgraph container_Beta
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle styling with style expressions', () => {
        imgSnapshotTest(
          `
        flowchart LR
        id1(Start)-->id2(Stop)
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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-1: text-color from classes', () => {
        imgSnapshotTest(
          `
          flowchart LR
            classDef dark fill:#000,stroke:#000,stroke-width:4px,color:#fff
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs with outgoing links', () => {
        imgSnapshotTest(
          `flowchart TD
      subgraph  main
        subgraph subcontainer
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle nested subgraphs with outgoing links 3', () => {
        imgSnapshotTest(
          `flowchart TB
      subgraph container_Beta
        process_C-->Process_D
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: More nested subgraph cases (TB)', () => {
        imgSnapshotTest(
          `
    flowchart TB
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: Handle nested subgraph cases (TB) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart TB
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: Handle nested subgraph cases (BT) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart BT
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: Handle nested subgraph cases (RL) link out and link between subgraphs', () => {
        imgSnapshotTest(
          `
    flowchart RL
       subgraph S1
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handle unicode encoded character with HTML labels true', () => {
        imgSnapshotTest(
          `flowchart 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-v2.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-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 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: should render styled subgraphs', () => {
        imgSnapshotTest(
          `
          flowchart TB
          A
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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-2: bold text from classes', () => {
        imgSnapshotTest(
          `
          flowchart
            classDef cat fill:#f9d5e5, stroke:#233d4d,stroke-width:2px, font-weight:bold;
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handling default in the node name', () => {
        imgSnapshotTest(
          `
          flowchart LR
          default-index.js --> dot.template.js
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: handling of different rendering direction in subgraphs', () => {
        imgSnapshotTest(
          `
        flowchart LR
    
    
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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: More nested subgraph cases (RL)', () => {
        imgSnapshotTest(
          `
    flowchart RL
        subgraph two
    Severity: Major
    Found in cypress/integration/rendering/flowchart-v2.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-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 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