crud.DepartmentCrud.java Source code

Java tutorial

Introduction

Here is the source code for crud.DepartmentCrud.java

Source

/*
 * 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();
    }
}