Fixes #529 Collect asset URLs into output

This commit is contained in:
Nick Cipollo
2025-06-29 16:12:11 -04:00
parent 9128f238ee
commit 707331a88d
11 changed files with 327 additions and 86 deletions

View File

@@ -1,11 +1,8 @@
const mockSetOutput = jest.fn()
import { CoreOutputs, type Outputs } from "../src/Outputs"
import type { ReleaseData } from "../src/Releases"
import { CoreOutputs, Outputs } from "../src/Outputs"
import { ReleaseData } from "../src/Releases"
jest.mock("@actions/core", () => {
return { setOutput: mockSetOutput }
})
jest.mock("@actions/core")
const { setOutput: mockSetOutput } = jest.mocked(require("@actions/core"))
const TEST_URLS = {
HTML_URL: "https://api.example.com/assets",
@@ -48,4 +45,19 @@ describe("Outputs", () => {
expect(mockSetOutput).toHaveBeenCalledWith("tarball_url", "")
expect(mockSetOutput).toHaveBeenCalledWith("zipball_url", "")
})
it("Applies asset URLs to the action output", () => {
const assetUrls = {
"example.zip": "https://github.com/owner/repo/releases/download/v1.0.0/example.zip",
"example.tar.gz": "https://github.com/owner/repo/releases/download/v1.0.0/example.tar.gz",
}
outputs.applyAssetUrls(assetUrls)
expect(mockSetOutput).toHaveBeenCalledWith("assets", JSON.stringify(assetUrls))
})
it("Applies empty asset URLs to the action output", () => {
const assetUrls = {}
outputs.applyAssetUrls(assetUrls)
expect(mockSetOutput).toHaveBeenCalledWith("assets", JSON.stringify(assetUrls))
})
})