consul/consul

View on GitHub

Showing 855 of 2,521 total issues

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

    it "handles coordinates with three-dimensional arrays" do
      geozone = build(:geozone, geojson: '{
        "geometry": {
          "type": "Polygon",
          "coordinates": [[[40.8792937308316, -3.9259027239257],
Severity: Minor
Found in spec/models/geozone_spec.rb and 4 other locations - About 15 mins to fix
spec/models/geozone_spec.rb on lines 61..76
spec/models/geozone_spec.rb on lines 97..112
spec/models/geozone_spec.rb on lines 116..129
spec/models/geozone_spec.rb on lines 133..148

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

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

      it "returns the default secrets for other tenants" do
        allow(Tenant).to receive(:current_schema).and_return("earth")

        expect(Tenant.current_secrets.star).to eq "Sun"
        expect(Tenant.current_secrets.volume).to eq "Medium"
Severity: Minor
Found in spec/models/tenant_spec.rb and 4 other locations - About 15 mins to fix
spec/models/tenant_spec.rb on lines 252..256
spec/models/tenant_spec.rb on lines 276..280
spec/models/tenant_spec.rb on lines 283..287
spec/models/tenant_spec.rb on lines 290..294

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

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

    it "is invalid if proposals phase is enabled but proposals_phase_end_date is not present" do
      process = build(:legislation_process, proposals_phase_enabled: true, proposals_phase_end_date: "")

      expect(process).not_to be_valid
      expect(process.errors.messages[:proposals_phase_end_date]).to include("can't be blank")
Severity: Minor
Found in spec/models/legislation/process_spec.rb and 3 other locations - About 15 mins to fix
spec/models/legislation/process_spec.rb on lines 35..39
spec/models/legislation/process_spec.rb on lines 49..53
spec/models/legislation/process_spec.rb on lines 78..82

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

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

    it "is shown for proposals" do
      proposal = create(:proposal)

      render_inline Shared::ModerationActionsComponent.new(proposal)

Severity: Minor
Found in spec/components/shared/moderation_actions_component_spec.rb and 5 other locations - About 15 mins to fix
spec/components/shared/moderation_actions_component_spec.rb on lines 8..14
spec/components/shared/moderation_actions_component_spec.rb on lines 28..34
spec/components/shared/moderation_actions_component_spec.rb on lines 38..44
spec/components/shared/moderation_actions_component_spec.rb on lines 48..54
spec/components/shared/moderation_actions_component_spec.rb on lines 58..64

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

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

    def destroy
      @debate.unvote_by(current_user)

      respond_to do |format|
        format.html { redirect_to request.referer, notice: I18n.t("flash.actions.destroy.vote") }
Severity: Minor
Found in app/controllers/debates/votes_controller.rb and 2 other locations - About 15 mins to fix
app/controllers/comments/votes_controller.rb on lines 18..23
app/controllers/legislation/proposals/votes_controller.rb on lines 21..26

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

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

    it "is shown for legislation proposals" do
      proposal = create(:legislation_proposal)

      render_inline Shared::ModerationActionsComponent.new(proposal)

Severity: Minor
Found in spec/components/shared/moderation_actions_component_spec.rb and 5 other locations - About 15 mins to fix
spec/components/shared/moderation_actions_component_spec.rb on lines 8..14
spec/components/shared/moderation_actions_component_spec.rb on lines 18..24
spec/components/shared/moderation_actions_component_spec.rb on lines 28..34
spec/components/shared/moderation_actions_component_spec.rb on lines 38..44
spec/components/shared/moderation_actions_component_spec.rb on lines 48..54

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

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

    it "handles coordinates with four-dimensional arrays" do
      geozone = build(:geozone, geojson: '{
        "geometry": {
          "type": "Polygon",
          "coordinates": [[[[40.8792937308316, -3.9259027239257],
Severity: Minor
Found in spec/models/geozone_spec.rb and 4 other locations - About 15 mins to fix
spec/models/geozone_spec.rb on lines 61..76
spec/models/geozone_spec.rb on lines 80..93
spec/models/geozone_spec.rb on lines 97..112
spec/models/geozone_spec.rb on lines 133..148

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

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

    it "is invalid if debate phase is enabled but debate_start_date is not present" do
      process = build(:legislation_process, debate_phase_enabled: true, debate_start_date: nil)

      expect(process).not_to be_valid
      expect(process.errors.messages[:debate_start_date]).to include("can't be blank")
Severity: Minor
Found in spec/models/legislation/process_spec.rb and 3 other locations - About 15 mins to fix
spec/models/legislation/process_spec.rb on lines 28..32
spec/models/legislation/process_spec.rb on lines 56..60
spec/models/legislation/process_spec.rb on lines 70..75

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

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

    it "is invalid if proposals phase is enabled but proposals_phase_start_date is not present" do
      process = build(:legislation_process, proposals_phase_enabled: true, proposals_phase_start_date: nil)

      expect(process).not_to be_valid
      expect(process.errors.messages[:proposals_phase_start_date]).to include("can't be blank")
Severity: Minor
Found in spec/models/legislation/process_spec.rb and 3 other locations - About 15 mins to fix
spec/models/legislation/process_spec.rb on lines 28..32
spec/models/legislation/process_spec.rb on lines 42..46
spec/models/legislation/process_spec.rb on lines 70..75

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

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

      create(:banner, title: "Banner number three",
                      description: "This is the text of banner number three",
                      target_url: "http://www.url.com",
                      post_started_at: (Date.current - 1.day),
                      post_ended_at: (Date.current + 10.days),
Severity: Major
Found in spec/system/admin/banners_spec.rb and 7 other locations - About 15 mins to fix
spec/components/shared/banner_component_spec.rb on lines 5..12
spec/system/admin/banners_spec.rb on lines 6..12
spec/system/admin/banners_spec.rb on lines 14..20
spec/system/admin/banners_spec.rb on lines 30..36
spec/system/admin/banners_spec.rb on lines 38..44
spec/system/admin/banners_spec.rb on lines 125..131
spec/system/admin/banners_spec.rb on lines 164..170

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

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

    it "handles coordinates with four-dimensional arrays with spaces between brackets" do
      geozone = build(:geozone, geojson: '{
        "geometry": {
          "type": "Polygon",
          "coordinates": [[[
Severity: Minor
Found in spec/models/geozone_spec.rb and 4 other locations - About 15 mins to fix
spec/models/geozone_spec.rb on lines 61..76
spec/models/geozone_spec.rb on lines 80..93
spec/models/geozone_spec.rb on lines 97..112
spec/models/geozone_spec.rb on lines 116..129

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

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

    def destroy
      @comment.unvote_by(current_user)

      respond_to do |format|
        format.html { redirect_to request.referer, notice: I18n.t("flash.actions.destroy.vote") }
Severity: Minor
Found in app/controllers/comments/votes_controller.rb and 2 other locations - About 15 mins to fix
app/controllers/debates/votes_controller.rb on lines 17..22
app/controllers/legislation/proposals/votes_controller.rb on lines 21..26

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

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 "switches to another version with js" do
      visit legislation_process_draft_version_changes_path(process, original)
      expect(page).to have_content("Changes for first version")

      select("Current")
Severity: Minor
Found in spec/system/legislation/draft_versions_spec.rb and 2 other locations - About 15 mins to fix
spec/system/legislation/draft_versions_spec.rb on lines 65..72
spec/system/legislation/draft_versions_spec.rb on lines 396..403

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

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

      def destroy
        @proposal.unvote_by(current_user)

        respond_to do |format|
          format.html { redirect_to request.referer, notice: I18n.t("flash.actions.destroy.vote") }
Severity: Minor
Found in app/controllers/legislation/proposals/votes_controller.rb and 2 other locations - About 15 mins to fix
app/controllers/comments/votes_controller.rb on lines 18..23
app/controllers/debates/votes_controller.rb on lines 17..22

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

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

    it "is shown for comments" do
      comment = create(:comment)

      render_inline Shared::ModerationActionsComponent.new(comment)

Severity: Minor
Found in spec/components/shared/moderation_actions_component_spec.rb and 5 other locations - About 15 mins to fix
spec/components/shared/moderation_actions_component_spec.rb on lines 8..14
spec/components/shared/moderation_actions_component_spec.rb on lines 18..24
spec/components/shared/moderation_actions_component_spec.rb on lines 28..34
spec/components/shared/moderation_actions_component_spec.rb on lines 48..54
spec/components/shared/moderation_actions_component_spec.rb on lines 58..64

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

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

      it "returns the overwritten secrets for tenants overwriting them" do
        allow(Tenant).to receive(:current_schema).and_return("proxima")

        expect(Tenant.current_secrets.star).to eq "Alpha Centauri"
        expect(Tenant.current_secrets.volume).to eq "Medium"
Severity: Minor
Found in spec/models/tenant_spec.rb and 4 other locations - About 15 mins to fix
spec/models/tenant_spec.rb on lines 252..256
spec/models/tenant_spec.rb on lines 259..263
spec/models/tenant_spec.rb on lines 276..280
spec/models/tenant_spec.rb on lines 290..294

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

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

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

  def self.search_by_code(terms)
    matched_code = match_code(terms)
    results = where(id: matched_code[1]) if matched_code
    results if results.present? && results.first.code == terms
  end
Severity: Minor
Found in app/models/legislation/proposal.rb and 1 other location - About 15 mins to fix
app/models/proposal.rb on lines 145..149

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

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

    it "is invalid if draft is enabled but draft_end_date is not present" do
      process = build(:legislation_process, draft_phase_enabled: true, draft_end_date: "")

      expect(process).not_to be_valid
      expect(process.errors.messages[:draft_end_date]).to include("can't be blank")
Severity: Minor
Found in spec/models/legislation/process_spec.rb and 3 other locations - About 15 mins to fix
spec/models/legislation/process_spec.rb on lines 49..53
spec/models/legislation/process_spec.rb on lines 63..67
spec/models/legislation/process_spec.rb on lines 78..82

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

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 "does not link debates if activity is not public" do
      create(:debate, author: user)

      response = execute("{ user(id: #{user.id}) { public_debates { edges { node { title } } } } }")
      received_debates = dig(response, "data.user.public_debates.edges")
Severity: Minor
Found in spec/lib/graphql_spec.rb and 2 other locations - About 15 mins to fix
spec/lib/graphql_spec.rb on lines 109..115
spec/lib/graphql_spec.rb on lines 118..124

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

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 "switches to another version with js" do
      visit legislation_process_draft_version_path(process, original)
      expect(page).to have_content("Original version")

      select("Current")
Severity: Minor
Found in spec/system/legislation/draft_versions_spec.rb and 2 other locations - About 15 mins to fix
spec/system/legislation/draft_versions_spec.rb on lines 169..176
spec/system/legislation/draft_versions_spec.rb on lines 396..403

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

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

Severity
Category
Status
Source
Language