Adds SFRA 6.0
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/address', {});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
@@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/billing', {});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
83
storefront-reference-architecture/test/mocks/models/cart.js
Normal file
83
storefront-reference-architecture/test/mocks/models/cart.js
Normal file
@@ -0,0 +1,83 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
var TotalsModel = require('./totals');
|
||||
var ProductLineItemsModel = require('./productLineItems');
|
||||
|
||||
var ShippingHelpers = require('../helpers/shippingHelpers');
|
||||
|
||||
var URLUtils = require('../dw.web.URLUtils');
|
||||
var ArrayList = require('../dw.util.Collection');
|
||||
var Money = require('../dw.value.Money');
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/cart', {
|
||||
'*/cartridge/scripts/util/collections': {},
|
||||
'dw/campaign/PromotionMgr': {
|
||||
getDiscounts: function () {
|
||||
return {
|
||||
getApproachingOrderDiscounts: function () {
|
||||
return new ArrayList([{
|
||||
getDistanceFromConditionThreshold: function () {
|
||||
return new Money();
|
||||
},
|
||||
getDiscount: function () {
|
||||
return {
|
||||
getPromotion: function () {
|
||||
return {
|
||||
getCalloutMsg: function () {
|
||||
return 'someString';
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
}]);
|
||||
},
|
||||
getApproachingShippingDiscounts: function () {
|
||||
return new ArrayList([{
|
||||
getDistanceFromConditionThreshold: function () {
|
||||
return new Money();
|
||||
},
|
||||
getDiscount: function () {
|
||||
return {
|
||||
getPromotion: function () {
|
||||
return {
|
||||
getCalloutMsg: function () {
|
||||
return 'someString';
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
}]);
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
'*/cartridge/models/totals': TotalsModel,
|
||||
'*/cartridge/models/productLineItems': ProductLineItemsModel,
|
||||
'*/cartridge/scripts/checkout/shippingHelpers': ShippingHelpers,
|
||||
'*/cartridge/scripts/helpers/hooks': function () {
|
||||
return { error: false, message: 'some message' };
|
||||
},
|
||||
'*/cartridge/scripts/hooks/validateBasket': function () {},
|
||||
'dw/web/URLUtils': URLUtils,
|
||||
'dw/util/StringUtils': {
|
||||
formatMoney: function () {
|
||||
return 'formatted money';
|
||||
}
|
||||
},
|
||||
'dw/web/Resource': {
|
||||
msg: function () {
|
||||
return 'someString';
|
||||
},
|
||||
msgf: function () {
|
||||
return 'someString';
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
63
storefront-reference-architecture/test/mocks/models/order.js
Normal file
63
storefront-reference-architecture/test/mocks/models/order.js
Normal file
@@ -0,0 +1,63 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
var AddressModel = require('./address');
|
||||
var BillingModel = require('./billing');
|
||||
var ShippingModel = require('./shipping');
|
||||
var PaymentModel = require('./payment');
|
||||
var TotalsModel = require('./totals');
|
||||
var ProductLineItemsModel = require('./productLineItems');
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/order', {
|
||||
'dw/web/URLUtils': {
|
||||
},
|
||||
'dw/order/PaymentMgr': {
|
||||
},
|
||||
'dw/util/StringUtils': {
|
||||
formatMoney: function () {
|
||||
return 'formatted money';
|
||||
}
|
||||
},
|
||||
'dw/web/Resource': {
|
||||
msg: function () {
|
||||
return 'someString';
|
||||
},
|
||||
msgf: function () {
|
||||
return 'someString';
|
||||
}
|
||||
},
|
||||
'dw/system/HookMgr': function () {},
|
||||
'*/cartridge/models/address': AddressModel,
|
||||
'*/cartridge/models/billing': BillingModel,
|
||||
'*/cartridge/models/shipping': ShippingModel,
|
||||
'*/cartridge/models/payment': PaymentModel,
|
||||
'*/cartridge/models/totals': TotalsModel,
|
||||
'*/cartridge/models/productLineItems': ProductLineItemsModel,
|
||||
'*/cartridge/scripts/checkout/shippingHelpers': {
|
||||
getShippingModels: function () {
|
||||
return [{ shippingAddress: {
|
||||
firstName: 'someString',
|
||||
lastName: null
|
||||
}
|
||||
}];
|
||||
}
|
||||
},
|
||||
'*/cartridge/scripts/checkout/checkoutHelpers': {
|
||||
isPickUpInStore: function () {
|
||||
return false;
|
||||
},
|
||||
ensureValidShipments: function () {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
'dw/util/Locale': {
|
||||
getLocale: function () {
|
||||
return 'US';
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
@@ -0,0 +1,52 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
var collections = require('../util/collections');
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/payment', {
|
||||
'*/cartridge/scripts/util/collections': collections,
|
||||
'dw/order/PaymentMgr': {
|
||||
getApplicablePaymentMethods: function () {
|
||||
return [
|
||||
{
|
||||
ID: 'GIFT_CERTIFICATE',
|
||||
name: 'Gift Certificate'
|
||||
},
|
||||
{
|
||||
ID: 'CREDIT_CARD',
|
||||
name: 'Credit Card'
|
||||
}
|
||||
];
|
||||
},
|
||||
getPaymentMethod: function () {
|
||||
return {
|
||||
getApplicablePaymentCards: function () {
|
||||
return [
|
||||
{
|
||||
cardType: 'Visa',
|
||||
name: 'Visa',
|
||||
UUID: 'some UUID'
|
||||
},
|
||||
{
|
||||
cardType: 'Amex',
|
||||
name: 'American Express',
|
||||
UUID: 'some UUID'
|
||||
},
|
||||
{
|
||||
cardType: 'Discover',
|
||||
name: 'Discover'
|
||||
}
|
||||
];
|
||||
}
|
||||
};
|
||||
},
|
||||
getApplicablePaymentCards: function () {
|
||||
return ['applicable payment cards'];
|
||||
}
|
||||
},
|
||||
'dw/order/PaymentInstrument': {}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
@@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
var collections = require('../util/collections');
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/productLineItems', {
|
||||
'*/cartridge/scripts/util/collections': collections,
|
||||
'*/cartridge/scripts/factories/product': {
|
||||
get: function () {
|
||||
return { bonusProducts: null, bonusProductLineItemUUID: null };
|
||||
}
|
||||
},
|
||||
'dw/web/URLUtils': {
|
||||
staticURL: function () {
|
||||
return '/images/noimagelarge.png';
|
||||
}
|
||||
},
|
||||
'dw/web/Resource': {
|
||||
msgf: function (param1) {
|
||||
return param1;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
@@ -0,0 +1,58 @@
|
||||
'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();
|
@@ -0,0 +1,85 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
var defaultShippingMethod =
|
||||
{
|
||||
description: 'Order received within 7-10 business days',
|
||||
displayName: 'Ground',
|
||||
ID: '001',
|
||||
custom: {
|
||||
estimatedArrivalTime: '7-10 Business Days'
|
||||
}
|
||||
};
|
||||
|
||||
function createShipmentShippingModel() {
|
||||
return {
|
||||
applicableShippingMethods: [
|
||||
{
|
||||
description: 'Order received within 7-10 business days',
|
||||
displayName: 'Ground',
|
||||
ID: '001',
|
||||
custom: {
|
||||
estimatedArrivalTime: '7-10 Business Days'
|
||||
}
|
||||
},
|
||||
{
|
||||
description: 'Order received in 2 business days',
|
||||
displayName: '2-Day Express',
|
||||
ID: '002',
|
||||
shippingCost: '$0.00',
|
||||
custom: {
|
||||
estimatedArrivalTime: '2 Business Days'
|
||||
}
|
||||
}
|
||||
],
|
||||
getApplicableShippingMethods: function () {
|
||||
return [
|
||||
{
|
||||
description: 'Order received within 7-10 business days',
|
||||
displayName: 'Ground',
|
||||
ID: '001',
|
||||
custom: {
|
||||
estimatedArrivalTime: '7-10 Business Days'
|
||||
}
|
||||
},
|
||||
{
|
||||
description: 'Order received in 2 business days',
|
||||
displayName: '2-Day Express',
|
||||
ID: '002',
|
||||
shippingCost: '$0.00',
|
||||
custom: {
|
||||
estimatedArrivalTime: '2 Business Days'
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
getShippingCost: function () {
|
||||
return {
|
||||
amount: {
|
||||
valueOrNull: 7.99
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/shipping/shippingMethod', {
|
||||
'*/cartridge/scripts/util/formatting': {
|
||||
formatCurrency: function () {
|
||||
return '$0.00';
|
||||
}
|
||||
},
|
||||
'dw/order/ShippingMgr': {
|
||||
getDefaultShippingMethod: function () {
|
||||
return defaultShippingMethod;
|
||||
},
|
||||
getShipmentShippingModel: function (shipment) {
|
||||
return createShipmentShippingModel(shipment);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
@@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/store', {});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
@@ -0,0 +1,34 @@
|
||||
'use strict';
|
||||
|
||||
var proxyquire = require('proxyquire').noCallThru().noPreserveCache();
|
||||
|
||||
var Money = require('../dw.value.Money');
|
||||
|
||||
function proxyModel() {
|
||||
return proxyquire('../../../cartridges/app_storefront_base/cartridge/models/totals', {
|
||||
'dw/util/StringUtils': {
|
||||
formatMoney: function () {
|
||||
return 'formatted money';
|
||||
}
|
||||
},
|
||||
'dw/value/Money': Money,
|
||||
'dw/util/Template': function () {
|
||||
return {
|
||||
render: function () {
|
||||
return { text: 'someString' };
|
||||
}
|
||||
};
|
||||
},
|
||||
'dw/util/HashMap': function () {
|
||||
return {
|
||||
result: {},
|
||||
put: function (key, context) {
|
||||
this.result[key] = context;
|
||||
}
|
||||
};
|
||||
},
|
||||
'*/cartridge/scripts/util/collections': require('../util/collections')
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = proxyModel();
|
Reference in New Issue
Block a user