use of org.broadleafcommerce.core.offer.service.discount.domain.PromotableItemFactoryImpl in project BroadleafCommerce by BroadleafCommerce.
the class CandidateItemOfferTest method setUp.
@Override
protected void setUp() throws Exception {
OfferDataItemProvider dataProvider = new OfferDataItemProvider();
CandidateItemOfferImpl candidate = new CandidateItemOfferImpl();
Category category1 = new CategoryImpl();
category1.setName("test1");
category1.setId(1L);
Product product1 = new ProductImpl();
Sku sku1 = new SkuImpl();
sku1.setName("test1");
sku1.setDiscountable(true);
sku1.setRetailPrice(new Money(19.99D));
product1.setDefaultSku(sku1);
CategoryProductXref xref1 = new CategoryProductXrefImpl();
xref1.setProduct(product1);
xref1.setCategory(category1);
category1.getAllProductXrefs().add(xref1);
Category category2 = new CategoryImpl();
category2.setName("test2");
category2.setId(2L);
Product product2 = new ProductImpl();
Sku sku2 = new SkuImpl();
sku2.setName("test2");
sku2.setDiscountable(true);
sku2.setRetailPrice(new Money(29.99D));
product2.setDefaultSku(sku2);
CategoryProductXref xref2 = new CategoryProductXrefImpl();
xref2.setProduct(product2);
xref2.setCategory(category2);
category2.getAllProductXrefs().add(xref2);
DiscreteOrderItemImpl orderItem1 = new DiscreteOrderItemImpl();
orderItem1.setCategory(category1);
orderItem1.setName("test1");
orderItem1.setOrderItemType(OrderItemType.DISCRETE);
orderItem1.setProduct(product1);
orderItem1.setQuantity(2);
orderItem1.setSku(sku1);
Order order = new OrderImpl();
orderItem1.setOrder(order);
promotableOrder = new PromotableOrderImpl(order, new PromotableItemFactoryImpl(), false);
offer = dataProvider.createItemBasedOfferWithItemCriteria("order.subTotal.getAmount()>20", OfferDiscountType.PERCENT_OFF, "([MVEL.eval(\"toUpperCase()\",\"test1\"), MVEL.eval(\"toUpperCase()\",\"test2\")] contains MVEL.eval(\"toUpperCase()\", discreteOrderItem.category.name))", "([MVEL.eval(\"toUpperCase()\",\"test1\"), MVEL.eval(\"toUpperCase()\",\"test2\")] contains MVEL.eval(\"toUpperCase()\", discreteOrderItem.category.name))").get(0);
candidateOffer = new PromotableCandidateItemOfferImpl(promotableOrder, offer);
promotableOrderItem = new PromotableOrderItemImpl(orderItem1, null, new PromotableItemFactoryImpl(), false);
OrderItemPriceDetail pdetail = new OrderItemPriceDetailImpl();
pdetail.setOrderItem(orderItem1);
pdetail.setQuantity(2);
priceDetail = new PromotableOrderItemPriceDetailImpl(promotableOrderItem, 2);
List<PromotableOrderItem> items = new ArrayList<PromotableOrderItem>();
items.add(promotableOrderItem);
promotableCandidate = new PromotableCandidateItemOfferImpl(promotableOrder, offer);
OfferTargetCriteriaXref xref = offer.getTargetItemCriteriaXref().iterator().next();
promotableCandidate.getCandidateTargetsMap().put(xref.getOfferItemCriteria(), items);
}
use of org.broadleafcommerce.core.offer.service.discount.domain.PromotableItemFactoryImpl in project BroadleafCommerce by BroadleafCommerce.
the class OfferServiceTest method setUp.
@Override
protected void setUp() throws Exception {
offerService = new OfferServiceImpl() {
@Override
protected List<OfferCode> refreshOfferCodesIfApplicable(Order order) {
return order.getAddedOfferCodes();
}
};
customerOfferDaoMock = EasyMock.createMock(CustomerOfferDao.class);
orderServiceMock = EasyMock.createMock(OrderService.class);
offerCodeDaoMock = EasyMock.createMock(OfferCodeDao.class);
offerDaoMock = EasyMock.createMock(OfferDao.class);
orderItemDaoMock = EasyMock.createMock(OrderItemDao.class);
offerService.setCustomerOfferDao(customerOfferDaoMock);
offerService.setOfferCodeDao(offerCodeDaoMock);
offerService.setOfferDao(offerDaoMock);
offerService.setOrderService(orderServiceMock);
orderItemServiceMock = EasyMock.createMock(OrderItemService.class);
fgItemDaoMock = EasyMock.createMock(FulfillmentGroupItemDao.class);
fgServiceMock = EasyMock.createMock(FulfillmentGroupService.class);
multishipOptionServiceMock = EasyMock.createMock(OrderMultishipOptionService.class);
offerTimeZoneProcessorMock = EasyMock.createMock(OfferTimeZoneProcessor.class);
OfferServiceUtilitiesImpl offerServiceUtilities = new OfferServiceUtilitiesImpl();
offerServiceUtilities.setOfferDao(offerDaoMock);
offerServiceUtilities.setPromotableItemFactory(new PromotableItemFactoryImpl());
OrderOfferProcessorImpl orderProcessor = new OrderOfferProcessorImpl();
orderProcessor.setOfferDao(offerDaoMock);
orderProcessor.setOrderItemDao(orderItemDaoMock);
orderProcessor.setPromotableItemFactory(new PromotableItemFactoryImpl());
orderProcessor.setOfferTimeZoneProcessor(offerTimeZoneProcessorMock);
orderProcessor.setOfferServiceUtilities(offerServiceUtilities);
offerService.setOrderOfferProcessor(orderProcessor);
ItemOfferProcessorImpl itemProcessor = new ItemOfferProcessorImpl();
itemProcessor.setOfferDao(offerDaoMock);
itemProcessor.setPromotableItemFactory(new PromotableItemFactoryImpl());
itemProcessor.setOfferServiceUtilities(offerServiceUtilities);
offerService.setItemOfferProcessor(itemProcessor);
FulfillmentGroupOfferProcessor fgProcessor = new FulfillmentGroupOfferProcessorImpl();
fgProcessor.setOfferDao(offerDaoMock);
fgProcessor.setPromotableItemFactory(new PromotableItemFactoryImpl());
offerService.setFulfillmentGroupOfferProcessor(fgProcessor);
offerService.setPromotableItemFactory(new PromotableItemFactoryImpl());
}
use of org.broadleafcommerce.core.offer.service.discount.domain.PromotableItemFactoryImpl in project BroadleafCommerce by BroadleafCommerce.
the class ItemOfferProcessorTest method setUp.
@Override
protected void setUp() throws Exception {
CustomerOfferDao customerOfferDaoMock = EasyMock.createMock(CustomerOfferDao.class);
OfferCodeDao offerCodeDaoMock = EasyMock.createMock(OfferCodeDao.class);
offerDaoMock = EasyMock.createMock(OfferDao.class);
orderItemDaoMock = EasyMock.createMock(OrderItemDao.class);
orderServiceMock = EasyMock.createMock(OrderService.class);
orderItemServiceMock = EasyMock.createMock(OrderItemService.class);
fgItemDaoMock = EasyMock.createMock(FulfillmentGroupItemDao.class);
fgServiceMock = EasyMock.createMock(FulfillmentGroupService.class);
multishipOptionServiceMock = EasyMock.createMock(OrderMultishipOptionService.class);
offerTimeZoneProcessorMock = EasyMock.createMock(OfferTimeZoneProcessor.class);
OfferServiceUtilitiesImpl offerServiceUtilities = new OfferServiceUtilitiesImpl();
offerServiceUtilities.setOfferDao(offerDaoMock);
offerServiceUtilities.setPromotableItemFactory(new PromotableItemFactoryImpl());
itemProcessor = new ItemOfferProcessorImpl();
itemProcessor.setOfferDao(offerDaoMock);
itemProcessor.setOrderItemDao(orderItemDaoMock);
itemProcessor.setOfferTimeZoneProcessor(offerTimeZoneProcessorMock);
itemProcessor.setPromotableItemFactory(new PromotableItemFactoryImpl());
itemProcessor.setOfferServiceUtilities(offerServiceUtilities);
offerService = new OfferServiceImpl();
OrderOfferProcessorImpl orderProcessor = new OrderOfferProcessorImpl();
orderProcessor.setOfferDao(offerDaoMock);
orderProcessor.setPromotableItemFactory(new PromotableItemFactoryImpl());
orderProcessor.setOfferTimeZoneProcessor(offerTimeZoneProcessorMock);
orderProcessor.setOrderItemDao(orderItemDaoMock);
orderProcessor.setOfferServiceUtilities(offerServiceUtilities);
offerService.setCustomerOfferDao(customerOfferDaoMock);
offerService.setOfferCodeDao(offerCodeDaoMock);
offerService.setOfferDao(offerDaoMock);
offerService.setOrderOfferProcessor(orderProcessor);
offerService.setItemOfferProcessor(itemProcessor);
offerService.setPromotableItemFactory(new PromotableItemFactoryImpl());
offerService.setOrderService(orderServiceMock);
}
use of org.broadleafcommerce.core.offer.service.discount.domain.PromotableItemFactoryImpl in project BroadleafCommerce by BroadleafCommerce.
the class OrderOfferProcessorTest method setUp.
@Override
protected void setUp() throws Exception {
offerDaoMock = EasyMock.createMock(OfferDao.class);
offerTimeZoneProcessorMock = EasyMock.createMock(OfferTimeZoneProcessor.class);
orderProcessor = new OrderOfferProcessorImpl();
orderProcessor.setOfferDao(offerDaoMock);
orderProcessor.setOfferTimeZoneProcessor(offerTimeZoneProcessorMock);
orderProcessor.setPromotableItemFactory(new PromotableItemFactoryImpl());
}
use of org.broadleafcommerce.core.offer.service.discount.domain.PromotableItemFactoryImpl in project BroadleafCommerce by BroadleafCommerce.
the class OfferDataItemProvider method createBasicPromotableOrder.
public PromotableOrder createBasicPromotableOrder() {
Order order = createBasicOrder();
PromotableOrder promotableOrder = new PromotableOrderImpl(order, new PromotableItemFactoryImpl(), false);
return promotableOrder;
}
Aggregations