Spaces:
Sleeping
Sleeping
File size: 1,799 Bytes
1640aa5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | package com.erp.invoice;
import com.erp.invoice.model.Invoice;
import com.erp.invoice.repository.InvoiceRepository;
import com.erp.invoice.service.InvoiceService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest
class InvoiceApiApplicationTests {
@Autowired
private InvoiceRepository invoiceRepository;
@Autowired
private InvoiceService invoiceService;
@Test
void contextLoads() {
// Verifies application context loads successfully
}
@Test
void databaseIsSeeded() {
long count = invoiceRepository.count();
assertThat(count).isGreaterThan(0);
}
@Test
void canFetchBySupplierId() {
var results = invoiceService.getInvoicesBySupplierId("SUP-001");
assertThat(results).isNotEmpty();
results.forEach(inv -> assertThat(inv.getSupplierId()).isEqualTo("SUP-001"));
}
@Test
void canFetchByStatus() {
var results = invoiceService.getInvoicesByStatus(Invoice.InvoiceStatus.PAID);
assertThat(results).isNotEmpty();
results.forEach(inv -> assertThat(inv.getStatus()).isEqualTo("PAID"));
}
@Test
void canFetchByInvoiceId() {
var result = invoiceService.getInvoiceByInvoiceId("INV-2024-0001");
assertThat(result).isPresent();
assertThat(result.get().getInvoiceId()).isEqualTo("INV-2024-0001");
}
@Test
void canGenerateSummary() {
var summary = invoiceService.getSummary();
assertThat(summary.getTotalInvoices()).isGreaterThan(0);
assertThat(summary.getCountByStatus()).isNotEmpty();
}
}
|