package org.jatakasource.testcube.dao.product; import org.jatakasource.testcube.dao.SpringDaoTest; import org.jatakasource.testcube.dao.product.CategoryDao; import org.jatakasource.testcube.dao.product.ProductDao; import org.jatakasource.testcube.model.product.Category; import org.jatakasource.testcube.model.product.ICategory; import org.jatakasource.testcube.model.product.IProduct; import org.jatakasource.testcube.model.product.Product; import org.junit.Before; import org.springframework.beans.factory.annotation.Autowired; public class CategoryDaoTest extends SpringDaoTest<Long, CategoryDao, ICategory> { @Autowired private CategoryDao categoryDao; @Autowired private ProductDao productDao; private Product product; @Before public void before() { product = (Product) prepareProduct(); } @Override public CategoryDao getDao() { return categoryDao; } @Override public ICategory[] getValidEntities() { return new ICategory[] { getValidEnvironment() }; } @Override public ICategory[] getInvalidEntities() { ICategory category = (ICategory) getValidEntity(); category.setName(null); category.setDescription(null); category.setProduct(null); return new ICategory[] { category }; } @Override public void change(ICategory category) { category.setDescription("TEST CATEGORY UPDATE"); } public ICategory getValidEnvironment() { Category category = new Category(); category.setName("TEST CATEGORY"); category.setDescription("TEST CATEGORY"); category.setProduct(product); return category; } private IProduct prepareProduct() { return (Product) productDao.save(ProductDaoTest.getValidProduct()); } }