knsv/mermaid

View on GitHub
cypress/integration/rendering/stateDiagram.spec.js

Summary

Maintainability
D
1 day
Test Coverage

File stateDiagram.spec.js has 367 lines of code (exceeds 250 allowed). Consider refactoring.
Open

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

describe('State diagram', () => {
  it('should render a simple state diagrams', () => {
    imgSnapshotTest(
Severity: Minor
Found in cypress/integration/rendering/stateDiagram.spec.js - About 4 hrs to fix

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

      it('should render a state with a note together with another state', () => {
        imgSnapshotTest(
          `
        stateDiagram
        State1: The state with a note +,-
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a long descriptions with additional descriptions', () => {
        imgSnapshotTest(
          `
          stateDiagram
    
    
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a simple state diagrams with labels', () => {
        imgSnapshotTest(
          `
        stateDiagram
        [*] --> State1
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a state with on the left side when so specified', () => {
        imgSnapshotTest(
          `
        stateDiagram
        State1: The state with a note with minus - and plus + in it
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a transition descriptions with new lines', () => {
        imgSnapshotTest(
          `
          stateDiagram
    
    
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a state with a note', () => {
        imgSnapshotTest(
          `
        stateDiagram
        State1: The state with a note
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a states with descriptions including multi-line descriptions', () => {
        imgSnapshotTest(
          `
        stateDiagram
        State1: This a a single line description
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render composite states', () => {
        imgSnapshotTest(
          `
          stateDiagram
          [*] --> NotShooting: Pacifist
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a simple state diagrams', () => {
        imgSnapshotTest(
          `
        stateDiagram
        [*] --> State1
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a single state with short descriptions', () => {
        imgSnapshotTest(
          `
        stateDiagram
          state "A long long name" as long1
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render forks and joins', () => {
        imgSnapshotTest(
          `
        stateDiagram
        state fork_state <<fork>>
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a long descriptions instead of id when available', () => {
        imgSnapshotTest(
          `
          stateDiagram
    
    
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render a simple state diagrams 2', () => {
        imgSnapshotTest(
          `
        stateDiagram
        [*] --> State1
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render state descriptions', () => {
        imgSnapshotTest(
          `
          stateDiagram
            state "Long state description" as XState1
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281
    cypress/integration/rendering/stateDiagram.spec.js on lines 282..305

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

      it('should render concurrency states', () => {
        imgSnapshotTest(
          `
        stateDiagram
        [*] --> Active
    Severity: Major
    Found in cypress/integration/rendering/stateDiagram.spec.js and 30 other locations - About 40 mins to fix
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 4..12
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 13..24
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 25..36
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 37..48
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 49..59
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 60..73
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 74..87
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 88..101
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 102..117
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 146..160
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 161..173
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 174..189
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 190..202
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 203..221
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 273..291
    cypress/integration/rendering/stateDiagram-v2.spec.js on lines 292..315
    cypress/integration/rendering/stateDiagram.spec.js on lines 4..14
    cypress/integration/rendering/stateDiagram.spec.js on lines 15..26
    cypress/integration/rendering/stateDiagram.spec.js on lines 27..38
    cypress/integration/rendering/stateDiagram.spec.js on lines 39..49
    cypress/integration/rendering/stateDiagram.spec.js on lines 50..63
    cypress/integration/rendering/stateDiagram.spec.js on lines 64..77
    cypress/integration/rendering/stateDiagram.spec.js on lines 78..91
    cypress/integration/rendering/stateDiagram.spec.js on lines 92..107
    cypress/integration/rendering/stateDiagram.spec.js on lines 136..150
    cypress/integration/rendering/stateDiagram.spec.js on lines 151..163
    cypress/integration/rendering/stateDiagram.spec.js on lines 164..179
    cypress/integration/rendering/stateDiagram.spec.js on lines 180..192
    cypress/integration/rendering/stateDiagram.spec.js on lines 193..211
    cypress/integration/rendering/stateDiagram.spec.js on lines 263..281

    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