Files
delete-package-versions/__tests__/delete.test.ts
T

96 lines
2.5 KiB
TypeScript
Raw Normal View History

2020-02-29 19:33:20 -06:00
import {Input, InputParams} from '../src/input'
2021-12-21 09:29:12 +00:00
import {deleteVersions, finalIds} from '../src/delete'
2020-02-29 19:33:20 -06:00
2021-12-21 09:29:12 +00:00
describe('index tests -- call graphql', () => {
2020-02-29 19:33:20 -06:00
it('getVersionIds test -- get oldest version', done => {
const numVersions = 1
2021-12-21 09:29:12 +00:00
finalIds(getInput({numOldVersionsToDelete: numVersions})).subscribe(ids => {
expect(ids.length).toBeGreaterThanOrEqual(numVersions)
done()
})
2020-02-29 19:33:20 -06:00
})
it('getVersionIds test -- get oldest 3 versions', done => {
const numVersions = 3
2021-12-21 09:29:12 +00:00
finalIds(getInput({numOldVersionsToDelete: numVersions})).subscribe(ids => {
expect(ids.length).toBeGreaterThanOrEqual(numVersions)
done()
})
2020-02-29 19:33:20 -06:00
})
it('getVersionIds test -- supplied package version id', done => {
const suppliedIds = [
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB',
'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
]
2021-12-21 09:29:12 +00:00
finalIds(getInput({packageVersionIds: suppliedIds})).subscribe(ids => {
2020-02-29 19:33:20 -06:00
expect(ids).toBe(suppliedIds)
done()
})
})
it('deleteVersions test -- missing token', done => {
deleteVersions(getInput({token: ''})).subscribe({
error: err => {
expect(err).toBeTruthy()
done()
},
complete: async () => done.fail('no error thrown')
})
})
it('deleteVersions test -- missing packageName', done => {
deleteVersions(getInput({packageName: ''})).subscribe({
error: err => {
expect(err).toBeTruthy()
done()
},
complete: async () => done.fail('no error thrown')
})
})
2021-11-08 07:25:16 +00:00
it.skip('deleteVersions test -- delete oldest version', done => {
2021-12-21 09:29:12 +00:00
deleteVersions(getInput({numOldVersionsToDelete: 1})).subscribe(
isSuccess => {
expect(isSuccess).toBe(true)
done()
}
)
2020-02-29 19:33:20 -06:00
})
2021-11-08 07:25:16 +00:00
it.skip('deleteVersions test -- delete 3 oldest versions', done => {
2021-12-21 09:29:12 +00:00
deleteVersions(getInput({numOldVersionsToDelete: 3})).subscribe(
isSuccess => {
expect(isSuccess).toBe(true)
done()
}
)
2021-11-08 07:25:16 +00:00
})
2021-12-21 09:29:12 +00:00
it.skip('deleteVersions test -- keep 5 versions', done => {
2021-11-08 07:25:16 +00:00
deleteVersions(getInput({minVersionsToKeep: 5})).subscribe(isSuccess => {
expect(isSuccess).toBe(true)
done()
})
2020-02-29 19:33:20 -06:00
})
})
const defaultInput: InputParams = {
packageVersionIds: [],
2021-11-08 07:25:16 +00:00
owner: 'namratajha',
repo: 'only-pkg',
packageName: 'onlypkg.maven',
2020-02-29 19:33:20 -06:00
numOldVersionsToDelete: 1,
2021-11-08 07:25:16 +00:00
minVersionsToKeep: 1,
2021-12-21 09:29:12 +00:00
ignoreVersions: RegExp('^$'),
2020-02-29 19:33:20 -06:00
token: process.env.GITHUB_TOKEN as string
}
function getInput(params?: InputParams): Input {
return new Input({...defaultInput, ...params})
}