package devicebus import ( "testing" "github.com/glebarez/sqlite" "github.com/stretchr/testify/require" "gorm.io/gorm" "wails-app/internal/dao" "wails-app/internal/global" ) func TestResolveImagePathUsesOnlySameDeviceUpload(t *testing.T) { db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{}) require.NoError(t, err) require.NoError(t, db.AutoMigrate(&dao.DeviceImage{})) previous := global.GVA_DB global.GVA_DB = db t.Cleanup(func() { global.GVA_DB = previous }) require.NoError(t, db.Create(&dao.DeviceImage{DeviceCode: "CAM-A01", ImageID: "img-1", URL: "uploads/file/img-1.jpg"}).Error) path, err := resolveImagePath("CAM-A01", "img-1", "") require.NoError(t, err) require.Equal(t, "uploads/file/img-1.jpg", path) _, err = resolveImagePath("CAM-A02", "img-1", "") require.Error(t, err) } func TestResolveImagePathKeepsLegacyPath(t *testing.T) { path, err := resolveImagePath("CAM-A01", "", "https://legacy-device/image.jpg") require.NoError(t, err) require.Equal(t, "https://legacy-device/image.jpg", path) }