Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
package com.nnk.springboot.repositories;

import com.nnk.springboot.domain.BidList;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;

@ExtendWith(MockitoExtension.class)
public class BidListRepositoryTest {
@Mock
private BidListRepository bidListRepository;

@BeforeEach
private void setup() {
bidListRepository = Mockito.mock(BidListRepository.class);
}

@DisplayName(value = "1°) Recherche de tous les BidLists")
@Order(1)
@Test
void test_findAll_should_FindAll_BidList() {
List<BidList> bidListList = new ArrayList<>();

BidList bidList = new BidList();
BidList bidList2 = new BidList();
BidList bidList3 = new BidList();
bidListList.add(bidList);
bidListList.add(bidList2);
bidListList.add(bidList3);

when(bidListRepository.findAll()).thenReturn(bidListList);

List<BidList> result = bidListRepository.findAll();

assertThat(result).isNotNull();
assertThat(result).isNotEmpty();
assertThat(result.size()).isEqualTo(bidListList.size());
}

@DisplayName(value = "2°) Recherche de BidList par ID")
@Order(2)
@Test
void test_findById_shoud_findBidList_By_Id() {
BidList bidList = new BidList();
bidList.setBidListId(1);

when(bidListRepository.findById(1)).thenReturn(Optional.of(bidList));

Optional<BidList> bidListResult = bidListRepository.findById(bidList.getBidListId());

assertThat(bidListResult).isNotNull();
assertThat(bidListResult).isPresent();
assertThat(bidListResult.get().getBidListId()).isEqualTo(bidList.getBidListId());
}

@DisplayName(value = "3°) Mise à jour d'un BidList Existant")
@Order(3)
@Test
void test_update_should_update_BidList() throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("02/09/2024");


BidList bidList = new BidList();
bidList.setBidListId(1);
bidList.setAccount("testAccount");
bidList.setType("testType");
bidList.setBidQuantity(10.00);
bidList.setBid(1.0);
bidList.setAsk(10.00);
bidList.setBenchmark("testBencjmark");
bidList.setAskQuantity(10.11);
bidList.setBidListDate(Timestamp.valueOf(LocalDateTime.now()));
bidList.setCommentary("testCommentary");
bidList.setSecurity("testSecurity");
bidList.setStatus("testStatus");
bidList.setTrader("testTrade");
bidList.setBook("testBook");
bidList.setCreationName("testCreationName");
bidList.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
bidList.setRevisionName("testRevisionName");
bidList.setRevisionDate(Timestamp.valueOf(LocalDateTime.now()));
bidList.setDealName("testDealName");
bidList.setDealType("testDealType");
bidList.setSourceListId("testSourceListId");
bidList.setSide("testSide");

BidList bidListUpdated = new BidList();
bidListUpdated.setBidListId(1);
bidListUpdated.setAccount("testSuccessAccountUpdated");
bidListUpdated.setType("testSuccessTypeUpdated");
bidListUpdated.setBidQuantity(20.00);
bidListUpdated.setBid(20.0);
bidListUpdated.setAsk(200.00);
bidListUpdated.setBenchmark("testSuccessBencjmarkUpdated");
bidListUpdated.setAskQuantity(22.22);
bidListUpdated.setBidListDate(new Timestamp(date.getTime()));
bidListUpdated.setCommentary("testSuccessCommentaryUpdated");
bidListUpdated.setSecurity("testSuccessSecurityUpdated");
bidListUpdated.setStatus("testSuccessStatusUpdated");
bidListUpdated.setTrader("testSuccessTradeUpdated");
bidListUpdated.setBook("testSuccessBookUpdated");
bidListUpdated.setCreationName("testSuccessCreationNameUpdated");
bidListUpdated.setCreationDate(new Timestamp(date.getTime()));
bidListUpdated.setRevisionName("testSuccessRrevisionNameUpdated");
bidListUpdated.setRevisionDate(new Timestamp(date.getTime()));
bidListUpdated.setDealName("testSuccessDealNameUpdated");
bidListUpdated.setDealType("testSuccessDealTypeUpdated");
bidListUpdated.setSourceListId("testSuccessSourceListIdUpdated");
bidListUpdated.setSide("testSuccessSideUpdated");

when(bidListRepository.save(any(BidList.class))).thenReturn(bidListUpdated);

BidList bidListResult = bidListRepository.save(bidList);

assertThat(bidListResult).isNotNull();
assertThat(bidListResult.getBidListId()).isEqualTo(bidListUpdated.getBidListId());
assertThat(bidListResult.getAccount()).isEqualTo(bidListUpdated.getAccount());
assertThat(bidListResult.getType()).isEqualTo(bidListUpdated.getType());
assertThat(bidListResult.getBidQuantity()).isEqualTo(bidListUpdated.getBidQuantity());
assertThat(bidListResult.getBid()).isEqualTo(bidListUpdated.getBid());
assertThat(bidListResult.getAsk()).isEqualTo(bidListUpdated.getAsk());
assertThat(bidListResult.getBenchmark()).isEqualTo(bidListUpdated.getBenchmark());
assertThat(bidListResult.getAskQuantity()).isEqualTo(bidListUpdated.getAskQuantity());
assertThat(bidListResult.getBidListDate()).isEqualTo(bidListUpdated.getBidListDate());
assertThat(bidListResult.getCommentary()).isEqualTo(bidListUpdated.getCommentary());
assertThat(bidListResult.getSecurity()).isEqualTo(bidListUpdated.getSecurity());
assertThat(bidListResult.getStatus()).isEqualTo(bidListUpdated.getStatus());
assertThat(bidListResult.getTrader()).isEqualTo(bidListUpdated.getTrader());
assertThat(bidListResult.getBook()).isEqualTo(bidListUpdated.getBook());
assertThat(bidListResult.getCreationName()).isEqualTo(bidListUpdated.getCreationName());
assertThat(bidListResult.getCreationDate()).isEqualTo(bidListUpdated.getCreationDate());
assertThat(bidListResult.getRevisionName()).isEqualTo(bidListUpdated.getRevisionName());
assertThat(bidListResult.getRevisionDate()).isEqualTo(bidListUpdated.getRevisionDate());
assertThat(bidListResult.getDealName()).isEqualTo(bidListUpdated.getDealName());
assertThat(bidListResult.getDealType()).isEqualTo(bidListUpdated.getDealType());
assertThat(bidListResult.getSourceListId()).isEqualTo(bidListUpdated.getSourceListId());
assertThat(bidListResult.getSide()).isEqualTo(bidListUpdated.getSide());
}

@DisplayName(value = "4°) Suppression de BidList par ID")
@Order(4)
@Test
void test_delete_shoud_deleteBidList_By_Id() {
BidList bidList = new BidList();
bidList.setBidListId(1);
bidList.setAccount("testAccount");
bidList.setType("testType");
bidList.setBidQuantity(10.00);
bidList.setBid(1.0);
bidList.setAsk(10.00);
bidList.setBenchmark("testBencjmark");
bidList.setAskQuantity(10.11);
bidList.setBidListDate(Timestamp.valueOf(LocalDateTime.now()));
bidList.setCommentary("testCommentary");
bidList.setSecurity("testSecurity");
bidList.setStatus("testStatus");
bidList.setTrader("testTrade");
bidList.setBook("testBook");
bidList.setCreationName("testCreationName");
bidList.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
bidList.setRevisionName("testRevisionName");
bidList.setRevisionDate(Timestamp.valueOf(LocalDateTime.now()));
bidList.setDealName("testDealName");
bidList.setDealType("testDealType");
bidList.setSourceListId("testSourceListId");
bidList.setSide("testSide");
//TODO:QUESTION : Est-ce que le test est valide comme ça
bidListRepository.deleteById(bidList.getBidListId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
package com.nnk.springboot.repositories;

import com.nnk.springboot.domain.CurvePoint;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.when;

@ExtendWith(MockitoExtension.class)
public class CurvePointRepositoryTest {
@Mock
private CurvePointRepository curvePointRepository;

@BeforeEach
private void setup() {
curvePointRepository = Mockito.mock(CurvePointRepository.class);
}

@DisplayName(value = "1°) Recherche de tous les CurvePoints")
@Order(1)
@Test
void test_findAll_should_FindAll_CurvePoint() {
List<CurvePoint> curvePointList = new ArrayList<>();

CurvePoint curvePoint = new CurvePoint();
CurvePoint curvePoint2 = new CurvePoint();
CurvePoint curvePoint3 = new CurvePoint();
CurvePoint curvePoint4 = new CurvePoint();
CurvePoint curvePoint5 = new CurvePoint();

curvePointList.add(curvePoint);
curvePointList.add(curvePoint2);
curvePointList.add(curvePoint3);
curvePointList.add(curvePoint4);
curvePointList.add(curvePoint5);

when(curvePointRepository.findAll()).thenReturn(curvePointList);

List<CurvePoint> result = curvePointRepository.findAll();

assertThat(result).isNotNull();
assertThat(result).isNotEmpty();
assertThat(result.size()).isEqualTo(curvePointList.size());
}

@DisplayName(value = "2°) Recherche de CurvePoint par ID")
@Order(2)
@Test
void test_findById_shoud_findCurvePoint_By_Id() throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("02/09/2023");

CurvePoint curvePoint = new CurvePoint(1, 1, new Timestamp(date.getTime()),
1.0, 5.2, new Timestamp(new Date().getTime()));

when(curvePointRepository.findById(anyInt())).thenReturn(Optional.of(curvePoint));

Optional<CurvePoint> curvePointResult = curvePointRepository.findById(curvePoint.getId());

assertThat(curvePointResult).isNotNull();
assertThat(curvePointResult).isPresent();
assertThat(curvePointResult.get().getId()).isEqualTo(curvePoint.getId());
}

@DisplayName(value = "3°) Mise à jour d'un CurvePoint Existant")
@Order(3)
@Test
void test_update_should_update_CurvePoint() throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("02/05/2023");

CurvePoint curvePoint = new CurvePoint();
curvePoint.setId(1);
curvePoint.setCurveId(1);
curvePoint.setAsOfDate(new Timestamp(date.getTime()));
curvePoint.setTerm(10.0);
curvePoint.setValue(15.50);
curvePoint.setCreationDate(new Timestamp(new Date().getTime()));

CurvePoint curvePointUdate = new CurvePoint();
curvePointUdate.setId(1);
curvePointUdate.setCurveId(3);
curvePointUdate.setAsOfDate(new Timestamp(date.getTime()));
curvePointUdate.setTerm(50.0);
curvePointUdate.setValue(40.50);
curvePointUdate.setCreationDate(new Timestamp(new Date().getTime()));

when(curvePointRepository.save(any(CurvePoint.class))).thenReturn(curvePoint);

CurvePoint curvePointResult = curvePointRepository.save(curvePoint);

assertThat(curvePointResult).isNotNull();
assertThat(curvePointResult.getId()).isEqualTo(curvePointUdate.getId());
assertThat(curvePointResult.getCurveId()).isEqualTo(curvePointUdate.getCurveId());
assertThat(curvePointResult.getAsOfDate()).isEqualTo(curvePointUdate.getAsOfDate());
assertThat(curvePointResult.getTerm()).isEqualTo(curvePointUdate.getTerm());
assertThat(curvePointResult.getValue()).isEqualTo(curvePointUdate.getValue());
assertThat(curvePointResult.getCreationDate()).isEqualTo(curvePointUdate.getCreationDate());
}

@DisplayName(value = "4°) Suppression de CurvePoint par ID")
@Order(4)
@Test
void test_delete_shoud_deleteCurvePoint_By_Id() {
CurvePoint curvePoint = new CurvePoint();
curvePoint.setId(1);
curvePoint.setCurveId(1);
curvePoint.setAsOfDate(new Timestamp(new Date().getTime()));
curvePoint.setTerm(10.0);
curvePoint.setValue(15.50);
curvePoint.setCreationDate(new Timestamp(new Date().getTime()));

curvePointRepository.deleteById(curvePoint.getId());
}
}
Loading