/*
* #%L
* BroadleafCommerce Integration
* %%
* Copyright (C) 2009 - 2013 Broadleaf Commerce
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
package org.broadleafcommerce.core.catalog.dao;
import org.broadleafcommerce.common.money.Money;
import org.broadleafcommerce.core.catalog.SkuDaoDataProvider;
import org.broadleafcommerce.core.catalog.domain.Sku;
import org.broadleafcommerce.core.catalog.service.CatalogService;
import org.broadleafcommerce.test.BaseTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.transaction.annotation.Transactional;
import org.testng.annotations.Test;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Calendar;
public class SkuDaoTest extends BaseTest {
private Long skuId;
@Resource
private SkuDao skuDao;
@Resource
private CatalogService catalogService;
@Test(groups = { "createSku" }, dataProvider = "basicSku", dataProviderClass = SkuDaoDataProvider.class, dependsOnGroups = { "readCustomer", "createOrder", "createProducts" })
@Rollback(false)
public void createSku(Sku sku) {
Calendar activeStartCal = Calendar.getInstance();
activeStartCal.add(Calendar.DAY_OF_YEAR, -2);
sku.setSalePrice(new Money(BigDecimal.valueOf(10.0)));
sku.setRetailPrice(new Money(BigDecimal.valueOf(15.0)));
sku.setName("test sku");
sku.setActiveStartDate(activeStartCal.getTime());
assert sku.getId() == null;
sku = catalogService.saveSku(sku);
assert sku.getId() != null;
skuId = sku.getId();
}
@Test(groups = { "readFirstSku" }, dependsOnGroups = { "createSku" })
@Transactional
public void readFirstSku() {
Sku si = skuDao.readFirstSku();
assert si != null;
assert si.getId() != null;
}
@Test(groups = { "readSkuById" }, dependsOnGroups = { "createSku" })
@Transactional
public void readSkuById() {
Sku item = skuDao.readSkuById(skuId);
assert item != null;
assert item.getId() == skuId;
}
}