1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-18 09:35:20 +02:00
joplin/packages/app-desktop/utils/checkForUpdatesUtils.test.ts

108 lines
2.7 KiB
TypeScript

import { extractVersionInfo, Release, Platform, Architecture } from './checkForUpdatesUtils';
import { releases1, releases2 } from './checkForUpdatesUtilsTestData';
describe('checkForUpdates', () => {
it('should extract version info and return the non-arm64 version', async () => {
const testCases: [any, Platform, Architecture, boolean, Release][] = [
[
releases1,
'darwin',
'x64',
false,
{
downloadUrl: 'https://objects.joplinusercontent.com/v2.12.4/Joplin-2.12.4.dmg',
prerelease: true,
pageUrl: 'https://github.com/laurent22/joplin/releases/tag/v2.12.4',
version: '2.12.4',
notes: '',
},
],
[
releases1,
'darwin',
'arm64',
false,
{
downloadUrl: 'https://objects.joplinusercontent.com/v2.12.4/Joplin-2.12.4-arm64.dmg',
prerelease: true,
pageUrl: 'https://github.com/laurent22/joplin/releases/tag/v2.12.4',
version: '2.12.4',
notes: '',
},
],
// Case where we are on macOS ARM64, but no ARM64 version is
// available. In that case, we default to the regular DMG version.
[
releases2,
'darwin',
'arm64',
false,
{
downloadUrl: 'https://objects.joplinusercontent.com/v2.12.4/Joplin-2.12.4.dmg',
prerelease: true,
pageUrl: 'https://github.com/laurent22/joplin/releases/tag/v2.12.4',
version: '2.12.4',
notes: '',
},
],
[
releases1,
'linux',
'x64',
false,
{
downloadUrl: 'https://objects.joplinusercontent.com/v2.12.4/Joplin-2.12.4.AppImage',
prerelease: true,
pageUrl: 'https://github.com/laurent22/joplin/releases/tag/v2.12.4',
version: '2.12.4',
notes: '',
},
],
[
releases1,
'win32',
'x64',
true,
{
downloadUrl: 'https://objects.joplinusercontent.com/v2.12.4/JoplinPortable.exe',
prerelease: true,
pageUrl: 'https://github.com/laurent22/joplin/releases/tag/v2.12.4',
version: '2.12.4',
notes: '',
},
],
[
releases1,
'win32',
'x64',
false,
{
downloadUrl: 'https://objects.joplinusercontent.com/v2.12.4/Joplin-Setup-2.12.4.exe',
prerelease: true,
pageUrl: 'https://github.com/laurent22/joplin/releases/tag/v2.12.4',
version: '2.12.4',
notes: '',
},
],
];
for (const [releases, platform, arch, portable, expected] of testCases) {
const actual = extractVersionInfo(releases, platform, arch, portable, {
includePreReleases: true,
});
expect(actual.downloadUrl).toBe(expected.downloadUrl);
expect(actual.prerelease).toBe(expected.prerelease);
expect(actual.pageUrl).toBe(expected.pageUrl);
expect(actual.version).toBe(expected.version);
}
});
});