KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > modules > cart > editor > CatalogEditTest


1 /*
2  * Created on Nov 17, 2004
3  */

4 package com.openedit.modules.cart.editor;
5
6 import java.util.Iterator JavaDoc;
7 import java.util.List JavaDoc;
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 /**
16  * @author cburkey
17  *
18  */

19 public class CatalogEditTest extends StoreTestCase
20 {
21     protected StoreEditor fieldStoreEditor;
22     
23     /**
24      * @param inArg0
25      */

26     public CatalogEditTest(String JavaDoc inArg0)
27     {
28         super(inArg0);
29     }
30     protected void setUp() throws Exception JavaDoc
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 JavaDoc
38     {
39         Category catalog = getStoreEditor().getCatalog("GOODSTUFF");
40         catalog.setDescription("This is a long description");
41         catalog.setProperty("includequickship",true);
42         String JavaDoc 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 JavaDoc image1 = catalog.getProperty("image1small");
51         assertNotNull(image1);
52         assertEquals(name,image1);
53         String JavaDoc includeQuickShip = catalog.getProperty("includequickship");
54         assertNotNull(includeQuickShip);
55         assertEquals("true", includeQuickShip);
56     }
57
58     public void testDeleteCatalog() throws Exception JavaDoc
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 JavaDoc
71     {
72         Category catalog = getStoreEditor().getRootCatalog();
73         assertNotNull( catalog );
74         assertTrue( catalog.getChildren().size() > 0 );
75     }
76
77     public void testAddAndDeleteProduct() throws Exception JavaDoc
78     {
79         Product product = getStoreEditor().createProduct();
80         product.setId("1234");
81         product.setName("Test product");
82         product.setDescription("Blank");
83
84         //now user hits save
85
Category catalog = getStoreEditor().getCatalog( "GOODSTUFF" );
86         product.addCatalog( catalog );
87         getStoreEditor().saveProduct( product );
88         getStoreEditor().clearCatalogs();
89         
90         //getStoreEditor().getStore().reindexAll();
91
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 JavaDoc
102     {
103         final String JavaDoc PRODUCT_NAME = "Closed Back Swivel\u2122"; // trademark symbol
104
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         //getStoreEditor().getStore().reindexAll();
118

119     }
120
121     public void testEditItem() throws Exception JavaDoc
122     {
123         Product product = getStoreEditor().createProduct();
124         product.setId("1234");
125         product.setName("Test product");
126         product.setDescription("Blank");
127
128         //product.
129
InventoryItem item = getStoreEditor().createItem( );
130         item.put("depth","42");
131         final String JavaDoc 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 JavaDoc
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 JavaDoc
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); //only is in the old catalog
173
Product product2 = editor.getProduct("PRE0000SUF");
174         assertNotNull(product2);
175         assertEquals(product2.getName(), "Test Product"); //still has same name
176
assertEquals(product2.getCatalogs().size(), 1); //only is in the new catalog
177
editor.deleteProduct(product);
178         editor.deleteProduct(product2);
179         //editor.getStore().reindexAll();
180
editor.deleteCatalog(catalog);
181         editor.getStore().clear();
182         editor.reloadCatalogs();
183     }
184
185     public void testAddAndEditProduct() throws Exception JavaDoc
186     {
187         Product product = getStoreEditor().createProduct();
188         String JavaDoc newId = "junk" + System.currentTimeMillis();
189         product.setId(newId); // just in case case matters
190
product.setName("Test product");
191         product.setDescription("Blank");
192     
193         //now user hits save
194
Category catalog = getStoreEditor().getCatalog( "GOODSTUFF" );
195         product.addCatalog( catalog );
196         getStoreEditor().saveProduct( product );
197         //getStore().getProductLoader().saveProduct(product);
198
//getStoreEditor().getStore().reindexAll();
199

200         Product foundproduct = findProductById(catalog,newId);
201         
202         //if this is null then the update index is not working
203
assertNotNull(foundproduct);
204         String JavaDoc name = "New Name" + System.currentTimeMillis();
205         foundproduct.setName(name);
206         getStoreEditor().saveProduct(foundproduct);
207         List JavaDoc products = getStore().getProductsInCatalog( catalog );
208         int productsFound = 0;
209         for (Iterator JavaDoc 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 JavaDoc inId) throws Exception JavaDoc
222     {
223         List JavaDoc products = getStore().getProductsInCatalog( inCatalog );
224         assertNotNull(products);
225
226         for (Iterator JavaDoc 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 JavaDoc
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         //assertNotNull( product ); this passes on a local machine
246

247         StoreEditor editor = getStoreEditor();
248         editor.removeProductFromCatalog(good,new String JavaDoc[]{"1"});
249         
250         assertNull( findProductById(good,"1") );
251
252     }
253
254 }
255
Popular Tags