文件
mynode/packages/lib/components/shared/config/shouldShowMissingPasswordWarning.test.ts
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

43 行
1.4 KiB
TypeScript

import SyncTargetRegistry from '../../../SyncTargetRegistry';
import shouldShowMissingPasswordWarning from './shouldShowMissingPasswordWarning';
// Maps targets to whether each target requires a password.
// A subset of all sync targets.
const targetToRequiresPassword: Record<string, boolean> = {
'nextcloud': true,
'webdav': true,
'amazon_s3': true,
'joplinServer': true,
'joplinCloud': false,
'onedrive': false,
'dropbox': false,
};
describe('shouldShowMissingPasswordWarning', () => {
it('should return true when sync target requires a password and the password is missing', () => {
for (const targetName in targetToRequiresPassword) {
const targetId = SyncTargetRegistry.nameToId(targetName);
const expected = targetToRequiresPassword[targetName];
expect(shouldShowMissingPasswordWarning(targetId, {})).toBe(expected);
// Should also consider an empty string to be missing
const settings = {
[`sync.${targetId}.password`]: '',
};
expect(shouldShowMissingPasswordWarning(targetId, settings)).toBe(expected);
}
});
it('should return false when a password is present', () => {
for (const targetName in targetToRequiresPassword) {
const targetId = SyncTargetRegistry.nameToId(targetName);
const settings = {
[`sync.${targetId}.password`]: 'some nonempty',
};
expect(shouldShowMissingPasswordWarning(targetId, settings)).toBe(false);
}
});
});