Search in sources :

Example 6 with Category

use of com.salesmanager.shop.model.catalog.category.Category in project shopizer by shopizer-ecommerce.

the class ProductManagementAPIIntegrationTest method createProductWithCategory.

@Test
public void createProductWithCategory() throws Exception {
    final PersistableCategory newCategory = new PersistableCategory();
    newCategory.setCode("test-cat");
    newCategory.setSortOrder(1);
    newCategory.setVisible(true);
    newCategory.setDepth(4);
    final Category parent = new Category();
    newCategory.setParent(parent);
    final CategoryDescription description = new CategoryDescription();
    description.setLanguage("en");
    description.setName("test-cat");
    description.setFriendlyUrl("test-cat");
    description.setTitle("test-cat");
    final List<CategoryDescription> descriptions = new ArrayList<>();
    descriptions.add(description);
    newCategory.setDescriptions(descriptions);
    final HttpEntity<PersistableCategory> categoryEntity = new HttpEntity<>(newCategory, getHeader());
    final ResponseEntity<PersistableCategory> categoryResponse = testRestTemplate.postForEntity("/api/v1/private/category?store=" + Constants.DEFAULT_STORE, categoryEntity, PersistableCategory.class);
    final PersistableCategory cat = categoryResponse.getBody();
    assertThat(categoryResponse.getStatusCode(), is(CREATED));
    assertNotNull(cat.getId());
    final PersistableProduct product = new PersistableProduct();
    final ArrayList<Category> categories = new ArrayList<>();
    categories.add(cat);
    product.setCategories(categories);
    ProductSpecification specifications = new ProductSpecification();
    specifications.setManufacturer(com.salesmanager.core.model.catalog.product.manufacturer.Manufacturer.DEFAULT_MANUFACTURER);
    product.setProductSpecifications(specifications);
    product.setPrice(BigDecimal.TEN);
    product.setSku("123");
    final HttpEntity<PersistableProduct> entity = new HttpEntity<>(product, getHeader());
    final ResponseEntity<PersistableProduct> response = testRestTemplate.postForEntity("/api/v1/private/product?store=" + Constants.DEFAULT_STORE, entity, PersistableProduct.class);
    assertThat(response.getStatusCode(), is(CREATED));
}
Also used : PersistableCategory(com.salesmanager.shop.model.catalog.category.PersistableCategory) PersistableCategory(com.salesmanager.shop.model.catalog.category.PersistableCategory) Category(com.salesmanager.shop.model.catalog.category.Category) HttpEntity(org.springframework.http.HttpEntity) ArrayList(java.util.ArrayList) ProductSpecification(com.salesmanager.shop.model.catalog.product.ProductSpecification) PersistableProduct(com.salesmanager.shop.model.catalog.product.PersistableProduct) CategoryDescription(com.salesmanager.shop.model.catalog.category.CategoryDescription) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 7 with Category

use of com.salesmanager.shop.model.catalog.category.Category in project shopizer by shopizer-ecommerce.

the class ProductV2ManagementAPIIntegrationTest method createProductWithCategory.

@Test
public void createProductWithCategory() throws Exception {
    /**
     * Create a category for product association
     */
    final PersistableCategory newCategory = new PersistableCategory();
    newCategory.setCode("test-catv2");
    newCategory.setSortOrder(1);
    newCategory.setVisible(true);
    newCategory.setDepth(4);
    final Category parent = new Category();
    newCategory.setParent(parent);
    final CategoryDescription description = new CategoryDescription();
    description.setLanguage("en");
    description.setName("test-catv2");
    description.setFriendlyUrl("test-catv2");
    description.setTitle("test-catv2");
    final List<CategoryDescription> descriptions = new ArrayList<>();
    descriptions.add(description);
    newCategory.setDescriptions(descriptions);
    final HttpEntity<PersistableCategory> categoryEntity = new HttpEntity<>(newCategory, getHeader());
    final ResponseEntity<PersistableCategory> categoryResponse = testRestTemplate.postForEntity("/api/v1/private/category?store=" + Constants.DEFAULT_STORE, categoryEntity, PersistableCategory.class);
    final PersistableCategory cat = categoryResponse.getBody();
    assertTrue(categoryResponse.getStatusCode() == CREATED);
    assertNotNull(cat.getId());
    final PersistableProduct product = new PersistableProduct();
    final ArrayList<Category> categories = new ArrayList<>();
    categories.add(cat);
    product.setCategories(categories);
    ProductSpecification specifications = new ProductSpecification();
    specifications.setManufacturer(com.salesmanager.core.model.catalog.product.manufacturer.Manufacturer.DEFAULT_MANUFACTURER);
    product.setProductSpecifications(specifications);
    product.setPrice(BigDecimal.TEN);
    product.setSku("123");
    final HttpEntity<PersistableProduct> entity = new HttpEntity<>(product, getHeader());
    final ResponseEntity<PersistableProduct> response = testRestTemplate.postForEntity("/api/v2/private/product/definition?store=" + Constants.DEFAULT_STORE, entity, PersistableProduct.class);
    assertTrue(response.getStatusCode() == CREATED);
    // create options
    PersistableProductOption color = new PersistableProductOption();
    color.setCode("color");
    ProductOptionDescription colorEn = new ProductOptionDescription();
    colorEn.setName("Color");
    colorEn.setLanguage("en");
    color.getDescriptions().add(colorEn);
    final HttpEntity<PersistableProductOption> colorEntity = new HttpEntity<>(color, getHeader());
    final ResponseEntity<PersistableProductOption> colorResponse = testRestTemplate.postForEntity("/api/v1/private/product/option?store=" + Constants.DEFAULT_STORE, colorEntity, PersistableProductOption.class);
    assertTrue(colorResponse.getStatusCode() == CREATED);
    System.out.println(colorResponse.getBody().getId());
    PersistableProductOption size = new PersistableProductOption();
    size.setCode("size");
    ProductOptionDescription sizeEn = new ProductOptionDescription();
    sizeEn.setName("Size");
    sizeEn.setLanguage("en");
    size.getDescriptions().add(sizeEn);
    final HttpEntity<PersistableProductOption> sizeEntity = new HttpEntity<>(size, getHeader());
    final ResponseEntity<PersistableProductOption> sizeResponse = testRestTemplate.postForEntity("/api/v1/private/product/option?store=" + Constants.DEFAULT_STORE, sizeEntity, PersistableProductOption.class);
    assertTrue(sizeResponse.getStatusCode() == CREATED);
    System.out.println(colorResponse.getBody().getId());
    // opions values
    PersistableProductOptionValue white = new PersistableProductOptionValue();
    white.setCode("white");
    ProductOptionValueDescription whiteEn = new ProductOptionValueDescription();
    whiteEn.setName("White");
    whiteEn.setLanguage("en");
    white.getDescriptions().add(whiteEn);
    final HttpEntity<PersistableProductOptionValue> whiteEntity = new HttpEntity<>(white, getHeader());
    final ResponseEntity<PersistableProductOptionValue> whiteResponse = testRestTemplate.postForEntity("/api/v1/private/product/option?store=" + Constants.DEFAULT_STORE, whiteEntity, PersistableProductOptionValue.class);
    assertTrue(whiteResponse.getStatusCode() == CREATED);
    System.out.println(whiteResponse.getBody().getId());
    PersistableProductOptionValue medium = new PersistableProductOptionValue();
    medium.setCode("medium");
    ProductOptionValueDescription mediumEn = new ProductOptionValueDescription();
    mediumEn.setName("Medium");
    mediumEn.setLanguage("en");
    white.getDescriptions().add(mediumEn);
    // create variants - todo
    PersistableProductVariation whiteVariant = new PersistableProductVariation();
    // - todo
    PersistableProductVariation mediumVariant = new PersistableProductVariation();
// toto
// create instances
}
Also used : PersistableCategory(com.salesmanager.shop.model.catalog.category.PersistableCategory) PersistableProductOptionValue(com.salesmanager.shop.model.catalog.product.attribute.PersistableProductOptionValue) PersistableCategory(com.salesmanager.shop.model.catalog.category.PersistableCategory) Category(com.salesmanager.shop.model.catalog.category.Category) HttpEntity(org.springframework.http.HttpEntity) ArrayList(java.util.ArrayList) PersistableProductVariation(com.salesmanager.shop.model.catalog.product.variation.PersistableProductVariation) ProductSpecification(com.salesmanager.shop.model.catalog.product.ProductSpecification) ProductOptionDescription(com.salesmanager.shop.model.catalog.product.attribute.ProductOptionDescription) PersistableProduct(com.salesmanager.shop.model.catalog.product.PersistableProduct) PersistableProductOption(com.salesmanager.shop.model.catalog.product.attribute.PersistableProductOption) CategoryDescription(com.salesmanager.shop.model.catalog.category.CategoryDescription) ProductOptionValueDescription(com.salesmanager.shop.model.catalog.product.attribute.ProductOptionValueDescription) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

Category (com.salesmanager.shop.model.catalog.category.Category)7 PersistableCategory (com.salesmanager.shop.model.catalog.category.PersistableCategory)7 ArrayList (java.util.ArrayList)7 HttpEntity (org.springframework.http.HttpEntity)7 Test (org.junit.Test)6 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)6 CategoryDescription (com.salesmanager.shop.model.catalog.category.CategoryDescription)5 PersistableProduct (com.salesmanager.shop.model.catalog.product.PersistableProduct)5 ProductSpecification (com.salesmanager.shop.model.catalog.product.ProductSpecification)5 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)4 ObjectWriter (com.fasterxml.jackson.databind.ObjectWriter)4 ResponseEntity (org.springframework.http.ResponseEntity)4 ReadableCategory (com.salesmanager.shop.model.catalog.category.ReadableCategory)3 ReadableCategoryList (com.salesmanager.shop.model.catalog.category.ReadableCategoryList)2 ProductDescription (com.salesmanager.shop.model.catalog.product.ProductDescription)2 Manufacturer (com.salesmanager.shop.model.catalog.manufacturer.Manufacturer)1 PersistableManufacturer (com.salesmanager.shop.model.catalog.manufacturer.PersistableManufacturer)1 ReadableManufacturer (com.salesmanager.shop.model.catalog.manufacturer.ReadableManufacturer)1 PersistableProductPrice (com.salesmanager.shop.model.catalog.product.PersistableProductPrice)1 ReadableProduct (com.salesmanager.shop.model.catalog.product.ReadableProduct)1