fix(server): skip smtp validation if unchanged (#12111)

* fix(server): skip smtp validation if unchanged

* update comparison + convert config to plain object
This commit is contained in:
Michel Heusschen
2024-08-29 20:10:09 +02:00
committed by GitHub
parent d08a20bd57
commit 74f18a4523
4 changed files with 29 additions and 3 deletions

View File

@@ -1,4 +1,6 @@
import { plainToInstance } from 'class-transformer';
import { defaults, SystemConfig } from 'src/config';
import { SystemConfigDto } from 'src/dtos/system-config.dto';
import { AlbumUserEntity } from 'src/entities/album-user.entity';
import { AssetFileEntity } from 'src/entities/asset-files.entity';
import { AssetFileType, UserMetadataKey } from 'src/enum';
@@ -112,6 +114,14 @@ describe(NotificationService.name, () => {
expect(notificationMock.verifySmtp).not.toHaveBeenCalled();
});
it('skips smtp validation with DTO when there are no changes', async () => {
const oldConfig = { ...configs.smtpEnabled };
const newConfig = plainToInstance(SystemConfigDto, configs.smtpEnabled);
await expect(sut.onConfigValidate({ oldConfig, newConfig })).resolves.not.toThrow();
expect(notificationMock.verifySmtp).not.toHaveBeenCalled();
});
it('skips smtp validation when smtp is disabled', async () => {
const oldConfig = { ...configs.smtpEnabled };
const newConfig = { ...configs.smtpDisabled };