// tests/jiraBrowseUrl.test.js import test from 'node:test'; import assert from 'node:assert/strict'; import { getJiraBrowseUrl, formatJiraIssueMarkdownLink, } from '../utils/jiraBrowseUrl.js'; const ORIGINAL_BASE = process.env.JIRA_BASE_URL; test.after(() => { if (ORIGINAL_BASE === undefined) { delete process.env.JIRA_BASE_URL; } else { process.env.JIRA_BASE_URL = ORIGINAL_BASE; } }); test('getJiraBrowseUrl builds browse URL from JIRA_BASE_URL', () => { process.env.JIRA_BASE_URL = 'https://aeo.atlassian.net/'; assert.equal( getJiraBrowseUrl('AV-123'), 'https://aeo.atlassian.net/browse/AV-123', ); }); test('getJiraBrowseUrl returns null for invalid keys', () => { process.env.JIRA_BASE_URL = 'https://aeo.atlassian.net'; assert.equal(getJiraBrowseUrl(''), null); assert.equal(getJiraBrowseUrl('invalid'), null); assert.equal(getJiraBrowseUrl('av-123'), null); }); test('getJiraBrowseUrl returns null when JIRA_BASE_URL is unset', () => { delete process.env.JIRA_BASE_URL; assert.equal(getJiraBrowseUrl('AV-123'), null); }); test('formatJiraIssueMarkdownLink returns markdown link when URL is available', () => { process.env.JIRA_BASE_URL = 'https://aeo.atlassian.net'; assert.equal( formatJiraIssueMarkdownLink('AV-123'), '[AV-123](https://aeo.atlassian.net/browse/AV-123)', ); }); test('formatJiraIssueMarkdownLink falls back to backticks when base URL missing', () => { delete process.env.JIRA_BASE_URL; assert.equal(formatJiraIssueMarkdownLink('AV-123'), '`AV-123`'); });