lundi 3 décembre 2018

mochajs & chaijs - Uncaught TypeError: Cannot read property 'id' of undefined

I am creating an bill tracking application that is having users create bills based on criteria I have created using javascript.

I am tasked with performing acceptance testing.

This is my code so far:

let assert = require('assert');
let chai = require('chai');
let chaiHttp = require('chai-http');
let serverAndSchema = require('../index');
let server = serverAndSchema.app
let Bill = serverAndSchema.schema
let should = chai.should();
chai.use(chaiHttp);

describe('Bills', function() 
{
describe('/GET bill', function() 
{
it('should get the specified bill', function(done) 
{
    let expectedBill = new Bill
    ({
        type: "Test Type",
        dueDate: "12/3/2018T06:00:00.000Z",
        company: "Test Company",
        amtDue: "100",
        paidStatus: "Test Status"
    })
    expectedBill.save(function(err, savedBill)
    {
        chai.request(server)
            .get('/api/bills/'+savedBill.id)
            .end((err, res) =>
            {
                res.should.have.status(200);
                res.body.should.be.a('object');
                res.body.should.have.property('type').eql(savedBill.type)
                res.body.should.have.property('dueDate').eql(savedBill.dueDate)
                res.body.should.have.property('company').eql(savedBill.company)
                res.body.should.have.property('amtDue').eql(savedBill.amtDue)
                res.body.should.have.property('paidStatus').eql(savedBill.paidStatus)
                res.body.should.have.property('_id').eql(savedBill.id)
                done();
            })
    });
});
});
});

The data is added to my database, but I get this error when I try to run the test:

Uncaught TypeError: Cannot read property 'id' of undefined
  at 
C:\Users\Martae\Documents\Github\BillTracker\test\bill.js:29:46

Any help with this is appreciated!




Aucun commentaire:

Enregistrer un commentaire