protected ShoppingItemPrice addShoppingItemPrice() throws Exception { long pk = ServiceTestUtil.nextLong(); ShoppingItemPrice shoppingItemPrice = _persistence.create(pk); shoppingItemPrice.setItemId(ServiceTestUtil.nextLong()); shoppingItemPrice.setMinQuantity(ServiceTestUtil.nextInt()); shoppingItemPrice.setMaxQuantity(ServiceTestUtil.nextInt()); shoppingItemPrice.setPrice(ServiceTestUtil.nextDouble()); shoppingItemPrice.setDiscount(ServiceTestUtil.nextDouble()); shoppingItemPrice.setTaxable(ServiceTestUtil.randomBoolean()); shoppingItemPrice.setShipping(ServiceTestUtil.nextDouble()); shoppingItemPrice.setUseShippingFormula(ServiceTestUtil.randomBoolean()); shoppingItemPrice.setStatus(ServiceTestUtil.nextInt()); _persistence.update(shoppingItemPrice); return shoppingItemPrice; }
@Test public void testUpdateExisting() throws Exception { long pk = ServiceTestUtil.nextLong(); ShoppingItemPrice newShoppingItemPrice = _persistence.create(pk); newShoppingItemPrice.setItemId(ServiceTestUtil.nextLong()); newShoppingItemPrice.setMinQuantity(ServiceTestUtil.nextInt()); newShoppingItemPrice.setMaxQuantity(ServiceTestUtil.nextInt()); newShoppingItemPrice.setPrice(ServiceTestUtil.nextDouble()); newShoppingItemPrice.setDiscount(ServiceTestUtil.nextDouble()); newShoppingItemPrice.setTaxable(ServiceTestUtil.randomBoolean()); newShoppingItemPrice.setShipping(ServiceTestUtil.nextDouble()); newShoppingItemPrice.setUseShippingFormula(ServiceTestUtil.randomBoolean()); newShoppingItemPrice.setStatus(ServiceTestUtil.nextInt()); _persistence.update(newShoppingItemPrice); ShoppingItemPrice existingShoppingItemPrice = _persistence.findByPrimaryKey(newShoppingItemPrice.getPrimaryKey()); Assert.assertEquals( existingShoppingItemPrice.getItemPriceId(), newShoppingItemPrice.getItemPriceId()); Assert.assertEquals(existingShoppingItemPrice.getItemId(), newShoppingItemPrice.getItemId()); Assert.assertEquals( existingShoppingItemPrice.getMinQuantity(), newShoppingItemPrice.getMinQuantity()); Assert.assertEquals( existingShoppingItemPrice.getMaxQuantity(), newShoppingItemPrice.getMaxQuantity()); AssertUtils.assertEquals(existingShoppingItemPrice.getPrice(), newShoppingItemPrice.getPrice()); AssertUtils.assertEquals( existingShoppingItemPrice.getDiscount(), newShoppingItemPrice.getDiscount()); Assert.assertEquals(existingShoppingItemPrice.getTaxable(), newShoppingItemPrice.getTaxable()); AssertUtils.assertEquals( existingShoppingItemPrice.getShipping(), newShoppingItemPrice.getShipping()); Assert.assertEquals( existingShoppingItemPrice.getUseShippingFormula(), newShoppingItemPrice.getUseShippingFormula()); Assert.assertEquals(existingShoppingItemPrice.getStatus(), newShoppingItemPrice.getStatus()); }
protected void doAddBookItems(long userId, long groupId, long categoryId, String[] isbns) throws IOException, PortalException, SystemException { if (!AmazonRankingsUtil.isEnabled()) { throw new AmazonException("Amazon integration is not enabled"); } String tmpDir = SystemProperties.get(SystemProperties.TMP_DIR); for (int i = 0; (i < isbns.length) && (i < 50); i++) { String isbn = isbns[i]; AmazonRankings amazonRankings = AmazonRankingsUtil.getAmazonRankings(isbn); if (amazonRankings == null) { continue; } String name = amazonRankings.getProductName(); String description = StringPool.BLANK; String properties = getBookProperties(amazonRankings); int minQuantity = 0; int maxQuantity = 0; double price = amazonRankings.getListPrice(); double discount = 1 - amazonRankings.getOurPrice() / price; boolean taxable = true; double shipping = 0.0; boolean useShippingFormula = true; ShoppingItemPrice itemPrice = shoppingItemPricePersistence.create(0); itemPrice.setMinQuantity(minQuantity); itemPrice.setMaxQuantity(maxQuantity); itemPrice.setPrice(price); itemPrice.setDiscount(discount); itemPrice.setTaxable(taxable); itemPrice.setShipping(shipping); itemPrice.setUseShippingFormula(useShippingFormula); itemPrice.setStatus(ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT); boolean requiresShipping = true; int stockQuantity = 0; boolean featured = false; Boolean sale = null; // Small image boolean smallImage = true; String smallImageURL = StringPool.BLANK; File smallImageFile = new File( tmpDir + File.separatorChar + PwdGenerator.getPassword(8, PwdGenerator.KEY2) + ".jpg"); byte[] smallImageBytes = HttpUtil.URLtoByteArray(amazonRankings.getSmallImageURL()); if (smallImageBytes.length < 1024) { smallImage = false; } else { OutputStream os = new FileOutputStream(smallImageFile); os.write(smallImageBytes); os.close(); } // Medium image boolean mediumImage = true; String mediumImageURL = StringPool.BLANK; File mediumImageFile = new File( tmpDir + File.separatorChar + PwdGenerator.getPassword(8, PwdGenerator.KEY2) + ".jpg"); byte[] mediumImageBytes = HttpUtil.URLtoByteArray(amazonRankings.getMediumImageURL()); if (mediumImageBytes.length < 1024) { mediumImage = false; } else { OutputStream os = new FileOutputStream(mediumImageFile); os.write(mediumImageBytes); os.close(); } // Large image boolean largeImage = true; String largeImageURL = StringPool.BLANK; File largeImageFile = new File( tmpDir + File.separatorChar + PwdGenerator.getPassword(8, PwdGenerator.KEY2) + ".jpg"); byte[] largeImageBytes = HttpUtil.URLtoByteArray(amazonRankings.getLargeImageURL()); if (largeImageBytes.length < 1024) { largeImage = false; } else { OutputStream os = new FileOutputStream(largeImageFile); os.write(largeImageBytes); os.close(); } List<ShoppingItemField> itemFields = new ArrayList<ShoppingItemField>(); List<ShoppingItemPrice> itemPrices = new ArrayList<ShoppingItemPrice>(); itemPrices.add(itemPrice); ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(true); serviceContext.setAddGuestPermissions(true); addItem( userId, groupId, categoryId, isbn, name, description, properties, StringPool.BLANK, requiresShipping, stockQuantity, featured, sale, smallImage, smallImageURL, smallImageFile, mediumImage, mediumImageURL, mediumImageFile, largeImage, largeImageURL, largeImageFile, itemFields, itemPrices, serviceContext); smallImageFile.delete(); mediumImageFile.delete(); largeImageFile.delete(); } }