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