Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package crud; import com.company.transactionapp.appconfig.ConnectionConfig; import com.company.transactionapp.model.Department; import com.company.transactionapp.repository.DepartmentRepository; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import static org.testng.Assert.*; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; /** * * @author Luke */ public class DepartmentCrud { public static ApplicationContext ctx; private static DepartmentRepository departmentRepo; private Long id; public DepartmentCrud() { } // TODO add test methods here. // The methods must be annotated with annotation @Test. For example: // // @Test // public void hello() {} @BeforeClass public static void setUpClass() throws Exception { ctx = new AnnotationConfigApplicationContext(ConnectionConfig.class); //departmentRepo.deleteAll(); } @AfterClass public static void tearDownClass() throws Exception { } @BeforeMethod public void setUpMethod() throws Exception { } @AfterMethod public void tearDownMethod() throws Exception { } @Test public void createDepartmentTest() { departmentRepo = ctx.getBean(DepartmentRepository.class); Department department = new Department.Builder().department("Food").build(); departmentRepo.save(department); assertNotNull(department); id = department.getId(); } @Test(dependsOnMethods = "createDepartmentTest") public void readDepartmentTest() { departmentRepo = ctx.getBean(DepartmentRepository.class); Department department = departmentRepo.findOne(id); assertEquals(department.getDepartment(), "Food"); } @Test(dependsOnMethods = "readDepartmentTest") private void updateDepartmentTest() { departmentRepo = ctx.getBean(DepartmentRepository.class); Department department = departmentRepo.findOne(id); Department updatedDepartment = new Department.Builder().clone(department).department("clothes").build(); departmentRepo.save(updatedDepartment); Department newDepartment = departmentRepo.findOne(id); assertEquals(newDepartment.getDepartment(), "clothes"); } @Test(dependsOnMethods = "updateDepartmentTest") private void deleteDepartment() { departmentRepo = ctx.getBean(DepartmentRepository.class); Department department = departmentRepo.findOne(id); departmentRepo.delete(department); Department deletedDepartment = departmentRepo.findOne(id); assertNull(deletedDepartment); departmentRepo.deleteAll(); } }