jeudi 18 avril 2019

Tests with the multet library are not performed

I am testing adding products, I want to add 10 products, but the problem is that I cannot transfer the image to the multer library.

My code is:

import { expect } from 'chai';
import chai from 'chai';
import chaiHttp from 'chai-http';
import server from '../src/index';
import db from '../src/db/database';

chai.use(chaiHttp);

import constants from './tool/constants';
import utils from './tool/utils';

let addProductCount = 10;

describe('Test products', () => {
    describe('POST /api/products/add', () => {
        it(`should create ${addProductCount} products with 0...1000 price`, (done) => {
            let operationCount = addProductCount;
            for (let i = 0; i < addProductCount; i++) {
                let product = utils.getFakeProduct(2, 1000);
                chai.request(server)
                    .post('api/products/add')
                    .set('token', constants.merchantToken)
                    .send(product)
                    .end((err, res) => {
                        operationCount--;
                        expect(res).have.status(200);
                        expect(res.body).have.property('message');
                        expect(res.body.message).to.be.equal('Product added');
                        if (operationCount == 0) {
                            done();
                        }
                    });
            }
        });
    });
});

...
function getFakeProduct(lowerPrice, upperPrice) {
    let currentDate = faker.date.recent();
    let original_price = getRandomInt(lowerPrice, upperPrice);
    return {
        product_name: faker.commerce.productName(),
        product_description: `${faker.commerce.productAdjective()} ${faker.commerce.productAdjective()}`,
        original_price,
        sale_price: original_price - getRandomInt(lowerPrice, original_price - 1),
        starting_date: currentDate,
        end_date: moment(currentDate).add(1, 'days'),
        product_photos: faker.image.image(),
        quantity_available: faker.random.number(50),
        categories: 'HOME APPLIANCES',
    };
}
...

I get an error Uncaught TypeError: Cannot use 'in' operator to search for 'status' in undefined.

How to test the multer library? How to transfer the photo to the library so that the test runs? Why the test fails I ponma, problems with the image

Aucun commentaire:

Enregistrer un commentaire