package org.jatakasource.testcube.dao.product;
import java.util.ArrayList;
import java.util.List;
import org.jatakasource.common.model.security.IUser;
import org.jatakasource.testcube.dao.SpringDaoTest;
import org.jatakasource.testcube.dao.product.ComponentDao;
import org.jatakasource.testcube.dao.product.ProductDao;
import org.jatakasource.testcube.dao.security.UserDao;
import org.jatakasource.testcube.dao.security.UserDaoTest;
import org.jatakasource.testcube.model.product.Component;
import org.jatakasource.testcube.model.product.IComponent;
import org.jatakasource.testcube.model.product.IProduct;
import org.jatakasource.testcube.model.product.Product;
import org.jatakasource.testcube.model.security.User;
import org.junit.Before;
import org.springframework.beans.factory.annotation.Autowired;
public class ComponentDaoTest extends SpringDaoTest<Long, ComponentDao, IComponent> {
@Autowired
private ComponentDao componentDao;
@Autowired
private UserDao userDao;
@Autowired
private ProductDao productDao;
@Override
public ComponentDao getDao() {
return componentDao;
}
private User user;
private Product product;
@Before
public void before(){
user = (User) prepareUser();
product = (Product) prepareProduct();
}
@Override
public IComponent[] getValidEntities() {
Component component = new Component();
component.setName("TEST COMPONENT");
component.setDescription("TEST COMPONENT");
component.setDefaultAssignee(user);
List<User> ccList = new ArrayList<User>();
ccList.add(user);
component.setDefaultCCList(ccList);
component.setProduct(product);
return new IComponent[] { component };
}
@Override
public IComponent[] getInvalidEntities() {
Component component = (Component) getValidEntity();
component.setName(null);
component.setDescription(null);
component.setDefaultAssignee(null);
return new IComponent[] { component };
}
@Override
public void change(IComponent entity) {
entity.setName("TEST COMPONENT UPDATE");
}
private IUser prepareUser(){
return (User) userDao.save(UserDaoTest.getValidUser());
}
private IProduct prepareProduct(){
return (Product) productDao.save(ProductDaoTest.getValidProduct());
}
}