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 repositoryTests; import com.pharmacy.pharmacyweb.configuration.ConnectionConfig; import com.pharmacy.pharmacyweb.domain.MedicalAid; import com.pharmacy.pharmacyweb.domain.customers.Customer; import com.pharmacy.pharmacyweb.domain.customers.PaymentMethod; import com.pharmacy.pharmacyweb.repository.CustomerRepository; import com.pharmacy.pharmacyweb.repository.MedicalAidRepository; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.testng.Assert; 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 CustomerRepositoryTestNGTest { public static ApplicationContext ctx; private Long id; private CustomerRepository repo; private static MedicalAid medicalAid; private static MedicalAidRepository medRepo; public CustomerRepositoryTestNGTest() { } // 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); medRepo = ctx.getBean(MedicalAidRepository.class); medicalAid = new MedicalAid.Builder().medicalAidName("eztv").medicalAidWorth(500000.0).build(); medRepo.save(medicalAid); } @AfterClass public static void tearDownClass() throws Exception { } @BeforeMethod public void setUpMethod() throws Exception { } @AfterMethod public void tearDownMethod() throws Exception { } @Test public void createCustomerTest() { repo = ctx.getBean(CustomerRepository.class); Customer cust = new Customer.Builder().id(0).name("Luke").surname("Davids").contactNumber("12345678900") .paymentMethod(new PaymentMethod.Builder().method(1).build()).age(22).medicalAid(medicalAid) .build(); repo.save(cust); id = cust.getId(); assertNotNull(cust); } @Test(dependsOnMethods = "createCustomerTest") public void readCustomerTest() { repo = ctx.getBean(CustomerRepository.class); Customer customer = repo.findOne(id); assertEquals(customer.getName(), "Luke"); } @Test(dependsOnMethods = "readCustomerTest") private void updateCustomerTest() { repo = ctx.getBean(CustomerRepository.class); Customer cust = repo.findOne(id); Customer updatedPerson = new Customer.Builder().clone(cust).age(23).build(); repo.save(updatedPerson); Customer newCustomer = repo.findOne(id); assertEquals(newCustomer.getName(), "Luke"); } @Test(dependsOnMethods = "updateCustomerTest") private void deleteCustomer() { repo = ctx.getBean(CustomerRepository.class); Customer customer = repo.findOne(id); repo.delete(customer); Customer deletedCustomer = repo.findOne(id); assertNull(deletedCustomer); } }