MrBoolean/http-test

View on GitHub

Showing 22 of 22 total issues

Function suiteTestSuite has 148 lines of code (exceeds 25 allowed). Consider refactoring.
Open

describe('http-test/suite', function suiteTestSuite() {
  it('inherits from `Base`', function inheritsFromBaseTest() {
    (new Suite()).should.be.an.instanceOf(Base);
  });

Severity: Major
Found in test/suite.test.js - About 5 hrs to fix

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

        it('accepts an object with options', function acceptsOptionsTest() {
          var options = {
            req: { baseUrl: 'http://www.mr-boolean.com' },
            spec: { thresholds: [{ threshold: 1337, mark: Test.PASSED }] }
          };
    Severity: Major
    Found in test/suite.test.js and 1 other location - About 5 hrs to fix
    test/test.test.js on lines 26..39

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

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

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

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

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

    Refactorings

    Further Reading

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

        it('accepts an object with options', function acceptsOptionsTest() {
          var options = {
            req: { url: '/test' },
            spec: { thresholds: [{ threshold: 1337, mark: Test.PASSED }] }
          };
    Severity: Major
    Found in test/test.test.js and 1 other location - About 5 hrs to fix
    test/suite.test.js on lines 13..27

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

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

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

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

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

    Refactorings

    Further Reading

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

        it('accepts an instance of `Test`', function testAddTest() {
          var suite = new Suite();
          var test = new Test();
    
          suite.add(test);
    Severity: Major
    Found in test/suite.test.js and 1 other location - About 3 hrs to fix
    test/suite.test.js on lines 93..101

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

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

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

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

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

    Refactorings

    Further Reading

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

        it('accepts another suite', function anotherSuiteTest() {
          var suiteA = new Suite();
          var suiteB = new Suite();
    
          suiteA.add(suiteB);
    Severity: Major
    Found in test/suite.test.js and 1 other location - About 3 hrs to fix
    test/suite.test.js on lines 103..111

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

    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

    Function validate has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
    Open

    module.exports = function validate(item) {
      var index;
      var current;
      var thresholds;
      var result = {
    Severity: Minor
    Found in util/validate.js - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function baseTestSuite has 50 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    describe('http-test/base', function baseTestSuite() {
      describe('#constructor', function constructorTestSuite() {
        it('applies `options.req` with the property `req`', function appliesTheReqOptionsTest() {
          var base = new Base({ req: { baseUrl: 'http://www.google.com' } });
          base.req.baseUrl.should.equal('http://www.google.com');
    Severity: Minor
    Found in test/base.test.js - About 2 hrs to fix

      Function functionalTestSuite has 42 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        describe('functional testing', function functionalTestSuite() {
          var baseUrl = 'http://www.http-test.com';
          var mock;
      
          beforeEach(function runBeforeEach() {
      Severity: Minor
      Found in test/suite.test.js - About 1 hr to fix

        Function run has 39 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        Suite.prototype.run = function run() {
          var suite = this;
          var offAny = [];
        
          function broadcast(test) {
        Severity: Minor
        Found in suite.js - About 1 hr to fix

          Function validate has 35 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          module.exports = function validate(item) {
            var index;
            var current;
            var thresholds;
            var result = {
          Severity: Minor
          Found in util/validate.js - About 1 hr to fix

            Function testTestSuite has 35 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            describe('http-test/test', function testTestSuite() {
              it('inherits from `Base`', function inheritsFromBaseTest() {
                (new Test()).should.be.an.instanceOf(Base);
              });
            
            
            Severity: Minor
            Found in test/test.test.js - About 1 hr to fix

              Function validateTestSuite has 34 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              describe('http-test/util/validate', function validateTestSuite() {
                it('marks the test as "invalid" if a error is provided', function provideErrTest() {
                  var result = validate({ err: new Error() });
              
                  result.status.should.equal('invalid');
              Severity: Minor
              Found in test/util/validate.test.js - About 1 hr to fix

                Function thresholdTestSuite has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  describe('#threshold', function thresholdTestSuite() {
                    it('requires at least one argument (ms)', function atLeastOneArgumentTest() {
                      (function shouldThrow() {
                        var test = new Base();
                        test.threshold();
                Severity: Minor
                Found in test/base.test.js - About 1 hr to fix

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

                    it('contains the static PASSED', function passedTest() {
                      Test.PASSED.should.be.ok();
                      Test.PASSED.should.equal('passed');
                    });
                  Severity: Major
                  Found in test/test.test.js and 2 other locations - About 1 hr to fix
                  test/test.test.js on lines 15..18
                  test/test.test.js on lines 20..23

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

                  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('contains the static FAILED', function failedTest() {
                      Test.FAILED.should.be.ok();
                      Test.FAILED.should.equal('failed');
                    });
                  Severity: Major
                  Found in test/test.test.js and 2 other locations - About 1 hr to fix
                  test/test.test.js on lines 10..13
                  test/test.test.js on lines 20..23

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

                  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('contains the static INVALID', function invalidTest() {
                      Test.INVALID.should.be.ok();
                      Test.INVALID.should.equal('invalid');
                    });
                  Severity: Major
                  Found in test/test.test.js and 2 other locations - About 1 hr to fix
                  test/test.test.js on lines 10..13
                  test/test.test.js on lines 15..18

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

                  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

                  Function addTestSuite has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    describe('#add', function addTestSuite() {
                      it('accepts a string', function stringTest() {
                        var suite = new Suite();
                  
                        suite.add('http://www.google.com');
                  Severity: Minor
                  Found in test/suite.test.js - About 1 hr to fix

                    Function run has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    Test.prototype.run = function run() {
                      var test = this;
                    
                      var current = {
                        spec: merge({}, test.spec || {}, test.suite.spec || {}),
                    Severity: Minor
                    Found in test.js - About 1 hr to fix

                      Function hasListener has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                      Open

                      Suite.prototype.hasListener = function hasListener(name, callback) {
                        var affected = this._ee._events[name];
                        var index;
                      
                        if (!affected) {
                      Severity: Minor
                      Found in suite.js - About 55 mins to fix

                      Cognitive Complexity

                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                      A method's cognitive complexity is based on a few simple rules:

                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                      • Code is considered more complex for each "break in the linear flow of the code"
                      • Code is considered more complex when "flow breaking structures are nested"

                      Further reading

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

                        return request(current.req)
                          .then(function handleRes(res) {
                            current.res = res;
                            test.suite.emit('response', current);
                      
                      
                      Severity: Minor
                      Found in test.js and 1 other location - About 40 mins to fix
                      test.js on lines 38..50

                      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

                      Severity
                      Category
                      Status
                      Source
                      Language