mirror of
https://github.com/immich-app/immich.git
synced 2026-06-12 11:01:45 -07:00
fix: version tests (#29032)
This commit is contained in:
@@ -95,7 +95,7 @@ describe('/server', () => {
|
|||||||
major: expect.any(Number),
|
major: expect.any(Number),
|
||||||
minor: expect.any(Number),
|
minor: expect.any(Number),
|
||||||
patch: expect.any(Number),
|
patch: expect.any(Number),
|
||||||
prerelease: null,
|
prerelease: expect.anything(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
import { SemVer } from 'semver';
|
import { SemVer } from 'semver';
|
||||||
import { defaults } from 'src/config';
|
import { defaults } from 'src/config';
|
||||||
import { serverVersion } from 'src/constants';
|
|
||||||
import { ReleaseChannel } from 'src/dtos/system-config.dto';
|
import { ReleaseChannel } from 'src/dtos/system-config.dto';
|
||||||
import { CronJob, JobName, JobStatus, SystemMetadataKey } from 'src/enum';
|
import { CronJob, JobName, JobStatus, SystemMetadataKey } from 'src/enum';
|
||||||
import { VersionService } from 'src/services/version.service';
|
import { VersionService } from 'src/services/version.service';
|
||||||
@@ -23,16 +22,10 @@ describe(VersionService.name, () => {
|
|||||||
mocks.cron.update.mockResolvedValue();
|
mocks.cron.update.mockResolvedValue();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeAll(() => {
|
vitest.mock(import('src/constants.js'), async (importOriginal) => ({
|
||||||
vitest.mock(import('src/constants.js'), async () => ({
|
...(await importOriginal()),
|
||||||
...(await vitest.importActual<typeof import('src/constants.js')>('src/constants.js')),
|
serverVersion: new SemVer('v3.0.0'),
|
||||||
serverVersion: new SemVer('v3.0.0'),
|
}));
|
||||||
}));
|
|
||||||
});
|
|
||||||
|
|
||||||
afterAll(() => {
|
|
||||||
vitest.unmock(import('src/constants.js'));
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should work', () => {
|
it('should work', () => {
|
||||||
expect(sut).toBeDefined();
|
expect(sut).toBeDefined();
|
||||||
@@ -53,7 +46,7 @@ describe(VersionService.name, () => {
|
|||||||
mocks.versionHistory.getLatest.mockResolvedValue({
|
mocks.versionHistory.getLatest.mockResolvedValue({
|
||||||
id: 'version-1',
|
id: 'version-1',
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
version: serverVersion.toString(),
|
version: '3.0.0',
|
||||||
});
|
});
|
||||||
await expect(sut.onBootstrap()).resolves.toBeUndefined();
|
await expect(sut.onBootstrap()).resolves.toBeUndefined();
|
||||||
expect(mocks.versionHistory.create).not.toHaveBeenCalled();
|
expect(mocks.versionHistory.create).not.toHaveBeenCalled();
|
||||||
@@ -64,7 +57,7 @@ describe(VersionService.name, () => {
|
|||||||
mocks.versionHistory.getLatest.mockResolvedValue({
|
mocks.versionHistory.getLatest.mockResolvedValue({
|
||||||
id: 'version-1',
|
id: 'version-1',
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
version: serverVersion.toString(),
|
version: '3.0.0',
|
||||||
});
|
});
|
||||||
await sut.onBootstrap();
|
await sut.onBootstrap();
|
||||||
expect(mocks.cron.create).toHaveBeenCalledWith(
|
expect(mocks.cron.create).toHaveBeenCalledWith(
|
||||||
@@ -121,7 +114,7 @@ describe(VersionService.name, () => {
|
|||||||
checkedAt: DateTime.utc().minus({ seconds: 60 }).toISO(),
|
checkedAt: DateTime.utc().minus({ seconds: 60 }).toISO(),
|
||||||
releaseVersion: '1.0.0',
|
releaseVersion: '1.0.0',
|
||||||
});
|
});
|
||||||
mocks.serverInfo.getLatestRelease.mockResolvedValue(mockVersionResponse(serverVersion.toString()));
|
mocks.serverInfo.getLatestRelease.mockResolvedValue(mockVersionResponse('v3.0.0'));
|
||||||
await expect(sut.handleVersionCheck()).resolves.toEqual(JobStatus.Success);
|
await expect(sut.handleVersionCheck()).resolves.toEqual(JobStatus.Success);
|
||||||
expect(mocks.serverInfo.getLatestRelease).toHaveBeenCalled();
|
expect(mocks.serverInfo.getLatestRelease).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
@@ -135,11 +128,11 @@ describe(VersionService.name, () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should not notify if the version is equal', async () => {
|
it('should not notify if the version is equal', async () => {
|
||||||
mocks.serverInfo.getLatestRelease.mockResolvedValue(mockVersionResponse(serverVersion.toString()));
|
mocks.serverInfo.getLatestRelease.mockResolvedValue(mockVersionResponse('v3.0.0'));
|
||||||
await expect(sut.handleVersionCheck()).resolves.toEqual(JobStatus.Success);
|
await expect(sut.handleVersionCheck()).resolves.toEqual(JobStatus.Success);
|
||||||
expect(mocks.systemMetadata.set).toHaveBeenCalledWith(SystemMetadataKey.VersionCheckState, {
|
expect(mocks.systemMetadata.set).toHaveBeenCalledWith(SystemMetadataKey.VersionCheckState, {
|
||||||
checkedAt: expect.any(String),
|
checkedAt: expect.any(String),
|
||||||
releaseVersion: serverVersion.toString(),
|
releaseVersion: 'v3.0.0',
|
||||||
});
|
});
|
||||||
expect(mocks.websocket.clientBroadcast).not.toHaveBeenCalled();
|
expect(mocks.websocket.clientBroadcast).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user