Spaces:
Sleeping
Sleeping
| 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; | |
| class InvoiceApiApplicationTests { | |
| private InvoiceRepository invoiceRepository; | |
| private InvoiceService invoiceService; | |
| void contextLoads() { | |
| // Verifies application context loads successfully | |
| } | |
| void databaseIsSeeded() { | |
| long count = invoiceRepository.count(); | |
| assertThat(count).isGreaterThan(0); | |
| } | |
| void canFetchBySupplierId() { | |
| var results = invoiceService.getInvoicesBySupplierId("SUP-001"); | |
| assertThat(results).isNotEmpty(); | |
| results.forEach(inv -> assertThat(inv.getSupplierId()).isEqualTo("SUP-001")); | |
| } | |
| void canFetchByStatus() { | |
| var results = invoiceService.getInvoicesByStatus(Invoice.InvoiceStatus.PAID); | |
| assertThat(results).isNotEmpty(); | |
| results.forEach(inv -> assertThat(inv.getStatus()).isEqualTo("PAID")); | |
| } | |
| void canFetchByInvoiceId() { | |
| var result = invoiceService.getInvoiceByInvoiceId("INV-2024-0001"); | |
| assertThat(result).isPresent(); | |
| assertThat(result.get().getInvoiceId()).isEqualTo("INV-2024-0001"); | |
| } | |
| void canGenerateSummary() { | |
| var summary = invoiceService.getSummary(); | |
| assertThat(summary.getTotalInvoices()).isGreaterThan(0); | |
| assertThat(summary.getCountByStatus()).isNotEmpty(); | |
| } | |
| } | |