add unit tests
This commit is contained in:
@@ -1,27 +1,23 @@
|
||||
import {Input, InputParams} from '../src/input'
|
||||
import {deleteVersions, getVersionIds} from '../src/delete'
|
||||
import {deleteVersions, finalIds} from '../src/delete'
|
||||
|
||||
describe.skip('index tests -- call graphql', () => {
|
||||
describe('index tests -- call graphql', () => {
|
||||
it('getVersionIds test -- get oldest version', done => {
|
||||
const numVersions = 1
|
||||
|
||||
getVersionIds(getInput({numOldVersionsToDelete: numVersions})).subscribe(
|
||||
ids => {
|
||||
expect(ids.length).toBeLessThanOrEqual(numVersions)
|
||||
done()
|
||||
}
|
||||
)
|
||||
finalIds(getInput({numOldVersionsToDelete: numVersions})).subscribe(ids => {
|
||||
expect(ids.length).toBeGreaterThanOrEqual(numVersions)
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('getVersionIds test -- get oldest 3 versions', done => {
|
||||
const numVersions = 3
|
||||
|
||||
getVersionIds(getInput({numOldVersionsToDelete: numVersions})).subscribe(
|
||||
ids => {
|
||||
expect(ids.length).toBeLessThanOrEqual(numVersions)
|
||||
done()
|
||||
}
|
||||
)
|
||||
finalIds(getInput({numOldVersionsToDelete: numVersions})).subscribe(ids => {
|
||||
expect(ids.length).toBeGreaterThanOrEqual(numVersions)
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('getVersionIds test -- supplied package version id', done => {
|
||||
@@ -31,7 +27,7 @@ describe.skip('index tests -- call graphql', () => {
|
||||
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
|
||||
]
|
||||
|
||||
getVersionIds(getInput({packageVersionIds: suppliedIds})).subscribe(ids => {
|
||||
finalIds(getInput({packageVersionIds: suppliedIds})).subscribe(ids => {
|
||||
expect(ids).toBe(suppliedIds)
|
||||
done()
|
||||
})
|
||||
@@ -58,24 +54,24 @@ describe.skip('index tests -- call graphql', () => {
|
||||
})
|
||||
|
||||
it.skip('deleteVersions test -- delete oldest version', done => {
|
||||
deleteVersions(
|
||||
getInput({numOldVersionsToDelete: 2, minVersionsToKeep: 1})
|
||||
).subscribe(isSuccess => {
|
||||
expect(isSuccess).toBe(true)
|
||||
done()
|
||||
})
|
||||
deleteVersions(getInput({numOldVersionsToDelete: 1})).subscribe(
|
||||
isSuccess => {
|
||||
expect(isSuccess).toBe(true)
|
||||
done()
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
it.skip('deleteVersions test -- delete 3 oldest versions', done => {
|
||||
deleteVersions(
|
||||
getInput({numOldVersionsToDelete: 3, minVersionsToKeep: 1})
|
||||
).subscribe(isSuccess => {
|
||||
expect(isSuccess).toBe(true)
|
||||
done()
|
||||
})
|
||||
deleteVersions(getInput({numOldVersionsToDelete: 3})).subscribe(
|
||||
isSuccess => {
|
||||
expect(isSuccess).toBe(true)
|
||||
done()
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
it('deleteVersions test -- keep 5 versions', done => {
|
||||
it.skip('deleteVersions test -- keep 5 versions', done => {
|
||||
deleteVersions(getInput({minVersionsToKeep: 5})).subscribe(isSuccess => {
|
||||
expect(isSuccess).toBe(true)
|
||||
done()
|
||||
@@ -90,6 +86,7 @@ const defaultInput: InputParams = {
|
||||
packageName: 'onlypkg.maven',
|
||||
numOldVersionsToDelete: 1,
|
||||
minVersionsToKeep: 1,
|
||||
ignoreVersions: RegExp('^$'),
|
||||
token: process.env.GITHUB_TOKEN as string
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
|
||||
// @ts-ignore
|
||||
import {mockOldestQueryResponse} from './graphql.mock'
|
||||
import {
|
||||
getOldestVersions as _getOldestVersions,
|
||||
VersionInfo
|
||||
QueryInfo
|
||||
} from '../../src/version'
|
||||
import {Observable} from 'rxjs'
|
||||
|
||||
describe.skip('get versions tests -- call graphql', () => {
|
||||
describe('get versions tests -- call graphql', () => {
|
||||
it('getOldestVersions -- succeeds', done => {
|
||||
const numVersions = 1
|
||||
getOldestVersions({numVersions}).subscribe(result => {
|
||||
expect(result.versions.length).toBe(numVersions)
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
getOldestVersions({numVersions}).subscribe(versions => {
|
||||
expect(versions.length).toBe(numVersions)
|
||||
it('getOldestVersions -- succeeds for more than 100 versions', done => {
|
||||
const numVersions = 110
|
||||
getOldestVersions({numVersions}).subscribe(result => {
|
||||
expect(result.versions.length).toBe(100)
|
||||
done()
|
||||
})
|
||||
})
|
||||
@@ -33,8 +38,8 @@ describe('get versions tests -- mock graphql', () => {
|
||||
const numVersions = 5
|
||||
mockOldestQueryResponse(numVersions)
|
||||
|
||||
getOldestVersions({numVersions}).subscribe(versions => {
|
||||
expect(versions.length).toBe(numVersions)
|
||||
getOldestVersions({numVersions}).subscribe(result => {
|
||||
expect(result.versions.length).toBe(numVersions)
|
||||
done()
|
||||
})
|
||||
})
|
||||
@@ -45,24 +50,27 @@ interface Params {
|
||||
repo?: string
|
||||
packageName?: string
|
||||
numVersions?: number
|
||||
startCursor?: string
|
||||
token?: string
|
||||
}
|
||||
|
||||
const defaultParams = {
|
||||
owner: 'namratajha',
|
||||
repo: 'only-pkg',
|
||||
packageName: 'onlypkg.maven',
|
||||
numVersions: 3,
|
||||
packageName: 'only-pkg',
|
||||
numVersions: 1,
|
||||
startCursor: '',
|
||||
token: process.env.GITHUB_TOKEN as string
|
||||
}
|
||||
|
||||
function getOldestVersions(params?: Params): Observable<VersionInfo[]> {
|
||||
function getOldestVersions(params?: Params): Observable<QueryInfo> {
|
||||
const p: Required<Params> = {...defaultParams, ...params}
|
||||
return _getOldestVersions(
|
||||
p.owner,
|
||||
p.repo,
|
||||
p.packageName,
|
||||
p.numVersions,
|
||||
p.startCursor,
|
||||
p.token
|
||||
)
|
||||
}
|
||||
|
||||
@@ -6,11 +6,11 @@ import {
|
||||
import * as Graphql from '../../src/version/graphql'
|
||||
import {GetVersionsQueryResponse} from '../../src/version'
|
||||
|
||||
export function getMockedOldestQueryResponseForLessThan100(
|
||||
export function getMockedOldestQueryResponse(
|
||||
numVersions: number
|
||||
): GetVersionsQueryResponse {
|
||||
const versions = []
|
||||
|
||||
numVersions = numVersions < 100 ? numVersions : numVersions
|
||||
for (let i = 1; i <= numVersions; ++i) {
|
||||
versions.push({
|
||||
node: {
|
||||
@@ -28,7 +28,12 @@ export function getMockedOldestQueryResponseForLessThan100(
|
||||
node: {
|
||||
name: 'test',
|
||||
versions: {
|
||||
edges: versions.reverse()
|
||||
totalCount: 200,
|
||||
edges: versions.reverse(),
|
||||
pageInfo: {
|
||||
startCursor: 'AAA',
|
||||
hasPreviousPage: false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,12 +43,13 @@ export function getMockedOldestQueryResponseForLessThan100(
|
||||
}
|
||||
}
|
||||
|
||||
export function mockOldestQueryResponse(
|
||||
numVersions: number
|
||||
) {
|
||||
const response = new Promise((resolve) => {
|
||||
export function mockOldestQueryResponse(numVersions: number): void {
|
||||
const response = new Promise<GetVersionsQueryResponse>(resolve => {
|
||||
resolve(getMockedOldestQueryResponse(numVersions))
|
||||
}) as Promise<GraphQlQueryResponseData>
|
||||
jest.spyOn(Graphql, 'graphql').mockImplementation(
|
||||
(token: string, query: string, parameters: RequestParameters) => response)
|
||||
jest
|
||||
.spyOn(Graphql, 'graphql')
|
||||
.mockImplementation(
|
||||
(token: string, query: string, parameters: RequestParameters) => response
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user