Files
backend/eatery-service/src/test/java/com/drinkool/entities/InventoryItemEntityTest.java
T
2026-04-01 08:29:21 +00:00

51 lines
1.6 KiB
Java

package com.drinkool.entities;
import io.quarkus.test.junit.QuarkusTest;
import jakarta.transaction.Transactional;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@QuarkusTest
public class InventoryItemEntityTest {
@Test
@Transactional
public void testCreateInventoryItem() {
// 1. Chuẩn bị dữ liệu (Lưu ý: Không còn biến quantity nữa)
String name = "Trà sữa truyền thống";
String unit = "Ly";
// 2. Gọi hàm static create (Không dùng new hay hàm add nữa)
// Hàm này vừa tạo object, vừa gán data, vừa gọi persist() luôn
InventoryItemEntity item = InventoryItemEntity.create(name, unit);
// 3. Kiểm chứng
Assertions.assertNotNull(item, "Entity tạo ra không được null");
Assertions.assertEquals(name, item.name, "Tên không khớp");
Assertions.assertEquals(unit, item.unit, "Đơn vị không khớp");
Assertions.assertNotNull(
item.id,
"ID phải được sinh ra tự động sau khi persist"
);
}
@Test
@Transactional
public void testCreateWithDefaultUnit() {
// 1. Chuẩn bị dữ liệu
String name = "Trân châu đen";
// 2. Gọi hàm static create rút gọn (chỉ truyền name, unit sẽ tự là "unit")
InventoryItemEntity item = InventoryItemEntity.create(name);
// 3. Kiểm chứng
Assertions.assertNotNull(item, "Entity tạo ra không được null");
Assertions.assertEquals(name, item.name, "Tên không khớp");
Assertions.assertEquals("unit", item.unit, "Unit mặc định phải là 'unit'");
Assertions.assertNotNull(
item.id,
"ID phải được sinh ra tự động sau khi persist"
);
}
}