Как должен быть написан код, чтобы тест мог получить доступ к свойству выполнения функции здесь:
_instance.addProducts(_product).products
Тест
describe(`ONE product added`, () => {
const _product = {
name: 'product1',
price: 1.50,
quantity: 1
};
let _instance
let _cart
beforeEach(() => {
_instance = window[MODULE_NAME]();
_cart = _instance.addProducts(_product);
});
test(`cart's products`, () => {
expect(_cart.products).toEqual([_product]);
});
})
Код
(function() {
var MODULE_NAME = 'shoppingcartModel',
_Cart = {
products: [],
total: {
beforeVAT: 0,
afterVAT: 0,
VAT: 0
}
};
window[MODULE_NAME] = function() {
return {
addProducts: function(newOrExistingProducts) {
return _Cart.products.push(newOrExistingProducts);
}
};
};
})()
Тест написан отлично и не может быть изменен.Что это за волшебство?:)
Я попытался изменить addProducts
переменную к переменной и добавить к ней свойство products
, но это не так ...