mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-23 03:00:14 +08:00
Add expiry metadata to action artifacts in the run view and show it on hover. --------- Signed-off-by: Nicolas <bircni@icloud.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Claude (Opus 4.6) <noreply@anthropic.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import {buildArtifactTooltipHtml} from './ActionRunArtifacts.ts';
|
|
import {normalizeTestHtml} from '../utils/testhelper.ts';
|
|
|
|
describe('buildArtifactTooltipHtml', () => {
|
|
test('active artifact', () => {
|
|
const result = buildArtifactTooltipHtml({
|
|
name: 'artifact.zip',
|
|
size: 1024 * 1024,
|
|
status: 'completed',
|
|
expiresUnix: Date.UTC(2026, 2, 20, 12, 0, 0) / 1000,
|
|
}, 'Expires at %s (extra)');
|
|
|
|
expect(normalizeTestHtml(result)).toBe(normalizeTestHtml(`<span class="flex-text-inline">
|
|
<span>Expires at </span>
|
|
<relative-time datetime="2026-03-20T12:00:00.000Z" threshold="P0Y" prefix="" weekday="" year="numeric" month="short" hour="numeric" minute="2-digit">
|
|
2026-03-20T12:00:00.000Z
|
|
</relative-time>
|
|
<span> (extra)</span>
|
|
<span class="inline-divider">,</span>
|
|
<span>1.0 MiB</span>
|
|
</span>
|
|
`));
|
|
});
|
|
|
|
test('no expiry', () => {
|
|
const result = buildArtifactTooltipHtml({
|
|
name: 'artifact.zip',
|
|
size: 512,
|
|
status: 'completed',
|
|
expiresUnix: 0,
|
|
}, 'Expires at %s');
|
|
expect(normalizeTestHtml(result)).toBe(`<span class="flex-text-inline">512 B</span>`);
|
|
});
|
|
});
|