lundi 9 juillet 2018

Jasmine callFake not work on express router

I am using Jasmine for test and meet some problems with callFake.

I fake fetchPanelRowData function, but it still steps into original fetchPanelRowData.

express dashboardRouter:

exports.fetchPanelRowData = (req, res) => {
    ...
}

spec:

const request = require('supertest');
const app = require('../../app');
const dshRouter = require('../../routes/dashboardRouter');

describe('test dashboard router: ', () => {

    it('test fetchPanelRowData', async () => {
        spyOn(dshRouter, 'fetchPanelRowData').and.callFake((req, res) => {
            res.status(500).end();
        });

        let response = await request(app).post('/api/fetchPanelRowData');
        expect(response.statusCode).toBe(500);
        expect(dshRouter.fetchPanelRowData).toHaveBeenCalled();
    })
})

Any ideas?

Aucun commentaire:

Enregistrer un commentaire