/
berkas
/
Spend-tracker
Обзор
Документация
Войти
/
berkas
/
Spend-tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api/src/test/java/com/spendtracker/repository/TransactionRepositoryTest.java
90 строк
3 KB
akasianov
Created TransactionRepository and tests
14 янв 2026, 23:04
14 янв 2026, 23:04
94d660f
Код
Авторство
О чём код?
package com.spendtracker.repository; import com.spendtracker.domain.Transaction; import com.spendtracker.repository.filter.TransactionFilter; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.context.annotation.Import; import org.springframework.test.context.ActiveProfiles; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; import java.util.Set; import static org.assertj.core.api.Assertions.assertThat; @DataJpaTest @ActiveProfiles("test") @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @Import(com.spendtracker.repository.impl.TransactionRepositoryImpl.class) class TransactionRepositoryTest { private static final String USER_ID = "00000000-0000-0000-0000-000000000001"; private static final String CATEGORY_ID = "10000000-0000-0000-0000-000000000001"; @Autowired private TransactionRepository transactionRepository; @Test void saveTransaction_success() { Transaction transaction = new Transaction( "trx-1", USER_ID, CATEGORY_ID, BigDecimal.valueOf(100), "EXPENSE", LocalDateTime.now() ); Transaction saved = transactionRepository.save(transaction); assertThat(saved.getId()).isEqualTo("trx-1"); } @Test void findAll_byUserId() { transactionRepository.save(new Transaction( "trx-2", USER_ID, CATEGORY_ID, BigDecimal.valueOf(50), "EXPENSE", LocalDateTime.now() )); TransactionFilter filter = new TransactionFilter(); filter.setUserIds(Set.of(USER_ID)); List<Transaction> result = transactionRepository.findAll(filter); assertThat(result).isNotEmpty(); assertThat(result).allMatch(t -> t.getUserId().equals(USER_ID)); } @Test void findAll_byUserAndDateRange() { LocalDateTime now = LocalDateTime.now(); transactionRepository.save(new Transaction( "trx-3", USER_ID, CATEGORY_ID, BigDecimal.valueOf(70), "EXPENSE", now.minusDays(1) )); TransactionFilter filter = new TransactionFilter(); filter.setUserIds(Set.of(USER_ID)); filter.setStart(now.minusDays(2)); filter.setEnd(now); List<Transaction> result = transactionRepository.findAll(filter); assertThat(result).isNotEmpty(); assertThat(result) .allMatch(t -> !t.getDate().isAfter(now)); } }