creative assets: <renders>/creative/header.* / search.* fill every language without its own file (art without words needs no copy per locale; one upload, placed per locale)

This commit is contained in:
CRTkafa 2026-10-19 05:47:27 +07:00
parent c03291e7f7
commit 3542b897c8
5 changed files with 21 additions and 8 deletions

View file

@ -53,6 +53,11 @@ describe('creative asset checks', () => {
const fs = creativeFiles('/r', 'en', list);
expect(fs.map(f => [f.placement, f.file, f.universal])).toEqual([['header', '/r/en/creative/header.png', false], ['search', '/r/creative/universal.png', true]]);
});
test('files: a shared <renders>/creative/header.png fills every language without its own', () => {
const list = (d: string) => (d === '/r/creative' ? ['header.png', 'search.mp4', 'universal.png'] : d === '/r/tr/creative' ? ['search.png'] : []);
expect(creativeFiles('/r', 'en', list).map(f => [f.placement, f.file, f.kind, f.universal])).toEqual([['header', '/r/creative/header.png', 'image', false], ['search', '/r/creative/search.mp4', 'video', false]]);
expect(creativeFiles('/r', 'tr', list).map(f => f.file)).toEqual(['/r/creative/header.png', '/r/tr/creative/search.png']);
});
test('info note: an App Store app without any asset; none for Play-only or with files', () => {
const langs = [{ id: 'en', apple: 'en-US' }];
expect(creativeNote({ apple: {}, languages: langs }, '/r', () => [])).toBe(CREATIVE_NOTE);