2022-04-25 03:17:05 +00:00
|
|
|
import {describe, expect, it} from '@jest/globals';
|
2020-05-07 00:15:24 +00:00
|
|
|
import * as github from '../src/github';
|
|
|
|
|
2023-01-30 13:11:41 +00:00
|
|
|
describe('getRelease', () => {
|
2020-05-07 00:15:24 +00:00
|
|
|
it('returns latest GoReleaser GitHub release', async () => {
|
2023-01-30 13:11:41 +00:00
|
|
|
const release = await github.getRelease('goreleaser', 'latest');
|
2020-05-07 00:15:24 +00:00
|
|
|
expect(release).not.toBeNull();
|
|
|
|
expect(release?.tag_name).not.toEqual('');
|
|
|
|
});
|
2022-04-25 03:17:05 +00:00
|
|
|
|
2021-10-15 12:43:54 +00:00
|
|
|
it('returns v0.182.0 GoReleaser GitHub release', async () => {
|
2023-01-30 13:11:41 +00:00
|
|
|
const release = await github.getRelease('goreleaser', 'v0.182.0');
|
2020-05-07 00:15:24 +00:00
|
|
|
expect(release).not.toBeNull();
|
2021-10-15 12:43:54 +00:00
|
|
|
expect(release?.tag_name).toEqual('v0.182.0');
|
2020-05-07 00:15:24 +00:00
|
|
|
});
|
2022-04-25 03:17:05 +00:00
|
|
|
|
2021-10-15 12:43:54 +00:00
|
|
|
it('returns v0.182.1 GoReleaser GitHub release', async () => {
|
2023-01-30 13:11:41 +00:00
|
|
|
const release = await github.getRelease('goreleaser', '~> 0.182');
|
2020-06-15 16:05:51 +00:00
|
|
|
expect(release).not.toBeNull();
|
2021-10-15 12:43:54 +00:00
|
|
|
expect(release?.tag_name).toEqual('v0.182.1');
|
2020-06-15 16:05:51 +00:00
|
|
|
});
|
2022-04-25 03:17:05 +00:00
|
|
|
|
2023-01-30 13:11:41 +00:00
|
|
|
it('unknown GoReleaser release', async () => {
|
|
|
|
await expect(github.getRelease('goreleaser', 'foo')).rejects.toThrowError(
|
|
|
|
new Error('Cannot find GoReleaser release foo in https://goreleaser.com/static/releases.json')
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
2021-05-27 03:25:31 +00:00
|
|
|
it('returns latest GoReleaser Pro GitHub release', async () => {
|
2023-01-30 13:11:41 +00:00
|
|
|
const release = await github.getRelease('goreleaser-pro', 'latest');
|
2021-05-27 03:25:31 +00:00
|
|
|
expect(release).not.toBeNull();
|
|
|
|
expect(release?.tag_name).not.toEqual('');
|
|
|
|
});
|
2022-04-25 03:17:05 +00:00
|
|
|
|
2023-01-30 13:11:41 +00:00
|
|
|
it('returns v0.182.0 GoReleaser Pro GitHub release', async () => {
|
|
|
|
const release = await github.getRelease('goreleaser-pro', 'v0.182.0');
|
2021-05-27 03:25:31 +00:00
|
|
|
expect(release).not.toBeNull();
|
2021-10-15 12:43:54 +00:00
|
|
|
expect(release?.tag_name).toEqual('v0.182.0-pro');
|
2021-05-27 03:25:31 +00:00
|
|
|
});
|
2022-04-25 03:17:05 +00:00
|
|
|
|
2023-01-30 13:11:41 +00:00
|
|
|
it('returns v0.182.1 GoReleaser Pro GitHub release', async () => {
|
|
|
|
const release = await github.getRelease('goreleaser-pro', '~> 0.182');
|
2021-05-27 03:25:31 +00:00
|
|
|
expect(release).not.toBeNull();
|
2021-10-15 12:43:54 +00:00
|
|
|
expect(release?.tag_name).toEqual('v0.182.1-pro');
|
2021-05-27 03:25:31 +00:00
|
|
|
});
|
2023-01-30 13:11:41 +00:00
|
|
|
|
|
|
|
it('unknown GoReleaser Pro release', async () => {
|
|
|
|
await expect(github.getRelease('goreleaser-pro', 'foo')).rejects.toThrowError(
|
|
|
|
new Error('Cannot find GoReleaser release foo-pro in https://goreleaser.com/static/releases-pro.json')
|
|
|
|
);
|
|
|
|
});
|
2020-05-07 00:15:24 +00:00
|
|
|
});
|