59 lines
2.0 KiB
JavaScript
59 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
|
|
|
var collections = require('../util/collections');
|
|
|
|
var AddressModel = require('./address');
|
|
var ProductLineItemsModel = require('./productLineItems');
|
|
var ShippingMethodModel = require('./shippingMethod');
|
|
|
|
var ShippingMgr = require('../dw/order/ShippingMgr');
|
|
|
|
var shippingHelpers = {
|
|
getApplicableShippingMethods: function (shipment, address) {
|
|
var shippingMethods;
|
|
if (shipment === null && address === null) {
|
|
shippingMethods = null;
|
|
} else {
|
|
shippingMethods = [
|
|
{
|
|
description: 'Order received within 7-10 business days',
|
|
displayName: 'Ground',
|
|
ID: '001',
|
|
shippingCost: '$0.00',
|
|
estimatedArrivalTime: '7-10 Business Days'
|
|
},
|
|
{
|
|
description: 'Order received in 2 business days',
|
|
displayName: '2-Day Express',
|
|
ID: '002',
|
|
shippingCost: '$9.99',
|
|
estimatedArrivalTime: '2 Business Days'
|
|
}
|
|
];
|
|
}
|
|
return shippingMethods;
|
|
}
|
|
};
|
|
|
|
function proxyModel() {
|
|
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/shipping', {
|
|
'*/cartridge/models/address': AddressModel,
|
|
'*/cartridge/models/productLineItems': ProductLineItemsModel,
|
|
'*/cartridge/models/shipping/shippingMethod': ShippingMethodModel,
|
|
'*/cartridge/scripts/checkout/shippingHelpers': shippingHelpers,
|
|
'*/cartridge/scripts/util/collections': collections,
|
|
'*/cartridge/scripts/util/formatting': {},
|
|
'dw/util/StringUtils': {
|
|
formatMoney: function () {
|
|
return 'formattedMoney';
|
|
}
|
|
},
|
|
'dw/value/Money': require('../dw.value.Money'),
|
|
'dw/order/ShippingMgr': ShippingMgr
|
|
});
|
|
}
|
|
|
|
module.exports = proxyModel();
|