Untitled
unknown
plain_text
a year ago
1.9 kB
4
Indexable
const chai = require('chai'); const sinon = require('sinon'); const sinonChai = require('sinon-chai'); const chaiHTTP = require('chai-http'); const { SERVICES_MOCK, UNIQUE_PRODUCT_MOCK, NOT_FOUND_MOCK } = require('../mocks/product.mock'); const { expect } = chai; chai.use(sinonChai); chai.use(chaiHTTP); const serviceForProducts = require('../../../src/services/product.services'); const controllerForProducts = require('../../../src/controllers/products'); describe('Model for products', function () { afterEach(function () { sinon.restore(); }); it('should return all products', async function () { const req = { params: { id: 1 } }; const res = { status: sinon.stub().returnsThis(), json: sinon.stub().returnsThis() }; const getAllProductsFromDatabase = sinon.stub(serviceForProducts, 'getAllDatabase').resolves(SERVICES_MOCK); await controllerForProducts.getControllerByProducts(req, res); expect(res.status).to.be.calledWith(200); getAllProductsFromDatabase.restore(); }); it('should return a product by id', async function () { const req = { params: { id: 1 } }; const res = { status: sinon.stub().returnsThis(), json: sinon.stub().returnsThis() }; const getAllProductsById = sinon.stub(serviceForProducts, 'getAllById').resolves(UNIQUE_PRODUCT_MOCK); await controllerForProducts.getControllerById(req, res); expect(res.status).to.be.calledWith(200); getAllProductsById.restore(); }); it('should return a error message', async function () { const req = { params: { id: 1 } }; const res = { status: sinon.stub().returnsThis(), json: sinon.stub().returnsThis() }; const getAllProductsById = sinon.stub(serviceForProducts, 'getAllById').resolves(NOT_FOUND_MOCK); await controllerForProducts.getControllerById(req, res); expect(res.status).to.be.calledWith(200); getAllProductsById.restore(); }); });
Editor is loading...
Leave a Comment