Gruppe L: Bestandsmanagement Tests hinzugefuegt - 10/10 bestanden
parent
ca66a4685d
commit
a88ad8ec1b
|
|
@ -1 +1 @@
|
|||
1
|
||||
8
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
P-000002;Verfuegbar;9.99;0.19;5;;
|
||||
P-000003;Ausverkauft;9.99;0.19;0;;
|
||||
P-000004;Hammer;5.99;0.19;20;;
|
||||
P-000006;Edit Artikel;15.00;0.19;10;;
|
||||
P-000007;Ref Artikel;1.00;0.19;5;;
|
||||
P-000008;Testprodukt;19.99;0.19;100;;
|
||||
|
Binary file not shown.
|
|
@ -0,0 +1,114 @@
|
|||
package bestandsmanagement;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class BestandsmanagementTest {
|
||||
|
||||
private ProduktServiceImpl service;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() throws Exception {
|
||||
service = new ProduktServiceImpl();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-01: Artikel anlegen -> ID P-000001 vergeben")
|
||||
void tc01ArtikelAnlegen() {
|
||||
Produkt p = service.produktAnlegen("Testprodukt",
|
||||
new BigDecimal("19.99"), new BigDecimal("0.19"), 100, null);
|
||||
assertNotNull(p);
|
||||
assertTrue(p.getProduktId().startsWith("P-"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-02: Artikel mit negativem Bestand wird abgelehnt (F-09)")
|
||||
void tc02NegativerBestand() {
|
||||
Produkt p = service.produktAnlegen("Testprodukt",
|
||||
new BigDecimal("19.99"), new BigDecimal("0.19"), -1, null);
|
||||
assertNull(p);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-03: Artikel ohne Bezeichnung wird abgelehnt")
|
||||
void tc03FehlenderName() {
|
||||
Produkt p = service.produktAnlegen("",
|
||||
new BigDecimal("19.99"), new BigDecimal("0.19"), 10, null);
|
||||
assertNull(p);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-04: Bestand 0 -> Artikel wird als nicht verfuegbar markiert (F-08)")
|
||||
void tc04BestandNull() {
|
||||
Produkt p = service.produktAnlegen("Ausverkauft",
|
||||
new BigDecimal("9.99"), new BigDecimal("0.19"), 0, null);
|
||||
assertNotNull(p);
|
||||
assertFalse(p.isVerfuegbar());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-05: Bestand > 0 -> Artikel ist verfuegbar")
|
||||
void tc05BestandPositiv() {
|
||||
Produkt p = service.produktAnlegen("Verfuegbar",
|
||||
new BigDecimal("9.99"), new BigDecimal("0.19"), 5, null);
|
||||
assertNotNull(p);
|
||||
assertTrue(p.isVerfuegbar());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-06: Artikel bearbeiten aktualisiert Preis (F-03, F-04)")
|
||||
void tc06ArtikelBearbeiten() {
|
||||
Produkt p = service.produktAnlegen("Edit Artikel",
|
||||
new BigDecimal("10.00"), new BigDecimal("0.19"), 10, null);
|
||||
assertNotNull(p);
|
||||
boolean ok = service.produktBearbeiten(p.getProduktId(), "Edit Artikel",
|
||||
new BigDecimal("15.00"), new BigDecimal("0.19"), 10, null);
|
||||
assertTrue(ok);
|
||||
assertEquals(new BigDecimal("15.00"),
|
||||
service.findeProdukt(p.getProduktId()).getNettoEinzelpreis());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-07: Suche nach Bezeichnung findet Treffer (F-07)")
|
||||
void tc07SucheNachBezeichnung() {
|
||||
service.produktAnlegen("Hammer",
|
||||
new BigDecimal("5.99"), new BigDecimal("0.19"), 20, null);
|
||||
List<Produkt> treffer = service.sucheNachBezeichnung("Hammer");
|
||||
assertFalse(treffer.isEmpty());
|
||||
assertEquals("Hammer", treffer.get(0).getBezeichnung());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-08: findeProdukt gibt null fuer unbekannte ID zurueck")
|
||||
void tc08FindeProduktNull() {
|
||||
assertNull(service.findeProdukt("P-999999"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-09: Loeschen referenzierter Artikel wird abgelehnt (F-11)")
|
||||
void tc09LoeschsperreReferenzierterArtikel() {
|
||||
Produkt p = service.produktAnlegen("Ref Artikel",
|
||||
new BigDecimal("1.00"), new BigDecimal("0.19"), 5, null);
|
||||
assertNotNull(p);
|
||||
p.belegHinzufuegen("R-2026-000001");
|
||||
boolean geloescht = service.produktLoeschen(p.getProduktId());
|
||||
assertFalse(geloescht);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("TC-10: Loeschen nicht referenzierter Artikel funktioniert (F-10)")
|
||||
void tc10LoeschenErfolgreich() {
|
||||
Produkt p = service.produktAnlegen("Temp Artikel",
|
||||
new BigDecimal("1.00"), new BigDecimal("0.19"), 5, null);
|
||||
assertNotNull(p);
|
||||
boolean geloescht = service.produktLoeschen(p.getProduktId());
|
||||
assertTrue(geloescht);
|
||||
assertNull(service.findeProdukt(p.getProduktId()));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue