Untitled
const { FIRST_PRODUCT_MOCK, MOCK_PRODUCTS, INSERT_PRODUCT_MOCK, MOCK_UPDATE_OUTPUT, } = require('../mocks/products.mock'); it('Deve ser possível atualizar o nome de um produto', async function () { const stub = sinon.stub(ProductsModel, 'updateProductName').returns(MOCK_UPDATE_OUTPUT); const product = await ProductsModel.updateProductName(1, 'Bombril de ouro'); expect(product).to.be.deep.equal(MOCK_UPDATE_OUTPUT); stub.restore(); }); it('Não deve ser possível atualizar o nome de um produto que não existe', async function () { const stub = sinon.stub(ProductsModel, 'updateProductName') .returns({ status: 404, data: 'Product not found' }); const product = await ProductsModel.updateProductName(999, 'Bombril de ouro'); expect(product).to.be.deep.equal({ status: 404, data: 'Product not found' }); stub.restore(); }); it('Não deve ser possível atualizar o nome de um produto com um nome menor que 5 caracteres', async function () { const stub = sinon.stub(ProductsModel, 'updateProductName') .returns({ status: 422, data: '"name" length must be at least 5 characters long' }); const product = await ProductsModel.updateProductName(69, 'Bom'); expect(product).to.be.deep.equal({ status: 422, data: '"name" length must be at least 5 characters long' }); stub.restore(); });
Leave a Comment