From 2a83718dd6b01a04e6d5d861e583700bb4622ca3 Mon Sep 17 00:00:00 2001 From: Dmitrii Cravcenco Date: Wed, 6 Dec 2023 17:23:05 +0200 Subject: [PATCH] Lombok optimization --- .../dto/mappers/ExpenseMapper.java | 10 ++----- .../dto/mappers/IncomeMapper.java | 10 ++----- .../service/IncomeServiceTest.java | 27 ++++++++++++++++++- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java index 9bc257f..654dbee 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java @@ -5,25 +5,19 @@ import com.faf223.expensetrackerfaf.dto.ExpenseDTO; import com.faf223.expensetrackerfaf.model.Expense; import com.faf223.expensetrackerfaf.service.ExpenseCategoryService; import com.faf223.expensetrackerfaf.service.ExpenseService; +import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.LocalDate; @Component +@RequiredArgsConstructor public class ExpenseMapper { - private final ExpenseService expenseService; private final ExpenseCategoryService expenseCategoryService; 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) { return new ExpenseDTO(expense.getId(), userMapper.toDto(expense.getUser()), expense.getCategory(), expense.getDate(), expense.getAmount()); diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java index a59a2dd..b3059ce 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java @@ -6,25 +6,19 @@ import com.faf223.expensetrackerfaf.model.Expense; import com.faf223.expensetrackerfaf.model.Income; import com.faf223.expensetrackerfaf.service.IncomeCategoryService; import com.faf223.expensetrackerfaf.service.IncomeService; +import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.LocalDate; @Component +@RequiredArgsConstructor public class IncomeMapper { - private final IncomeService incomeService; private final IncomeCategoryService incomeCategoryService; 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) { return new IncomeDTO(income.getId(), userMapper.toDto(income.getUser()), income.getCategory(), income.getDate(), income.getAmount()); diff --git a/src/test/java/com/faf223/expensetrackerfaf/service/IncomeServiceTest.java b/src/test/java/com/faf223/expensetrackerfaf/service/IncomeServiceTest.java index 57a015b..bcb74ca 100644 --- a/src/test/java/com/faf223/expensetrackerfaf/service/IncomeServiceTest.java +++ b/src/test/java/com/faf223/expensetrackerfaf/service/IncomeServiceTest.java @@ -1,24 +1,49 @@ 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.UserRepository; +import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.Optional; + @ExtendWith(MockitoExtension.class) public class IncomeServiceTest { @Mock private IncomeRepository incomeRepository; - + @Mock + private IncomeCategoryRepository incomeCategoryRepository; + @Mock + private UserRepository userRepository; @InjectMocks private IncomeService incomeService; @Test public void IncomeService_CreateIncome_ReturnsIncome() { + // TODO: move income creation to service or move this test to controller tests + Optional 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(); + }