51 lines
1.6 KiB
Java
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"
|
|
);
|
|
}
|
|
}
|