diff --git a/src/utils/serverVersion.spec.ts b/src/utils/serverVersion.spec.ts new file mode 100644 index 000000000..119cc2611 --- /dev/null +++ b/src/utils/serverVersion.spec.ts @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { promises as fs } from 'fs'; +import { getServerVersionFromPackageJson } from './serverVersion'; + +it('getServerVersionFromPackageJson works', async () => { + const major = 2; + const minor = 0; + const patch = 0; + const preRelease = 'dev'; + /* eslint-disable @typescript-eslint/require-await*/ + jest.spyOn(fs, 'readFile').mockImplementationOnce(async (_) => { + return `{ +"version": "${major}.${minor}.${patch}" +} +`; + }); + const serverVersion = await getServerVersionFromPackageJson(); + expect(serverVersion.major).toEqual(major); + expect(serverVersion.minor).toEqual(minor); + expect(serverVersion.patch).toEqual(patch); + expect(serverVersion.preRelease).toEqual(preRelease); +}); diff --git a/src/utils/serverVersion.ts b/src/utils/serverVersion.ts index 21a553cc2..bfdc4f0fc 100644 --- a/src/utils/serverVersion.ts +++ b/src/utils/serverVersion.ts @@ -11,7 +11,7 @@ import { join as joinPath } from 'path'; let versionCache: ServerVersion; export async function getServerVersionFromPackageJson(): Promise { - if (versionCache === null) { + if (versionCache === undefined) { const rawFileContent: string = await fs.readFile( joinPath(__dirname, '../../package.json'), { encoding: 'utf8' },