package org.jatakasource.testcube.dao.testplan; 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.ProductDao; import org.jatakasource.testcube.dao.product.ProductDaoTest; import org.jatakasource.testcube.dao.security.UserDao; import org.jatakasource.testcube.dao.security.UserDaoTest; import org.jatakasource.testcube.dao.testplan.TestPlanDao; import org.jatakasource.testcube.model.product.IProduct; import org.jatakasource.testcube.model.product.Product; import org.jatakasource.testcube.model.security.User; import org.jatakasource.testcube.model.testplan.ITestPlan; import org.jatakasource.testcube.model.testplan.PlanAttachment; import org.jatakasource.testcube.model.testplan.TestPlan; import org.junit.Before; import org.springframework.beans.factory.annotation.Autowired; public class TestPlanDaoTest extends SpringDaoTest<Long, TestPlanDao, ITestPlan> { @Autowired private TestPlanDao testPlanDao; @Autowired private UserDao userDao; @Autowired private ProductDao productDao; private User user; private Product product; @Before public void before(){ user = (User) prepareUser(); product = (Product) prepareProduct(); } @Override public TestPlanDao getDao() { return testPlanDao; } @Override public ITestPlan[] getValidEntities() { return new ITestPlan[] { getValidTestPlan(user, product) }; } @Override public ITestPlan[] getInvalidEntities() { ITestPlan testPlan = (ITestPlan) getValidEntity(); testPlan.setName(null); testPlan.setProduct(null); testPlan.setCreatedBy(null); return new ITestPlan[] { testPlan }; } @Override public void change(ITestPlan entity) { entity.setDescription("TEST PLAN UPDATE"); } public static ITestPlan getValidTestPlan(User user, Product product) { PlanAttachment attachment = (PlanAttachment) PlanAttachmentDaoTest.getValidPlanAttachment(); TestPlan testPlan = new TestPlan(); testPlan.setName("TESTPLAN TEST NAME"); testPlan.setDescription("TESTPLAN TEST DESC"); testPlan.setProduct(product); testPlan.setCreatedBy(user); // Create attachments list List<PlanAttachment> attachments = new ArrayList<PlanAttachment>(); attachments.add(attachment); testPlan.setAttachments(attachments); return testPlan; } private IUser prepareUser(){ return (User) userDao.save(UserDaoTest.getValidUser()); } private IProduct prepareProduct(){ return (Product) productDao.save(ProductDaoTest.getValidProduct()); } }