Files
delete-package-versions/__tests__/version/rest.mock.ts
T

46 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-12-30 05:12:10 +00:00
import {RestEndpointMethodTypes} from '@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types'
2022-12-30 20:03:11 +00:00
type GetVersionsResponseData =
RestEndpointMethodTypes['packages']['getAllPackageVersionsForPackageOwnedByUser']['response']['data']
type PackageType =
RestEndpointMethodTypes['packages']['getAllPackageVersionsForPackageOwnedByUser']['parameters']['package_type']
2022-12-30 05:12:10 +00:00
export function getMockedVersionsResponse(
2022-12-30 20:03:11 +00:00
numVersions: number,
offset = 0,
packageType = 'npm',
tagged = false
2022-12-30 05:12:10 +00:00
): GetVersionsResponseData {
const versions: GetVersionsResponseData = []
2022-12-30 20:03:11 +00:00
for (let i = 1 + offset; i <= numVersions + offset; ++i) {
const created_at = new Date()
created_at.setUTCFullYear(2000 + Number(i), 1, 1)
let version = {
2022-12-30 05:12:10 +00:00
id: i,
2022-12-30 20:03:11 +00:00
name: `${i}.0.0`,
2022-12-30 05:12:10 +00:00
url: '',
2022-12-30 20:03:11 +00:00
created_at: created_at.toUTCString(),
2022-12-30 05:12:10 +00:00
package_html_url: '',
updated_at: '',
metadata: {
package_type: packageType as PackageType
}
} as GetVersionsResponseData[0]
if (packageType === 'container' && tagged) {
version = {
...version,
metadata: {
package_type: packageType as PackageType,
container: {
tags: [`latest${i}`] as string[]
}
}
}
}
versions.push(version)
2022-12-30 05:12:10 +00:00
}
return versions
}