summaryrefslogtreecommitdiff
path: root/spec/factories/ci/reports/codequality_degradations.rb
blob: d82157b457a6a098b4704c6897264c84d0795574 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# frozen_string_literal: true

FactoryBot.define do
  factory :codequality_degradation_1, class: Hash do
    skip_create

    initialize_with do
      {
        "categories": [
          "Complexity"
        ],
        "check_name": "argument_count",
        "content": {
          "body": ""
        },
        "description": "Avoid parameter lists longer than 5 parameters. [12/5]",
        "fingerprint": "15cdb5c53afd42bc22f8ca366a08d547",
        "location": {
          "path": "file_a.rb",
          "lines": {
            "begin": 10,
            "end": 10
          }
        },
        "other_locations": [],
        "remediation_points": 900000,
        "severity": "major",
        "type": "issue",
        "engine_name": "structure"
      }.with_indifferent_access
    end
  end

  factory :codequality_degradation_2, class: Hash do
    skip_create

    initialize_with do
      {
        "categories": [
          "Complexity"
        ],
        "check_name": "argument_count",
        "content": {
          "body": ""
        },
        "description": "Method `new_array` has 12 arguments (exceeds 4 allowed). Consider refactoring.",
        "fingerprint": "f3bdc1e8c102ba5fbd9e7f6cda51c95e",
        "location": {
          "path": "file_a.rb",
          "lines": {
            "begin": 10,
            "end": 10
          }
        },
        "other_locations": [],
        "remediation_points": 900000,
        "severity": "major",
        "type": "issue",
        "engine_name": "structure"
      }.with_indifferent_access
    end
  end

  factory :codequality_degradation_3, class: Hash do
    skip_create

    initialize_with do
      {
        "type": "Issue",
        "check_name": "Rubocop/Metrics/ParameterLists",
        "description": "Avoid parameter lists longer than 5 parameters. [12/5]",
        "categories": [
          "Complexity"
        ],
        "remediation_points": 550000,
        "location": {
          "path": "file_b.rb",
          "positions": {
            "begin": {
              "column": 14,
              "line": 10
            },
            "end": {
              "column": 39,
              "line": 10
            }
          }
        },
        "content": {
          "body": "This cop checks for methods with too many parameters.\nThe maximum number of parameters is configurable.\nKeyword arguments can optionally be excluded from the total count."
        },
        "engine_name": "rubocop",
        "fingerprint": "ab5f8b935886b942d621399f5a2ca16e",
        "severity": "minor"
      }.with_indifferent_access
    end
  end
end