| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package service;
- import com.danielbohry.stocks.App;
- import com.danielbohry.stocks.domain.Portfolio;
- import com.danielbohry.stocks.domain.Stock;
- import com.danielbohry.stocks.repository.portfolio.PortfolioRepository;
- import com.danielbohry.stocks.repository.stock.StockRepository;
- import com.danielbohry.stocks.service.ExchangeService;
- import com.danielbohry.stocks.service.PortfolioEncryptService;
- import com.danielbohry.stocks.service.PortfolioService;
- import com.danielbohry.stocks.service.StockService;
- import org.junit.jupiter.api.AfterEach;
- import org.junit.jupiter.api.BeforeEach;
- import org.junit.jupiter.api.Disabled;
- import org.junit.jupiter.api.Test;
- import org.mockito.Mock;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.ContextConfiguration;
- import java.util.List;
- import java.util.Optional;
- import static org.junit.jupiter.api.Assertions.*;
- import static org.mockito.ArgumentMatchers.any;
- import static org.mockito.Mockito.when;
- @Disabled
- @SpringBootTest
- @ContextConfiguration(classes = {App.class})
- public class PortfolioServiceTest {
- @Autowired
- private PortfolioRepository portfolioRepository;
- @Mock
- private StockRepository stockRepository;
- @Mock
- private ExchangeService exchangeService;
- @Mock
- private PortfolioEncryptService encryptService;
- private PortfolioService portfolioService;
- @BeforeEach
- public void setup() {
- StockService stockService = new StockService(stockRepository);
- portfolioService = new PortfolioService(portfolioRepository, stockService, exchangeService, encryptService);
- }
- @AfterEach
- public void teardown() {
- portfolioRepository.deleteAll();
- }
- @Test
- public void shouldCreateNewPortfolio() {
- //when
- Portfolio result = portfolioService.create();
- //then
- assertNotNull(result.getId());
- }
- @Test
- public void shouldGetAPortfolio() {
- //given
- Portfolio portfolio = portfolioService.create();
- //when
- Portfolio result = portfolioService.get(portfolio.getId(), "USD");
- //then
- assertNotNull(result.getId());
- }
- @Test
- public void shouldUpdateAPortfolio() {
- //given
- when(stockRepository.isValid(any())).thenReturn(true);
- Portfolio portfolio = portfolioService.create();
- Stock newStock = Stock.builder()
- .code("code")
- .quantity(3)
- .build();
- //when
- Portfolio result = portfolioService.update(portfolio.getId(), List.of(newStock));
- //then
- assertNotNull(result.getId());
- assertFalse(result.getStocks().isEmpty());
- }
- @Test
- public void shouldDeleteAPortfolio() {
- //given
- Portfolio portfolio = portfolioService.create();
- //when
- portfolioService.delete(portfolio.getId());
- //then
- assertEquals(portfolioRepository.findById(portfolio.getId()), Optional.empty());
- }
- }
|