Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package id.co.sofcograha.gajiidapi.domain.hris.mst.npwp.controllers;
- import java.util.ArrayList;
- import java.util.Comparator;
- import java.util.List;
- import org.junit.Test;
- import org.springframework.http.MediaType;
- import org.springframework.test.web.servlet.ResultActions;
- import static org.hamcrest.Matchers.hasSize;
- import static org.hamcrest.Matchers.is;
- import static org.hamcrest.Matchers.isIn;
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertNotNull;
- import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
- import id.co.sofcograha.gajiidapi.base.constants.BaseUriConstants;
- import id.co.sofcograha.gajiidapi.domain.constants.DomainUriConstants;
- import id.co.sofcograha.gajiidapi.domain.hris.mst.npwp.entities.Npwp;
- import id.co.sofcograha.gajiidapi.domain.hris.mst.npwp.pojos.NpwpChangeOrderPojo;
- import id.co.sofcograha.gajiidapi.domain.hris.mst.npwp.pojos.NpwpPojo;
- import id.co.sofcograha.gajiidapi.domain.hris.mst.npwp.repositories.NpwpRepository;
- import id.co.sofcograha.gajiidapi.testutils.BaseControllerIntegrationTest;
- public class NpwpControllerChangeOrderIntegrationTest extends BaseControllerIntegrationTest<Npwp, NpwpRepository> {
- List<Npwp> npwps;
- protected String getUri() {
- return DomainUriConstants.NPWP + BaseUriConstants.ORDER;
- }
- @Override
- public void before() {
- super.before();
- npwps = new ArrayList<Npwp>();
- npwps.add(addNpwp(1, "11.111.111.1-111.111", "PT Demonder", "Demonder", "4397 Morningview Lane", "Petunia Way", "Adam L Hall", "11.111.111.1-111.112", "Sharon T Thompson", "11.111.111.1-111.113", true));
- npwps.add(addNpwp(2, "22.222.222.2-222.221", "White Corporation", "White", "3677 Roosevelt Street", "Irish Lane", "Arthur B Owens", "22.222.222.2-222.222", "Sharon T Thompson", "22.222.222.2-222.223", true));
- npwps.add(addNpwp(3, "33.333.333.3-333.331", "PT Conity", "Conity", "3247 White River Way", "Bee Street", "Addie T Lyons", "33.333.333.3-333.332", "Jonna D White", "33.333.333.3-333.333", true));
- npwps.add(addNpwp(4, "44.444.444.4-444.441", "Midist Corporation", "Midist", "3710 Meadow Drive", "Roosevelt Road", "Helene P Simmons", "44.444.444.4-444.442", "April J Forde", "44.444.444.4-444.443", true));
- npwps.add(addNpwp(5, "55.555.555.5-555.551", "PT Intrata", "Intrata", "3960 Harley Vincent Drive", "Shinn Street", "Savannah J Salgado", "55.555.555.5-555.552", "Irwin J Pate", "55.555.555.5-555.553", true));
- npwps.add(addNpwp(6, "66.666.666.6-666.661", "Divava Corps", "Divava", "4437 Elk Rd Little", "Green Street", "Aaron L Bluhm", "66.666.666.6-666.662", "Debra J Rodriguez", "66.666.666.6-666.663", true));
- }
- @Override
- public void after() {
- super.after();
- repo.deleteAll();
- }
- @Test
- @Override
- public void test_Success() throws Exception {
- test_Success_TopToBottom();
- }
- @Test
- public void test_Success_TopToBottom() throws Exception {
- int idxToOrder = 0;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = npwps.size();
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int index = 0;
- int lastIndex = (npwps.size() - 1);
- assertEquals(orderedNpwps.get(index).getNpwpNumber(), "22.222.222.2-222.221");
- assertEquals(orderedNpwps.get(index).getOrderNumber().longValue(), 1);
- assertEquals(orderedNpwps.get(lastIndex).getNpwpNumber(), "11.111.111.1-111.111");
- assertEquals(orderedNpwps.get(lastIndex).getOrderNumber().longValue(), lastIndex + 1);
- }
- @Test
- public void test_Success_BottomToTop() throws Exception {
- int idxToOrder = npwps.size() - 1;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 1;
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int index = 0;
- int lastIndex = (npwps.size() - 1);
- assertEquals(orderedNpwps.get(index).getNpwpNumber(), "66.666.666.6-666.661");
- assertEquals(orderedNpwps.get(index).getOrderNumber().longValue(), 1);
- assertEquals(orderedNpwps.get(lastIndex).getNpwpNumber(), "55.555.555.5-555.551");
- assertEquals(orderedNpwps.get(lastIndex).getOrderNumber().longValue(), lastIndex + 1);
- }
- @Test
- public void test_Succcess_MiddleToTop() throws Exception {
- int idxToOrder = 3;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 1;
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int index = 0;
- assertEquals(orderedNpwps.get(index).getNpwpNumber(), "44.444.444.4-444.441");
- assertEquals(orderedNpwps.get(index).getOrderNumber().longValue(), index + 1);
- assertEquals(orderedNpwps.get(idxToOrder).getNpwpNumber(), "33.333.333.3-333.331");
- assertEquals(orderedNpwps.get(idxToOrder).getOrderNumber().longValue(), idxToOrder + 1);
- }
- @Test
- public void test_Succcess_TopToMiddle() throws Exception {
- int idxToOrder = 0;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 3;
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int index = pojo.orderNumber - 1;
- assertEquals(orderedNpwps.get(index).getNpwpNumber(), "11.111.111.1-111.111");
- assertEquals(orderedNpwps.get(index).getOrderNumber().longValue(), index + 1);
- assertEquals(orderedNpwps.get(idxToOrder).getNpwpNumber(), "22.222.222.2-222.221");
- assertEquals(orderedNpwps.get(idxToOrder).getOrderNumber().longValue(), idxToOrder + 1);
- }
- @Test
- public void test_Succcess_MiddleToBottom() throws Exception {
- int idxToOrder = 3;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = npwps.size();
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int index = npwps.size() - 1;
- assertEquals(orderedNpwps.get(index).getNpwpNumber(), "44.444.444.4-444.441");
- assertEquals(orderedNpwps.get(index).getOrderNumber().longValue(), index + 1);
- assertEquals(orderedNpwps.get(idxToOrder).getNpwpNumber(), "55.555.555.5-555.551");
- assertEquals(orderedNpwps.get(idxToOrder).getOrderNumber().longValue(), idxToOrder + 1);
- }
- @Test
- public void test_Success_BottomToMiddle() throws Exception {
- int idxToOrder = npwps.size() - 1;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 3;
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int index = 2;
- assertEquals(orderedNpwps.get(index).getNpwpNumber(), "66.666.666.6-666.661");
- assertEquals(orderedNpwps.get(index).getOrderNumber().longValue(), index + 1);
- assertEquals(orderedNpwps.get(idxToOrder).getNpwpNumber(), "55.555.555.5-555.551");
- assertEquals(orderedNpwps.get(idxToOrder).getOrderNumber().longValue(), idxToOrder + 1);
- }
- @Test
- public void test_Success_MiddleToMiddleUp() throws Exception {
- int idxToOrder = 3;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = idxToOrder;
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int middleUpIndex = 2;
- assertEquals(orderedNpwps.get(middleUpIndex).getNpwpNumber(), "44.444.444.4-444.441");
- assertEquals(orderedNpwps.get(middleUpIndex).getOrderNumber().longValue(), middleUpIndex + 1);
- assertEquals(orderedNpwps.get(idxToOrder).getNpwpNumber(), "33.333.333.3-333.331");
- assertEquals(orderedNpwps.get(idxToOrder).getOrderNumber().longValue(), idxToOrder + 1);
- }
- @Test
- public void test_Success_MiddleToMiddleDown() throws Exception {
- int idxToOrder = 3;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 5;
- performTestOK(pojo);
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- int middleUpIndex = 4;
- assertEquals(orderedNpwps.get(middleUpIndex).getNpwpNumber(), "44.444.444.4-444.441");
- assertEquals(orderedNpwps.get(middleUpIndex).getOrderNumber().longValue(), middleUpIndex + 1);
- assertEquals(orderedNpwps.get(idxToOrder).getNpwpNumber(), "55.555.555.5-555.551");
- assertEquals(orderedNpwps.get(idxToOrder).getOrderNumber().longValue(), idxToOrder + 1);
- }
- @Test
- public void test_Success_NoChangeOrder() throws Exception {
- int idxToOrder = 0;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 1;
- performTestOK(pojo)
- .andExpect(jsonPath("$.notices", hasSize(1)))
- .andExpect(jsonPath("$.notices[0]").exists())
- .andExpect(jsonPath("$.notices[0].code", is("npwpChangeOrder.npwp.orderNumber.no.change")))
- .andExpect(jsonPath("$.notices[0].desc").isNotEmpty());
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion().intValue(), fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(pojo.orderNumber, fromDb.getOrderNumber());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- assertEquals(orderedNpwps.get(0).getNpwpNumber(), "11.111.111.1-111.111");
- }
- @Test
- public void test_ErrorParameterRequired_NpwpNotSent() throws Exception {
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- performTestError(pojo)
- .andExpect(jsonPath("$.errors", hasSize(2)))
- .andExpect(jsonPath("$.errors[0]").exists())
- .andExpect(jsonPath("$.errors[0].code", isIn(getRequiredValuesErrorCodes())))
- .andExpect(jsonPath("$.errors[0].desc").isNotEmpty())
- .andExpect(jsonPath("$.errors[1]").exists())
- .andExpect(jsonPath("$.errors[1].code", isIn(getRequiredValuesErrorCodes())))
- .andExpect(jsonPath("$.errors[1].desc").isNotEmpty());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- assertEquals(orderedNpwps.get(0).getNpwpNumber(), "11.111.111.1-111.111");
- }
- @Test
- public void test_ErrorParameterRequired_VersionNotSent() throws Exception {
- int idxToOrder = 0;
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.npwp.version = null;
- pojo.orderNumber = 3;
- performTestError(pojo)
- .andExpect(jsonPath("$.errors", hasSize(1)))
- .andExpect(jsonPath("$.errors[0]").exists())
- .andExpect(jsonPath("$.errors[0].code", isIn(getRequiredValuesErrorCodes())))
- .andExpect(jsonPath("$.errors[0].desc").isNotEmpty());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- assertEquals(orderedNpwps.get(0).getNpwpNumber(), "11.111.111.1-111.111");
- }
- @Test
- public void test_Error_NpwpObsoleteVersion() throws Exception {
- int idxToOrder = 0;
- updateNpwp(npwps.get(0));
- Npwp npwp = npwps.get(idxToOrder);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(npwp);
- pojo.orderNumber = 3;
- performTestError(pojo)
- .andExpect(jsonPath("$.errors", hasSize(1)))
- .andExpect(jsonPath("$.errors[0]").exists())
- .andExpect(jsonPath("$.errors[0].code", is("npwpChangeOrder.npwp.obsolete.version")))
- .andExpect(jsonPath("$.errors[0].desc").isNotEmpty());
- Npwp fromDb = repo.findById(npwps.get(idxToOrder).getId());
- assertNotNull(fromDb);
- assertEquals(npwps.get(idxToOrder).getVersion() + 1, fromDb.getVersion().intValue());
- assertEquals(npwps.get(idxToOrder).getNpwpNumber(), fromDb.getNpwpNumber());
- assertEquals(npwps.get(idxToOrder).getOrderNumber().intValue(), fromDb.getOrderNumber().intValue());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- assertEquals(orderedNpwps.get(0).getNpwpNumber(), "11.111.111.1-111.111");
- }
- @Test
- public void test_Error_EducationLeveNotFound() throws Exception {
- Npwp notFound = new Npwp();
- notFound.setId("notFoundID");
- notFound.setVersion(0L);
- NpwpChangeOrderPojo pojo = new NpwpChangeOrderPojo();
- pojo.npwp = NpwpPojo.fromEntity(notFound);
- pojo.orderNumber = 3;
- performTestError(pojo)
- .andExpect(jsonPath("$.errors", hasSize(1)))
- .andExpect(jsonPath("$.errors[0]").exists())
- .andExpect(jsonPath("$.errors[0].code", is("npwpChangeOrder.npwp.not.found")))
- .andExpect(jsonPath("$.errors[0].desc").isNotEmpty());
- List<Npwp> orderedNpwps = repo.findAll();
- orderedNpwps.sort(new Comparator<Npwp>() {
- @Override
- public int compare(Npwp o1, Npwp o2) {
- return o1.getOrderNumber() - o2.getOrderNumber();
- }
- });
- assertEquals(orderedNpwps.get(0).getNpwpNumber(), "11.111.111.1-111.111");
- }
- private ResultActions performTestOK(NpwpChangeOrderPojo pojo) throws Exception {
- return performRequestOK(
- createPutRequestBuilder(getUri())
- .contentType(MediaType.APPLICATION_JSON_UTF8)
- .content(objectMapper.writeValueAsString(pojo)));
- }
- private ResultActions performTestError(NpwpChangeOrderPojo pojo) throws Exception {
- return performRequestError(
- createPutRequestBuilder(getUri())
- .contentType(MediaType.APPLICATION_JSON_UTF8)
- .content(objectMapper.writeValueAsString(pojo)));
- }
- private Npwp updateNpwp(Npwp entity) {
- entity.setNpwpName(entity.getNpwpName() + "-edited");
- return repo.saveAndFlush(entity);
- }
- private Npwp addNpwp(Integer orderNumber, String npwpNumber, String npwpName, String companyName, String address, String taxOffice, String npwpOwnerName, String npwpOwnerNumber, String npwpAgentName, String npwpAgentNumber, Boolean isActive) {
- Npwp entity = new Npwp();
- entity.setOrderNumber(orderNumber);
- entity.setNpwpNumber(npwpNumber);
- entity.setNpwpName(npwpName);
- entity.setCompanyName(companyName);
- entity.setAddress(address);
- entity.setTaxOffice(taxOffice);
- entity.setNpwpOwnerName(npwpOwnerName);
- entity.setNpwpOwnerNumber(npwpOwnerNumber);
- entity.setNpwpAgentName(npwpAgentName);
- entity.setNpwpAgentNumber(npwpAgentNumber);
- entity.setActive(isActive);
- return repo.saveAndFlush(entity);
- }
- private List<String> getRequiredValuesErrorCodes() {
- List<String> errorCodes = new ArrayList<>();
- errorCodes.add("npwpChangeOrder.npwp.required");
- errorCodes.add("npwpChangeOrder.npwp.version.required");
- errorCodes.add("npwpChangeOrder.orderNumber.required");
- return errorCodes;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment