delete package versions action v1
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import {deletePackageVersion, deletePackageVersions} from '../../src/version'
|
||||
|
||||
const githubToken = process.env.GITHUB_TOKEN as string
|
||||
|
||||
describe.skip('delete tests', () => {
|
||||
it('deletePackageVersion', async () => {
|
||||
const response = await deletePackageVersion(
|
||||
'MDE0OlBhY2thZ2VWZXJzaW9uNjg5OTU1',
|
||||
githubToken
|
||||
).toPromise()
|
||||
expect(response).toBe(true)
|
||||
})
|
||||
|
||||
it('deletePackageVersions', async () => {
|
||||
const response = await deletePackageVersions(
|
||||
[
|
||||
'MDE0OlBhY2thZ2VWZXJzaW9uNjk4Mjc0',
|
||||
'MDE0OlBhY2thZ2VWZXJzaW9uNjk4Mjcx',
|
||||
'MDE0OlBhY2thZ2VWZXJzaW9uNjk4MjY3'
|
||||
],
|
||||
githubToken
|
||||
).toPromise()
|
||||
expect(response).toBe(true)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,68 @@
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
|
||||
// @ts-ignore
|
||||
import {mockOldestQueryResponse} from './graphql.mock'
|
||||
import {
|
||||
getOldestVersions as _getOldestVersions,
|
||||
VersionInfo
|
||||
} from '../../src/version'
|
||||
import {Observable} from 'rxjs'
|
||||
|
||||
describe.skip('get versions tests -- call graphql', () => {
|
||||
it('getOldestVersions -- succeeds', done => {
|
||||
const numVersions = 1
|
||||
|
||||
getOldestVersions({numVersions}).subscribe(versions => {
|
||||
expect(versions.length).toBe(numVersions)
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('getOldestVersions -- fails for invalid repo', done => {
|
||||
getOldestVersions({repo: 'actions-testin'}).subscribe({
|
||||
error: err => {
|
||||
expect(err).toBeTruthy()
|
||||
done()
|
||||
},
|
||||
complete: async () => done.fail('no error thrown')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('get versions tests -- mock graphql', () => {
|
||||
it('getOldestVersions -- success', done => {
|
||||
const numVersions = 5
|
||||
mockOldestQueryResponse(numVersions)
|
||||
|
||||
getOldestVersions({numVersions}).subscribe(versions => {
|
||||
expect(versions.length).toBe(numVersions)
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
interface Params {
|
||||
owner?: string
|
||||
repo?: string
|
||||
packageName?: string
|
||||
numVersions?: number
|
||||
token?: string
|
||||
}
|
||||
|
||||
const defaultParams = {
|
||||
owner: 'trent-j',
|
||||
repo: 'actions-testing',
|
||||
packageName: 'com.github.trent-j.actions-test',
|
||||
numVersions: 3,
|
||||
token: process.env.GITHUB_TOKEN as string
|
||||
}
|
||||
|
||||
function getOldestVersions(params?: Params): Observable<VersionInfo[]> {
|
||||
const p: Required<Params> = {...defaultParams, ...params}
|
||||
return _getOldestVersions(
|
||||
p.owner,
|
||||
p.repo,
|
||||
p.packageName,
|
||||
p.numVersions,
|
||||
p.token
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
import {
|
||||
GraphQlQueryResponseData,
|
||||
RequestParameters
|
||||
} from '@octokit/graphql/dist-types/types'
|
||||
|
||||
import * as Graphql from '@octokit/graphql'
|
||||
import {GetVersionsQueryResponse} from '../../src/version'
|
||||
|
||||
import SpyInstance = jest.SpyInstance
|
||||
|
||||
export function mockGraphql(): SpyInstance<
|
||||
Promise<GraphQlQueryResponseData>,
|
||||
[string, (RequestParameters | undefined)?]
|
||||
> {
|
||||
return jest.spyOn(Graphql, 'graphql')
|
||||
}
|
||||
|
||||
export function getMockedOldestQueryResponse(
|
||||
numVersions: number
|
||||
): GetVersionsQueryResponse {
|
||||
const versions = []
|
||||
|
||||
for (let i = 1; i <= numVersions; ++i) {
|
||||
versions.push({
|
||||
node: {
|
||||
id: i.toString(),
|
||||
version: `${i}.0.0`
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
repository: {
|
||||
packages: {
|
||||
edges: [
|
||||
{
|
||||
node: {
|
||||
name: 'test',
|
||||
versions: {
|
||||
edges: versions.reverse()
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function mockOldestQueryResponse(
|
||||
numVersions: number
|
||||
): ReturnType<typeof mockGraphql> {
|
||||
return mockGraphql().mockResolvedValue(
|
||||
getMockedOldestQueryResponse(numVersions)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user