Untitled
unknown
plain_text
a year ago
2.2 kB
4
Indexable
const chai = require('chai'); const sinon = require('sinon'); const sinonChai = require('sinon-chai'); const chaiHttp = require('chai-http'); const { expect } = chai; const salesServices = require('../../../src/services/sales.services'); const salesController = require('../../../src/controllers/sales.controller'); const { SALES_MOCK, SALES_MOCK_NOTFOUND, SINGLE_SALE_MOCK } = require('../mocks/SALES_MOCKS'); chai.use(chaiHttp); chai.use(sinonChai); describe('Tests /models/sales.controller', function () { afterEach(function () { sinon.restore(); }); describe('When sales/sale exists', function () { it('Returns all the sales from the table SALES as an array', async function () { const req = { params: { id: 1, }, }; const res = { status: sinon.stub().returnsThis(), json: sinon.stub().returnsThis(), }; const stub = sinon.stub(salesServices, 'getSales').resolves(SALES_MOCK); await salesController.getAllSales(req, res); expect(res.status).to.have.been.calledWith(200); stub.restore(); }); it('Returns a single sale when the ID is found in the table SALES', async function () { const res = { status: sinon.stub().returnsThis(), json: sinon.stub().returnsThis(), }; const req = { params: { id: 1, }, }; const stub = sinon.stub(salesServices, 'getSaleId').resolves(SINGLE_SALE_MOCK); await salesController.getSaleByID(req, res); expect(res.status).to.have.been.calledWith(200); stub.restore(); }); }); describe('When sales/sale DOES NOT exists', function () { it('Returns "Sale not found" if an sale does not exist in the table SALES', async function () { const res = { status: sinon.stub().returnsThis(), json: sinon.stub().returnsThis(), }; const req = { params: { id: 1, }, }; const stub = sinon.stub(salesServices, 'getSaleId').resolves(SALES_MOCK_NOTFOUND); await salesController.getSaleByID(req, res); expect(res.status).to.have.been.calledWith(200); stub.restore(); }); }); });
Editor is loading...
Leave a Comment