package db import ( "context" "encoding/json" "testing" "github.com/stretchr/testify/require" ) func TestMessageImageCreatePersistsObjectKey(t *testing.T) { conn, _ := newTestDB(t) ctx := context.Background() store := NewMessageImageStore(conn) created, err := store.Create(ctx, CreateMessageImageOptions{ MessageID: 42, URL: "https://cdn.example.test/assets/2026/11/private.webp", ObjectKey: "2026/11/private.webp", FileName: "private.webp", FileSize: 1234, }) require.NoError(t, err) require.Equal(t, "2026/11/private.webp", created.ObjectKey) var persisted MessageImage require.NoError(t, conn.WithContext(ctx).First(&persisted, created.ID).Error) require.Equal(t, created.ObjectKey, persisted.ObjectKey) byMessage, err := store.GetByMessageIDs(ctx, []uint{42}) require.NoError(t, err) require.Len(t, byMessage[42], 1) require.Equal(t, created.ObjectKey, byMessage[42][0].ObjectKey) encoded, err := json.Marshal(&persisted) require.NoError(t, err) require.NotContains(t, string(encoded), "ObjectKey") require.NotContains(t, string(encoded), "object_key") }