title: Mocha/Chai TypeError: Cannot read property 'include' of undefined
body: <p>So I have this super simple Chai test that keeps failing for reasons I don't understand. Here is my code:</p>
  
  <pre class="lang-js prettyprint-override"><code>let chaiHttp = require('chai-http');
  const helpers = require('../lib/helpers.js');
  let chai = require('chai');
  
  let should = chai.should();
  chai.use(chaiHttp);
  
  describe('Helper Functions', () =&gt; {
      it('it should return an array of objects that represent the URL parameters passed in', function() {
          const requestURL = {url: '/?designID=54w9G44aphaNHTvKg&amp;labels=true&amp;props=true'};
          let parameters = helpers.getQueryParameters(requestURL);
  
          (parameters).should.include.keys(['designID', 'labels', 'props']);
          (parameters.designID).should.be.eql('54w9G44aphaNHTvKg');
          (parameters.labels).should.be.eql('true');
          (parameters.props).should.be.eql('true');
      });
  });
  
  </code></pre>
  
  <p>Everytime i try to test, I get the error <code>TypeError: Cannot read property 'include' of undefined</code></p>
  
  <p>If i comment out <code>(parameters).should.include.keys(['designID', 'labels', 'props']);</code>, eveything passes. I haven't the slightest idea what is causing this...</p>
  
  <p>When i console.log parameters, this is the object returned:</p>
  
  <pre class="lang-js prettyprint-override"><code>{
      designID: '54w9G44aphaNHTvKg',
      labels: 'true',
      props: 'true'
  }
  </code></pre>
  
  <p><strong>UPDATE</strong></p>
  
  <p>So when i change the line to:</p>
  
  <pre class="lang-js prettyprint-override"><code>(JSON.parse(JSON.stringify(parameters))).should.have.keys(['designID', 'labels', 'props']);
  </code></pre>
  
  <p>Everything works fine... is there some kind of feature/bug that doesn't allow chai to read JSON unless it's properly formatted with double quotes?</p>