Testing branch #41

Merged
DmitriiKaban merged 4 commits from testing_branch into master 2023-12-08 15:47:06 +00:00
3 changed files with 30 additions and 17 deletions
Showing only changes of commit 2a83718dd6 - Show all commits

View File

@@ -5,25 +5,19 @@ import com.faf223.expensetrackerfaf.dto.ExpenseDTO;
import com.faf223.expensetrackerfaf.model.Expense; import com.faf223.expensetrackerfaf.model.Expense;
import com.faf223.expensetrackerfaf.service.ExpenseCategoryService; import com.faf223.expensetrackerfaf.service.ExpenseCategoryService;
import com.faf223.expensetrackerfaf.service.ExpenseService; import com.faf223.expensetrackerfaf.service.ExpenseService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDate; import java.time.LocalDate;
@Component @Component
@RequiredArgsConstructor
public class ExpenseMapper { public class ExpenseMapper {
private final ExpenseService expenseService;
private final ExpenseCategoryService expenseCategoryService; private final ExpenseCategoryService expenseCategoryService;
private final UserMapper userMapper; private final UserMapper userMapper;
@Autowired
public ExpenseMapper(ExpenseService expenseService, ExpenseCategoryService expenseCategoryService, UserMapper userMapper) {
this.expenseService = expenseService;
this.expenseCategoryService = expenseCategoryService;
this.userMapper = userMapper;
}
public ExpenseDTO toDto(Expense expense) { public ExpenseDTO toDto(Expense expense) {
return new ExpenseDTO(expense.getId(), userMapper.toDto(expense.getUser()), return new ExpenseDTO(expense.getId(), userMapper.toDto(expense.getUser()),
expense.getCategory(), expense.getDate(), expense.getAmount()); expense.getCategory(), expense.getDate(), expense.getAmount());

View File

@@ -6,25 +6,19 @@ import com.faf223.expensetrackerfaf.model.Expense;
import com.faf223.expensetrackerfaf.model.Income; import com.faf223.expensetrackerfaf.model.Income;
import com.faf223.expensetrackerfaf.service.IncomeCategoryService; import com.faf223.expensetrackerfaf.service.IncomeCategoryService;
import com.faf223.expensetrackerfaf.service.IncomeService; import com.faf223.expensetrackerfaf.service.IncomeService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDate; import java.time.LocalDate;
@Component @Component
@RequiredArgsConstructor
public class IncomeMapper { public class IncomeMapper {
private final IncomeService incomeService;
private final IncomeCategoryService incomeCategoryService; private final IncomeCategoryService incomeCategoryService;
private final UserMapper userMapper; private final UserMapper userMapper;
@Autowired
public IncomeMapper(IncomeService incomeService, IncomeCategoryService incomeCategoryService, UserMapper userMapper) {
this.incomeService = incomeService;
this.incomeCategoryService = incomeCategoryService;
this.userMapper = userMapper;
}
public IncomeDTO toDto(Income income) { public IncomeDTO toDto(Income income) {
return new IncomeDTO(income.getId(), userMapper.toDto(income.getUser()), return new IncomeDTO(income.getId(), userMapper.toDto(income.getUser()),
income.getCategory(), income.getDate(), income.getAmount()); income.getCategory(), income.getDate(), income.getAmount());

View File

@@ -1,24 +1,49 @@
package com.faf223.expensetrackerfaf.service; package com.faf223.expensetrackerfaf.service;
import com.faf223.expensetrackerfaf.model.Income;
import com.faf223.expensetrackerfaf.model.IncomeCategory;
import com.faf223.expensetrackerfaf.model.User;
import com.faf223.expensetrackerfaf.repository.IncomeCategoryRepository;
import com.faf223.expensetrackerfaf.repository.IncomeRepository; import com.faf223.expensetrackerfaf.repository.IncomeRepository;
import com.faf223.expensetrackerfaf.repository.UserRepository;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Optional;
@ExtendWith(MockitoExtension.class) @ExtendWith(MockitoExtension.class)
public class IncomeServiceTest { public class IncomeServiceTest {
@Mock @Mock
private IncomeRepository incomeRepository; private IncomeRepository incomeRepository;
@Mock
private IncomeCategoryRepository incomeCategoryRepository;
@Mock
private UserRepository userRepository;
@InjectMocks @InjectMocks
private IncomeService incomeService; private IncomeService incomeService;
@Test @Test
public void IncomeService_CreateIncome_ReturnsIncome() { public void IncomeService_CreateIncome_ReturnsIncome() {
// TODO: move income creation to service or move this test to controller tests
Optional<User> user = userRepository.findByUsername("Deep Deep");
Assertions.assertThat(user.isPresent()).isTrue();
IncomeCategory incomeCategory = incomeCategoryRepository.getReferenceById(4L);
Income income = Income.builder()
.user(user.get())
.amount(BigDecimal.valueOf(700))
.category(incomeCategory)
.date(LocalDate.of(2023,10,5))
.build();
} }