package photos import ( "strings" "testing" ) func TestObjectKeyIsAlbumFree(t *testing.T) { cases := []struct { name string id string role string ext string want string }{ {"original with dot", "obj1", RoleOriginal, ".jpg", "objects/obj1/original.jpg"}, {"thumb without dot", "obj1", RoleThumb, "webp", "objects/obj1/thumb.webp"}, {"preview", "obj2", RolePreview, ".webp", "objects/obj2/preview.webp"}, {"empty ext", "obj3", RoleOriginal, "", "objects/obj3/original"}, } for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { got := objectKey(tc.id, tc.role, tc.ext) if got != tc.want { t.Fatalf("objectKey = %q, want %q", got, tc.want) } if strings.Contains(got, "album") { t.Fatalf("key must not encode an album entity: %q", got) } }) } }