1 4 package com.openedit.modules.cart.editor; 5 6 import java.util.Iterator ; 7 import java.util.List ; 8 9 import com.openedit.store.Category; 10 import com.openedit.store.InventoryItem; 11 import com.openedit.store.Product; 12 import com.openedit.store.StoreTestCase; 13 import com.openedit.store.edit.StoreEditor; 14 15 19 public class CatalogEditTest extends StoreTestCase 20 { 21 protected StoreEditor fieldStoreEditor; 22 23 26 public CatalogEditTest(String inArg0) 27 { 28 super(inArg0); 29 } 30 protected void setUp() throws Exception 31 { 32 Category blank = getStoreEditor().addNewCatalog( "GOODSTUFF","Some Good Stuff"); 33 assertNotNull( blank ); 34 getStoreEditor().saveCatalog( blank ); 35 } 36 37 public void testExtraInfo() throws Exception 38 { 39 Category catalog = getStoreEditor().getCatalog("GOODSTUFF"); 40 catalog.setDescription("This is a long description"); 41 catalog.setProperty("includequickship",true); 42 String name = "/images/small.jpg"; 43 catalog.setProperty("image1small",name); 44 catalog.setProperty("image1big","/images/small.jpg"); 45 catalog.setProperty("otherdownload","/pdfs/other.pdf"); 46 getStoreEditor().saveCatalog(catalog); 47 getStoreEditor().clearCatalogs(); 48 getStoreEditor().reloadCatalogs(); 49 catalog = getStoreEditor().getCatalog("GOODSTUFF"); 50 String image1 = catalog.getProperty("image1small"); 51 assertNotNull(image1); 52 assertEquals(name,image1); 53 String includeQuickShip = catalog.getProperty("includequickship"); 54 assertNotNull(includeQuickShip); 55 assertEquals("true", includeQuickShip); 56 } 57 58 public void testDeleteCatalog() throws Exception 59 { 60 Category catalog = getStoreEditor().getCatalog("GOODSTUFF"); 61 assertNotNull( catalog ); 62 getStoreEditor().deleteCatalog( catalog); 63 getStoreEditor().getStore().clear(); 64 65 Category deletedcatalog = getStoreEditor().getCatalog("GOODSTUFF"); 66 assertNull( deletedcatalog ); 67 getStoreEditor().saveCatalog(catalog); 68 } 69 70 public void testListCatalogs() throws Exception 71 { 72 Category catalog = getStoreEditor().getRootCatalog(); 73 assertNotNull( catalog ); 74 assertTrue( catalog.getChildren().size() > 0 ); 75 } 76 77 public void testAddAndDeleteProduct() throws Exception 78 { 79 Product product = getStoreEditor().createProduct(); 80 product.setId("1234"); 81 product.setName("Test product"); 82 product.setDescription("Blank"); 83 84 Category catalog = getStoreEditor().getCatalog( "GOODSTUFF" ); 86 product.addCatalog( catalog ); 87 getStoreEditor().saveProduct( product ); 88 getStoreEditor().clearCatalogs(); 89 90 product = findProductById(catalog,"1234"); 92 assertNotNull(product); 93 94 getStoreEditor().deleteProduct( product ); 95 getStoreEditor().clearCatalogs(); 96 97 product = findProductById(catalog,"1234"); 98 assertNull(product); 99 100 } 101 public void testEditProduct() throws Exception 102 { 103 final String PRODUCT_NAME = "Closed Back Swivel\u2122"; Product product = getStoreEditor().createProduct(); 105 product.setId("1234"); 106 product.setName(PRODUCT_NAME); 107 108 product.setDescription("Test description"); 109 110 getStoreEditor().saveProduct( product ); 111 getStoreEditor().getStore().clearProducts(); 112 product = getStoreEditor().getProduct("1234"); 113 assertNotNull( product ); 114 assertEquals( PRODUCT_NAME, product.getName() ); 115 116 getStoreEditor().deleteProduct( product ); 117 119 } 120 121 public void testEditItem() throws Exception 122 { 123 Product product = getStoreEditor().createProduct(); 124 product.setId("1234"); 125 product.setName("Test product"); 126 product.setDescription("Blank"); 127 128 InventoryItem item = getStoreEditor().createItem( ); 130 item.put("depth","42"); 131 final String DESCRIPTION = "red 23\" high back"; 132 item.setDescription(DESCRIPTION); 133 product.clearItems(); 134 product.addInventoryItem(item); 135 136 getStoreEditor().saveProduct( product ); 137 product = getStoreEditor().getProduct("1234"); 138 assertNotNull( product ); 139 item = product.getInventoryItem(0); 140 assertEquals( DESCRIPTION, item.getDescription() ); 141 assertEquals( "42", item.get("depth")); 142 getStoreEditor().deleteProduct( product ); 143 144 } 145 public StoreEditor getStoreEditor() throws Exception 146 { 147 if ( fieldStoreEditor == null) 148 { 149 fieldStoreEditor = new StoreEditor(); 150 fieldStoreEditor.setStore(getStore()); 151 fieldStoreEditor.setPageManager(getFixture().getPageManager()); 152 } 153 return fieldStoreEditor; 154 } 155 156 public void testAddAffixesToProducts() throws Exception 157 { 158 StoreEditor editor = getStoreEditor(); 159 Category catalog = editor.addNewCatalog( "AFFIXME","Add Some Affixes"); 160 editor.saveCatalog( catalog ); 161 editor.setCurrentCatalog( catalog ); 162 Product product = editor.createProduct(); 163 product.setId("0000"); 164 product.setName("Test Product"); 165 product.addCatalog(catalog); 166 product.setDescription("Blank"); 167 editor.saveProduct(product); 168 editor.saveCatalog( catalog ); 169 editor.addProductAffixes(catalog, "PRE", "SUF"); 170 product = editor.getProduct("0000"); 171 assertNotNull(product); 172 assertEquals(product.getCatalogs().size(), 1); Product product2 = editor.getProduct("PRE0000SUF"); 174 assertNotNull(product2); 175 assertEquals(product2.getName(), "Test Product"); assertEquals(product2.getCatalogs().size(), 1); editor.deleteProduct(product); 178 editor.deleteProduct(product2); 179 editor.deleteCatalog(catalog); 181 editor.getStore().clear(); 182 editor.reloadCatalogs(); 183 } 184 185 public void testAddAndEditProduct() throws Exception 186 { 187 Product product = getStoreEditor().createProduct(); 188 String newId = "junk" + System.currentTimeMillis(); 189 product.setId(newId); product.setName("Test product"); 191 product.setDescription("Blank"); 192 193 Category catalog = getStoreEditor().getCatalog( "GOODSTUFF" ); 195 product.addCatalog( catalog ); 196 getStoreEditor().saveProduct( product ); 197 200 Product foundproduct = findProductById(catalog,newId); 201 202 assertNotNull(foundproduct); 204 String name = "New Name" + System.currentTimeMillis(); 205 foundproduct.setName(name); 206 getStoreEditor().saveProduct(foundproduct); 207 List products = getStore().getProductsInCatalog( catalog ); 208 int productsFound = 0; 209 for (Iterator iter = products.iterator(); iter.hasNext();) 210 { 211 Product element = (Product) iter.next(); 212 if ( element.getName().equals(name)) 213 { 214 productsFound++; 215 } 216 } 217 assertEquals( "Number of products with the right name in the catalog", 218 1, productsFound ); 219 } 220 221 private Product findProductById(Category inCatalog, String inId) throws Exception 222 { 223 List products = getStore().getProductsInCatalog( inCatalog ); 224 assertNotNull(products); 225 226 for (Iterator iter = products.iterator(); iter.hasNext();) 227 { 228 Product element = (Product) iter.next(); 229 if ( element.getId().equals(inId)) 230 { 231 return element; 232 } 233 } 234 return null; 235 } 236 237 public void testRemoveFromCatalog() throws Exception 238 { 239 Product product = getStore().getProduct("1"); 240 Category good = getStore().getCatalog("GOODSTUFF"); 241 product.addCatalog(good); 242 getStore().saveProduct(product); 243 244 product = findProductById(good,"1"); 245 247 StoreEditor editor = getStoreEditor(); 248 editor.removeProductFromCatalog(good,new String []{"1"}); 249 250 assertNull( findProductById(good,"1") ); 251 252 } 253 254 } 255 | Popular Tags |