Search in sources :

Example 11 with CategoryImpl

use of org.broadleafcommerce.core.catalog.domain.CategoryImpl in project BroadleafCommerce by BroadleafCommerce.

the class CategorySiteMapGeneratorTest method testCategorySiteMapGenerator.

@Test
public void testCategorySiteMapGenerator() throws SiteMapException, IOException {
    Category c1 = new CategoryImpl();
    c1.setUrl("/");
    c1.setId(1l);
    Category c2 = new CategoryImpl();
    c2.setUrl("/hot-sauces");
    c2.setId(2l);
    CategoryMediaXref cmXref1 = new CategoryMediaXrefImpl();
    Media m1 = new MediaImpl();
    m1.setUrl("/img/hot-sauce-img1.png");
    cmXref1.setCategory(c2);
    cmXref1.setMedia(m1);
    c2.getCategoryMediaXref().put("image1", cmXref1);
    CategoryMediaXref cmXref2 = new CategoryMediaXrefImpl();
    Media m2 = new MediaImpl();
    m2.setUrl("/img/hot-sauce-img2.png");
    cmXref2.setCategory(c2);
    cmXref2.setMedia(m2);
    c2.getCategoryMediaXref().put("image2", cmXref2);
    Category c3 = new CategoryImpl();
    c3.setUrl("merchandise");
    c3.setId(3l);
    Category c4 = new CategoryImpl();
    c4.setUrl("/clearance");
    c4.setId(4l);
    Category c5 = new CategoryImpl();
    c5.setUrl("/mens");
    c5.setId(5l);
    Category c6 = new CategoryImpl();
    c6.setUrl("/womens");
    c6.setId(6l);
    List<Category> merchandiseSubcategories = new ArrayList<Category>();
    merchandiseSubcategories.add(c5);
    merchandiseSubcategories.add(c6);
    CategoryDao categoryDao = EasyMock.createMock(CategoryDao.class);
    EasyMock.expect(categoryDao.readActiveSubCategoriesByCategory(c1, 5, 0)).andReturn(new ArrayList<Category>()).atLeastOnce();
    EasyMock.expect(categoryDao.readCategoryById(c1.getId())).andReturn(c1).atLeastOnce();
    EasyMock.expect(categoryDao.readActiveSubCategoriesByCategory(c2, 5, 0)).andReturn(new ArrayList<Category>()).atLeastOnce();
    EasyMock.expect(categoryDao.readCategoryById(c2.getId())).andReturn(c2).atLeastOnce();
    EasyMock.expect(categoryDao.readActiveSubCategoriesByCategory(c3, 5, 0)).andReturn(merchandiseSubcategories).atLeastOnce();
    EasyMock.expect(categoryDao.readCategoryById(c3.getId())).andReturn(c3).atLeastOnce();
    EasyMock.expect(categoryDao.readActiveSubCategoriesByCategory(c4, 5, 0)).andReturn(new ArrayList<Category>()).atLeastOnce();
    EasyMock.expect(categoryDao.readCategoryById(c4.getId())).andReturn(c4).atLeastOnce();
    EasyMock.expect(categoryDao.readActiveSubCategoriesByCategory(c5, 5, 0)).andReturn(new ArrayList<Category>()).atLeastOnce();
    EasyMock.expect(categoryDao.readCategoryById(c5.getId())).andReturn(c5).atLeastOnce();
    EasyMock.expect(categoryDao.readActiveSubCategoriesByCategory(c6, 5, 0)).andReturn(new ArrayList<Category>()).atLeastOnce();
    EasyMock.expect(categoryDao.readCategoryById(c6.getId())).andReturn(c6).atLeastOnce();
    // Initialize the mocks
    EasyMock.replay(categoryDao);
    CategorySiteMapGenerator csmg = new CategorySiteMapGenerator(new MockEnvironment());
    csmg.setCategoryDao(categoryDao);
    csmg.setRowLimit(5);
    List<SiteMapGeneratorConfiguration> smgcList = new ArrayList<SiteMapGeneratorConfiguration>();
    CategorySiteMapGeneratorConfiguration c1CSMGC = new CategorySiteMapGeneratorConfigurationImpl();
    c1CSMGC.setDisabled(false);
    c1CSMGC.setSiteMapGeneratorType(SiteMapGeneratorType.CATEGORY);
    c1CSMGC.setSiteMapChangeFreq(SiteMapChangeFreqType.HOURLY);
    c1CSMGC.setSiteMapPriority(SiteMapPriorityType.POINT5);
    c1CSMGC.setRootCategory(c1);
    c1CSMGC.setStartingDepth(0);
    c1CSMGC.setEndingDepth(1);
    smgcList.add(c1CSMGC);
    CategorySiteMapGeneratorConfiguration c2CSMGC = new CategorySiteMapGeneratorConfigurationImpl();
    c2CSMGC.setDisabled(false);
    c2CSMGC.setSiteMapGeneratorType(SiteMapGeneratorType.CATEGORY);
    c2CSMGC.setSiteMapChangeFreq(SiteMapChangeFreqType.HOURLY);
    c2CSMGC.setSiteMapPriority(SiteMapPriorityType.POINT5);
    c2CSMGC.setRootCategory(c2);
    c2CSMGC.setStartingDepth(0);
    c2CSMGC.setEndingDepth(1);
    smgcList.add(c2CSMGC);
    CategorySiteMapGeneratorConfiguration c3CSMGC = new CategorySiteMapGeneratorConfigurationImpl();
    c3CSMGC.setDisabled(false);
    c3CSMGC.setSiteMapGeneratorType(SiteMapGeneratorType.CATEGORY);
    c3CSMGC.setSiteMapChangeFreq(SiteMapChangeFreqType.HOURLY);
    c3CSMGC.setSiteMapPriority(SiteMapPriorityType.POINT5);
    c3CSMGC.setRootCategory(c3);
    c3CSMGC.setStartingDepth(0);
    c3CSMGC.setEndingDepth(1);
    smgcList.add(c3CSMGC);
    CategorySiteMapGeneratorConfiguration c4CSMGC = new CategorySiteMapGeneratorConfigurationImpl();
    c4CSMGC.setDisabled(false);
    c4CSMGC.setSiteMapGeneratorType(SiteMapGeneratorType.CATEGORY);
    c4CSMGC.setSiteMapChangeFreq(SiteMapChangeFreqType.HOURLY);
    c4CSMGC.setSiteMapPriority(SiteMapPriorityType.POINT5);
    c4CSMGC.setRootCategory(c4);
    c4CSMGC.setStartingDepth(0);
    c4CSMGC.setEndingDepth(1);
    smgcList.add(c4CSMGC);
    testGenerator(smgcList, csmg, 2);
    File file1 = fileService.getResource("/sitemap_index.xml");
    File file2 = fileService.getResource("/sitemap1.xml");
    File file3 = fileService.getResource("/sitemap2.xml");
    File file4 = fileService.getResource("/sitemap3.xml");
    compareFiles(file1, "src/test/resources/org/broadleafcommerce/sitemap/category/sitemap_index.xml");
    compareFiles(file2, "src/test/resources/org/broadleafcommerce/sitemap/category/sitemap1.xml");
    compareFiles(file3, "src/test/resources/org/broadleafcommerce/sitemap/category/sitemap2.xml");
    compareFiles(file4, "src/test/resources/org/broadleafcommerce/sitemap/category/sitemap3.xml");
    testGenerator(smgcList, csmg, 50000);
    File file5 = fileService.getResource("/sitemap.xml");
    compareFiles(file5, "src/test/resources/org/broadleafcommerce/sitemap/category/sitemap.xml");
}
Also used : CategorySiteMapGeneratorConfigurationImpl(org.broadleafcommerce.core.catalog.domain.CategorySiteMapGeneratorConfigurationImpl) Category(org.broadleafcommerce.core.catalog.domain.Category) MediaImpl(org.broadleafcommerce.common.media.domain.MediaImpl) CategoryDao(org.broadleafcommerce.core.catalog.dao.CategoryDao) Media(org.broadleafcommerce.common.media.domain.Media) ArrayList(java.util.ArrayList) CategoryMediaXrefImpl(org.broadleafcommerce.core.catalog.domain.CategoryMediaXrefImpl) CategoryImpl(org.broadleafcommerce.core.catalog.domain.CategoryImpl) MockEnvironment(org.springframework.mock.env.MockEnvironment) CategoryMediaXref(org.broadleafcommerce.core.catalog.domain.CategoryMediaXref) SiteMapGeneratorConfiguration(org.broadleafcommerce.common.sitemap.domain.SiteMapGeneratorConfiguration) CategorySiteMapGeneratorConfiguration(org.broadleafcommerce.core.catalog.domain.CategorySiteMapGeneratorConfiguration) File(java.io.File) CategorySiteMapGeneratorConfiguration(org.broadleafcommerce.core.catalog.domain.CategorySiteMapGeneratorConfiguration) Test(org.junit.Test) SiteMapGeneratorTest(org.broadleafcommerce.common.sitemap.service.SiteMapGeneratorTest)

Aggregations

CategoryImpl (org.broadleafcommerce.core.catalog.domain.CategoryImpl)11 Category (org.broadleafcommerce.core.catalog.domain.Category)9 Money (org.broadleafcommerce.common.money.Money)7 Product (org.broadleafcommerce.core.catalog.domain.Product)7 ProductImpl (org.broadleafcommerce.core.catalog.domain.ProductImpl)7 CategoryProductXref (org.broadleafcommerce.core.catalog.domain.CategoryProductXref)6 CategoryProductXrefImpl (org.broadleafcommerce.core.catalog.domain.CategoryProductXrefImpl)6 Sku (org.broadleafcommerce.core.catalog.domain.Sku)6 SkuImpl (org.broadleafcommerce.core.catalog.domain.SkuImpl)6 ArrayList (java.util.ArrayList)5 DiscreteOrderItemImpl (org.broadleafcommerce.core.order.domain.DiscreteOrderItemImpl)5 OrderImpl (org.broadleafcommerce.core.order.domain.OrderImpl)5 Calendar (java.util.Calendar)3 PromotableOrder (org.broadleafcommerce.core.offer.service.discount.domain.PromotableOrder)3 PromotableOrderImpl (org.broadleafcommerce.core.offer.service.discount.domain.PromotableOrderImpl)3 Order (org.broadleafcommerce.core.order.domain.Order)3 OrderItemPriceDetail (org.broadleafcommerce.core.order.domain.OrderItemPriceDetail)3 OrderItemPriceDetailImpl (org.broadleafcommerce.core.order.domain.OrderItemPriceDetailImpl)3 HashMap (java.util.HashMap)2 ISOCountry (org.broadleafcommerce.common.i18n.domain.ISOCountry)2