LearningSalesForceCommerceC.../storefront-reference-architecture/test/mocks/helpers/checkoutHelpers.js

97 lines
2.5 KiB
JavaScript
Raw Normal View History

2021-12-21 10:57:31 -08:00
'use strict';
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
var collections = require('../util/collections');
var addressModel = require('../models/address');
var orderModel = require('../models/order');
var renderTemplateHelper = require('./renderTemplateHelper');
var shippingHelpers = require('./shippingHelpers');
var basketMgr = require('../dw/order/BasketMgr');
var server = {
forms: {
getForm: function (formName) {
return {
formName: formName,
clear: function () {}
};
}
}
};
var transaction = {
wrap: function (callBack) {
return callBack.call();
},
begin: function () {},
commit: function () {}
};
var hookMgr = {
callHook: function () {}
};
var resource = {
msg: function (param1) {
return param1;
}
};
var status = {
OK: 0,
ERROR: 1
};
var orderMgr = {
createOrder: function () {
return { order: 'new order' };
},
placeOrder: function () {
return status.OK;
},
failOrder: function () {
return { order: 'failed order' };
}
};
var order = {
CONFIRMATION_STATUS_NOTCONFIRMED: 'ONFIRMATION_STATUS_NOTCONFIRMED',
CONFIRMATION_STATUS_CONFIRMED: 'CONFIRMATION_STATUS_CONFIRMED',
EXPORT_STATUS_READY: 'order export status is ready'
};
function proxyModel() {
return proxyquire('../../../cartridges/app_storefront_base/cartridge/scripts/checkout/checkoutHelpers', {
'server': server,
'*/cartridge/scripts/util/collections': collections,
'*/cartridge/scripts/helpers/basketCalculationHelpers': { calculateTotals: function () {} },
'dw/order/BasketMgr': basketMgr,
'dw/util/HashMap': {},
'dw/system/HookMgr': hookMgr,
'dw/net/Mail': {},
'dw/order/OrderMgr': orderMgr,
'dw/order/PaymentInstrument': {},
'dw/order/PaymentMgr': {},
'dw/order/Order': order,
'dw/system/Status': status,
'dw/web/Resource': resource,
'dw/system/Site': {},
'dw/util/Template': {},
'dw/system/Transaction': transaction,
'*/cartridge/models/address': addressModel,
'*/cartridge/models/order': orderModel,
'*/cartridge/scripts/renderTemplateHelper': renderTemplateHelper,
'*/cartridge/scripts/checkout/shippingHelpers': shippingHelpers,
'*/cartridge/scripts/formErrors': require('../../../cartridges/app_storefront_base/cartridge/scripts/formErrors')
});
}
module.exports = proxyModel();