1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00
joplin/packages/lib/utils/webDAVUtils.test.ts
2023-05-29 13:27:07 +01:00

44 lines
2.1 KiB
TypeScript

import checkProviderIsSupported from './webDAVUtils';
import Setting from '../models/Setting';
describe('checkProviderIsSupported', () => {
describe('when no unsupported provider is already configured', () => {
beforeAll(() => {
Setting.setValue('sync.allowUnsupportedProviders', 0);
});
it('should not throw when no provider path is provided ', () => {
expect(() => checkProviderIsSupported('')).not.toThrow();
});
it('should not throw when a valid provider path is provided', () => {
expect(() => checkProviderIsSupported('https://good-webdav-provider.com')).not.toThrow();
});
it('should not throw when a valid provider path with a name that contains an unsupported provider is provided', () => {
expect(() => checkProviderIsSupported('https://hopcloudabc.com')).not.toThrow();
});
it('should throw an error with the name of the provider when an unsupported provider path is provided', () => {
expect(() => checkProviderIsSupported('https://pcloud.com')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
expect(() => checkProviderIsSupported('https://api.pcloud.com')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
// expect(() => checkProviderIsSupported('https://api-pcloud-test.com')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
});
// expect(() => checkProviderIsSupported('?param=pcloud')).toThrowError('The WebDAV implementation of pcloud is incompatible with Joplin, and as such is no longer supported. Please use a different sync method.');
});
describe('when an unsupported provider is already configured', () => {
beforeAll(() => {
Setting.setValue('sync.allowUnsupportedProviders', 1);
});
it('should not throw when an unsupported provider is already configured', () => {
expect(() => checkProviderIsSupported('pcloud')).not.toThrow();
});
});
});